VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfRadio.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
17 #include <deque>
18 
19 class DtLocalObject;
20 class DtVrfRadio;
23 class DtCommModel;
25 class DtSettingsObject;
26 
29 {
32 };
33 
36 
42 {
43 private:
45 
46  DtVrfRadio();
47  DtVrfRadio(const DtVrfRadio& orig);
48  DtVrfRadio& operator=(const DtVrfRadio& orig);
50 
51 public:
53  virtual ~DtVrfRadio();
54 
56  virtual bool init();
57 
60  virtual DtString type() const;
61 
65  virtual bool sendMessage(DtVrfObjectMessage* message);
66 
69 
70  virtual void addMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
71  virtual void removeMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
73 
74  template<typename messageType>
75  void addMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
76  {
77  myMessageExecutive.addMessageCallback(type, fcn, usr);
78  }
79 
80  template<typename messageType>
81  void removeMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
82  {
83  myMessageExecutive.addMessageCallback(type, fcn, usr);
84  }
85 
91  virtual bool readyToSend() const;
92 
95  virtual void tick();
96 
100  virtual void receiveMessage(const DtVrfObjectMessage* message);
101 
104  virtual void setReadyToSend(bool val);
105 
107  virtual DtLocalObject* vrfObject();
108 
111  virtual double sampleRate() const;
112 
117 
118  virtual const DtVrfRadioTransmitter* radioTransmitter() const;
119  virtual DtVrfRadioTransmitter* radioTransmitter();
121 
123  static DtVrfRadio* create(DtRadioCreationParams& params);
124 
126  static void setFactory(DtVrfRadioFactory* factory);
128  static DtVrfRadio* createRadio(const DtString& typeString, DtLocalObject* vrfObject,
129  const DtVrfRadioDescriptor* descriptor);
130 
140  static void readCommModelSettingsCallback(
141  const DtSettingsObject* settings, void* usr);
142  virtual void processReadCommModelSettings(const DtSettingsObject* settings);
143 
145  virtual int radioId() const;
146 
147 protected:
149 
157  typedef std::deque<DtVrfObjectMessagePtr> DtMessageQueue;
159 };
Definition: stringKeyFactory.h:80
DtStringKeyFactoryWithParam< DtVrfRadio, DtRadioCreationParams & > DtVrfRadioFactory
Factory for creating DtRadio subclasses.
Definition: vrfRadio.h:35
void addMessageCallback(const messageType &type, DtVrfObjectMessageCallbackFcn fcn, void *usr)
Definition: vrfRadio.h:75
Definition: vrfRadioTransmitter.h:25
DtLocalObject * vrfObject
Definition: vrfRadio.h:30
Base class for all communication models in VR-Forces. A DtCommModel is the central point for modeling...
Definition: commModel.h:58
DtVrfRadioTransmitter * myRadioTransmitter
Definition: vrfRadio.h:155
const DtVrfRadioDescriptor * radioDescriptor
Definition: vrfRadio.h:31
Definition: settingsObject.h:27
std::deque< DtVrfObjectMessagePtr > DtMessageQueue
Definition: vrfRadio.h:157
Callback manager for DtVrfObjectMessage receipt. Callbacks can be registered on various attributes of...
Definition: vrfObjectMessageExecutive.h:26
DtMessageQueue myMessageQueuedToSend
Definition: vrfRadio.h:158
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Factory templates DtStringKeyFactory and DtStringKeyFactoryWithParam.
DtVrfObjectMessageExecutive myMessageExecutive
Definition: vrfRadio.h:152
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
DtLocalObject * myVrfObject
Definition: vrfRadio.h:150
bool myReadyToSend
Definition: vrfRadio.h:156
const DtVrfRadioDescriptor & myRadioDescriptor
Definition: vrfRadio.h:151
void(* DtVrfObjectMessageCallbackFcn)(const DtVrfObjectMessage *msg, void *usr)
This class is a convenience object for callback functions on DtVrfObjectMessages particularly those d...
Definition: vrfObjectMessageTypeCallbackMap.h:29
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtCommModel * myCommModel
The radio network which this radio is part of.
Definition: vrfRadio.h:154
void removeMessageCallback(const messageType &type, DtVrfObjectMessageCallbackFcn fcn, void *usr)
Definition: vrfRadio.h:81
Descriptor base class for DtRadio instances. A descriptor tells what type of radio to create as well ...
Definition: vrfRadioDescriptor.h:37
Base class for any radios on VrfObjects. A DtVrfRadio acts as the interface between an entity and a D...
Definition: vrfRadio.h:41
static DtVrfRadioFactory * theFactory
Definition: vrfRadio.h:148
Structure of data passed to the DtRadio constructor.
Definition: vrfRadio.h:28
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)