VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 DtVrfObject;
20 class DtVrfRadio;
23 class DtCommModel;
25 class DtSettingsObject;
26 
29 {
33  int radioId;
34 };
35 
38 
44 {
45 private:
47 
48  DtVrfRadio();
49  DtVrfRadio(const DtVrfRadio& orig);
50  DtVrfRadio& operator=(const DtVrfRadio& orig);
52 
53 public:
55  virtual ~DtVrfRadio();
56 
58  virtual bool init();
59 
62  virtual DtString type() const;
63 
67  virtual bool sendMessage(DtVrfObjectMessage* message);
68 
71 
72  virtual void addMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
73  virtual void removeMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
75 
76  template<typename messageType>
77  void addMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
78  {
79  myMessageExecutive.addMessageCallback(type, fcn, usr);
80  }
81 
82  template<typename messageType>
83  void removeMessageCallback(const messageType& type, DtVrfObjectMessageCallbackFcn fcn, void* usr)
84  {
85  myMessageExecutive.addMessageCallback(type, fcn, usr);
86  }
87 
93  virtual bool readyToSend() const;
94 
97  virtual void tick();
98 
102  virtual void receiveMessage(const DtVrfObjectMessage* message);
103 
106  virtual void setReadyToSend(bool val);
107 
109  virtual DtVrfObject* vrfObject();
110 
112  virtual int radioId() const;
113 
116  virtual double sampleRate() const;
117 
122 
123  virtual const DtVrfRadioTransmitter* radioTransmitter() const;
124  virtual DtVrfRadioTransmitter* radioTransmitter();
126 
128  static DtVrfRadio* create(DtRadioCreationParams& params);
129 
131  static void setFactory(DtVrfRadioFactory* factory);
133  static DtVrfRadio* createRadio(const DtString& typeString, DtVrfObject* vrfObject,
134  const DtVrfRadioDescriptor* descriptor, int radioId);
135 
145  static void readCommModelSettingsCallback(
146  const DtSettingsObject* settings, void* usr);
147  virtual void processReadCommModelSettings(const DtSettingsObject* settings);
148 
149 protected:
151 
160  typedef std::deque<DtVrfObjectMessagePtr> DtMessageQueue;
162 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)