VR-Forces 4.3.1 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) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: commModel.h,v $ $Revision: 1.6 $ $State: Exp $
7 *******************************************************************************/
8 
11 
13 
14 #ifndef commModel_h
15 #define commModel_h
16 
18 #include "tdbutil/stringKeyFactory.h"
19 #include <map>
20 #include <vlpi/entityIdentifier.h>
21 
22 class DtSimManager;
23 class DtCommModel;
25 class DtVrfRadio;
26 class DtVrfObjectMessage;
27 class DtVrfObject;
28 
31 {
34 };
35 
37 typedef DtStringKeyFactoryWithParam<DtCommModel, DtCommModelCreationParams&> DtCommModelFactory;
38 
41 typedef DtCommModelFactory::DtCreatorFcn DtCommModelCreatorFcn;
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* findRadioByObjectName(const DtString& objectName, int radioId) const;
116 
118  virtual DtVrfRadio* findRadio(const DtEntityIdentifier& entityId, int radioId) const;
119 
125  virtual void deliverMessageToRecipients(const DtVrfObjectMessage* message);
126 
129  virtual bool addressMatchesObject(const DtString& addressText, bool addressIsEchelonId,
130  const DtVrfObject* object);
131 
132 protected:
134 
137 
138  typedef std::multimap<DtEntityIdentifier, DtVrfRadio*> DtRadioMap;
140 };
141 
142 #endif

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)