VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
externalCommModel.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: externalCommModel.h,v $ $Revision: 1.5 $ $State: Exp $
7 *******************************************************************************/
8 
11 
13 
14 #ifndef externalCommModel_h
15 #define externalCommModel_h
16 
17 #include <vl/globalObjectDesignator.h>
18 #include <map>
19 #include <deque>
20 #include "vrfobjcore/commModel.h"
23 
25 
27 {
28 private:
30 
35 
36 protected:
40  virtual bool init();
41 
42 public:
46 
47  virtual ~DtExternalCommModel();
48 
50  virtual DtString type() const;
51 
54  virtual void registerRadio(DtVrfRadio* radio);
55 
60  virtual void sendMessage(DtVrfObjectMessage* message, DtVrfRadio* sendingRadio);
61 
64  virtual void tick();
65 
66 protected:
67  virtual DtU32 nextMessageId(const DtEntityIdentifier& entityId);
68 
70  virtual void passMessageToReceiver(DtVrfObjectMessageConstPtr, const DtEntityIdentifier& receiver);
71 
72  static void messageClearToReceiveCallback(const DtExternalCommsProcessMessageData& data, void* usr);
73  virtual void processMessageClearToReceive(const DtExternalCommsProcessMessageData& data);
74 
75  static void messageTimeoutCallback(const DtExternalCommsTimeoutData& data, void* usr);
76  virtual void processMessageTimeout(const DtExternalCommsTimeoutData& data);
77 
78  static void newMessageCallback(const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams& params, void* usr);
79  virtual void processNewMessage(const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams& params);
80 
81  static void readyToSendCallback(const DtExternalCommsReadyToSendData& data, void* usr);
82  virtual void processReadyToSend(const DtExternalCommsReadyToSendData& data);
83 
84 protected:
85 
86 
88  {
90  DtEntityIdentifier myReceiver;
91  };
92 
94 
95  typedef std::map<DtU32, DtVrfObjectMessageConstPtr> DtRadioMessageMap;
100 
103  typedef std::deque<DtClearToReceiveData> DtClearToReceiveDeque;
105 
107 
110  typedef std::map<DtU32, DtExternalCommsProcessMessageData> DtExternalCommsMessageDataMap;
112 
115  typedef std::map<DtU32, DtExternalCommsTimeoutData> DtExternalCommsTimeoutMap;
117 };
118 
119 #endif

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)