VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
externalCommModel.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vl/globalObjectDesignator.h>
14 #include <map>
15 #include <deque>
16 #include "vrfobjcore/commModel.h"
19 
21 
23 {
24 private:
26 
31 
32 protected:
36  virtual bool init();
37 
38 public:
42 
43  virtual ~DtExternalCommModel();
44 
46  virtual DtString type() const;
47 
50  virtual void registerRadio(DtVrfRadio* radio);
51 
56  virtual void sendMessage(DtVrfObjectMessage* message, DtVrfRadio* sendingRadio);
57 
60  virtual void tick();
61 
62 protected:
63  virtual DtU32 nextMessageId(const DtEntityIdentifier& entityId);
64 
66  virtual void passMessageToReceiver(DtVrfObjectMessageConstPtr, const DtEntityIdentifier& receiver);
67 
68  static void messageClearToReceiveCallback(const DtExternalCommsProcessMessageData& data, void* usr);
69  virtual void processMessageClearToReceive(const DtExternalCommsProcessMessageData& data);
70 
71  static void messageTimeoutCallback(const DtExternalCommsTimeoutData& data, void* usr);
72  virtual void processMessageTimeout(const DtExternalCommsTimeoutData& data);
73 
74  static void newMessageCallback(const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams& params, void* usr);
75  virtual void processNewMessage(const DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams& params);
76 
77  static void readyToSendCallback(const DtExternalCommsReadyToSendData& data, void* usr);
78  virtual void processReadyToSend(const DtExternalCommsReadyToSendData& data);
79 
80 protected:
81 
82 
84  {
86  DtEntityIdentifier myReceiver;
87  };
88 
90 
91  typedef std::map<DtU32, DtVrfObjectMessageConstPtr> DtRadioMessageMap;
96 
99  typedef std::deque<DtClearToReceiveData> DtClearToReceiveDeque;
101 
103 
106  typedef std::map<DtU32, DtExternalCommsProcessMessageData> DtExternalCommsMessageDataMap;
108 
111  typedef std::map<DtU32, DtExternalCommsTimeoutData> DtExternalCommsTimeoutMap;
113 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)