VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
commModel.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 
14 #include "vrfutil/rwUUID.h"
15 #include <vlpi/entityIdentifier.h>
17 #include <map>
18 
19 class DtSimManager;
20 class DtCommModel;
22 class DtVrfRadio;
23 class DtVrfObjectMessage;
24 class DtVrfObject;
25 
28 {
31 };
32 
35 
39 
41 const int DtRadioIdAny = -1;
42 
58 {
59 private:
61 
62  DtCommModel();
63  DtCommModel(const DtCommModel& orig);
64  DtCommModel& operator=(const DtCommModel& orig);
66 
67 protected:
71  virtual bool init();
72 
73 public:
76  static DtCommModel* create(DtCommModelCreationParams& params);
77 
78  virtual ~DtCommModel();
79 
83  virtual DtString type() const;
84 
88  virtual void registerRadio(DtVrfRadio* radio);
90  virtual void unregisterRadio(DtVrfRadio* radio);
91 
97  virtual void sendMessage(DtVrfObjectMessage* message, DtVrfRadio* sendingRadio);
98 
101  virtual void tick();
102 
104  static void setFactory(DtCommModelFactory* factory);
106  static DtCommModel* createCommModel(const DtString& typeString,
107  DtSimManager* simManager, const DtCommModelDescriptor* descriptor);
108 
111  virtual bool publishTransmitters() const;
112 
113 protected:
115  virtual DtVrfRadio* findRadio(const DtUUID& object, int radioId) const;
116 
118  virtual DtVrfRadio* findRadio(const DtEntityIdentifier& entityId, int radioId) const;
119 
125  virtual void deliverMessageToRecipients(const DtVrfObjectMessage* message);
126 
127 protected:
129 
132 
133  typedef std::multimap<DtUUID, DtVrfRadio*> DtRadioMap;
135 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)