VR-Forces 4.1.1 Class Documentation
vrfObjectCommunicationInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
11 
12 #include "vrfmsgs/msgExec.h"
15 #include <list>
16 
17 class DtVrfObject;
18 class DtSimMessage;
21 class DtVrfRadio;
23 
38 {
39 private:
46 
47 public:
54  static DtVrfObjectCommunicationInterface* create(DtVrfObject* vrfObject);
55 
56 protected:
60  virtual bool init();
61 
62 public:
66  virtual void createRadiosFromDescriptorList();
69  virtual void createRadiosFromDescriptorList(const DtRadioDescriptorList& descList);
70 
75  virtual void sendSimInternalMessage(DtVrfObjectMessage* message);
76 
82 
83 
84  virtual bool sendRadioMessage(const DtString& radioName, DtVrfObjectMessage* message);
88  virtual bool sendRadioMessage(int radioId, DtVrfObjectMessage* message);
91  virtual bool sendRadioMessage(DtVrfObjectMessage* message);
93 
97  virtual DtVrfRadio* lookupRadio(int radioId);
100  virtual DtVrfRadio* lookupRadio(const DtString& radioName);
103  virtual DtVrfRadio* defaultRadio();
104 
109  DtSimInternalCommunicationInterface* simInternalCommunicationInterface();
110 
114 
115  virtual void addMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
116  virtual void removeMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
118 
122 
123  template<typename messageType>
124  void addMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
125  {
126  myMessageExecutive.addMessageCallback(type, fcn, usr);
127  }
128 
129  template<typename messageType>
130  void removeMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
131  {
132  myMessageExecutive.removeMessageCallback(type, fcn, usr);
133  }
135 
136 
142 
143  virtual void addMessageCallbackByCategory(int category, DtVrfObjectMessageCallbackFcn fcn, void* usr);
144  virtual void removeMessageCallbackByCategory(int category, DtVrfObjectMessageCallbackFcn fcn, void* usr);
146 
149  virtual void tick();
150 
151 protected:
152 
155 
156  static void vrfObjectMessageCallback(const DtVrfObjectMessage* msg, void* usr);
157  virtual void processVrfObjectMessage(const DtVrfObjectMessage* msg);
159 
160 protected:
164 
165  typedef std::map<DtSymbolString, DtVrfRadio*> DtRadioMap;
168 };
169 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)