VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwRadioState.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
8 #include <makRadio/export.h>
10 
11 #include <readerWriter/rwString.h>
12 #include <readerWriter/rwInt.h>
13 #include <readerWriter/rwReal.h>
14 #include <readerWriter/rwBoolean.h>
16 
17 #include <vlpi/entityType.h>
18 #include <vlpi/entityIdentifier.h>
19 #include <vrfutil/rwUUID.h>
20 #include <matrix/vlVector.h>
21 #include <boost/signals2.hpp>
22 #include <vector>
23 #include <string>
24 
25 namespace makRadio
26 {
27  class DtRadio;
28 
31  {
32  public:
33  DtRwRadioChannel(const DtString& name = "channel", DtReaderWriterRegistry* parentRegistry = 0);
35  virtual ~DtRwRadioChannel();
36 
37  DtRwRadioChannel& operator=(const DtRwRadioChannel&);
38 
42  virtual const char* readerWriterType() const;
43 
45  static const char* theXmlType();
46 
47  virtual const char* xmlType() const
48  {
49  return theXmlType();
50  }
51 
52  virtual void setChannelName(const std::string& channelName);
53  virtual std::string channelName() const;
54 
55  virtual void setFrequencyMHz(const double& frequencyMHz);
56  virtual void setFrequencyHz(const double& frequencyHz);
57  virtual const double frequencyMHz() const;
58  virtual const double frequencyHz() const;
59 
60  protected:
63  };
64 
67  {
68  public:
69  DtRwModulationType(const DtString& name = "modulationType", DtReaderWriterRegistry* parentRegistry = 0);
71  virtual ~DtRwModulationType();
72 
73  DtRwModulationType& operator=(const DtRwModulationType&);
74  bool operator==(const DtRwModulationType& rhs) const;
75  bool operator!=(const DtRwModulationType& rhs) const;
76 
80  virtual const char* readerWriterType() const;
81 
83  static const char* theXmlType();
84 
85  virtual const char* xmlType() const
86  {
87  return theXmlType();
88  }
89 
93  };
94 
97  {
98  public:
99  DtRwRadioState(const DtString& name = "radio", DtReaderWriterRegistry* parentRegistry = 0);
100  DtRwRadioState(const DtRwRadioState& state);
101  virtual ~DtRwRadioState();
102 
103  DtRwRadioState& operator=(const DtRwRadioState& orig);
104 
105  virtual void setRadio(DtRadio* radio);
106 
107  virtual const DtEntityIdentifier& vrlinkEntityId() const;
108  virtual void setVrlinkEntityId(const DtEntityIdentifier& val);
109 
110  virtual const DtUUID& entityId() const;
111  virtual void setEntityId(const DtUUID& val);
112  boost::signals2::signal<void(DtRadio*, DtUUID)> signal_entityIdChanged;
113 
114  virtual unsigned short radioId() const;
115  virtual void setRadioId(unsigned short val);
116  boost::signals2::signal<void(DtRadio*, unsigned short)> signal_radioIdChanged;
117 
118  virtual const DtEntityType& radioEntityType() const;
119  virtual void setRadioEntityType(const DtEntityType& val);
120  boost::signals2::signal<void(DtRadio*, DtEntityType)> signal_radioEntityTypeChanged;
121 
122  virtual bool isPowered() const;
123  virtual void setIsPowered(bool val);
124  boost::signals2::signal<void(DtRadio*, bool)> signal_isPoweredChanged;
125 
126  virtual bool isTransmitting() const;
127  virtual void setIsTransmitting(bool val);
128  boost::signals2::signal<void(DtRadio*, bool)> signal_isTransmittingChanged;
129 
131  virtual TransmitState transmitState() const;
132 
133  virtual InputSource inputSource() const;
134  virtual void setInputSource(InputSource val);
135  boost::signals2::signal<void(DtRadio*, InputSource)> signal_inputSourceChanged;
136 
137  virtual DtVector worldAntennaLocation() const;
138  virtual void setWorldAntennaLocation(DtVector val);
139  boost::signals2::signal<void(DtRadio*, DtVector)> signal_worldAntennaLocationChanged;
140 
141  virtual DtVector32 relativeAntennaLocation() const;
142  virtual void setRelativeAntennaLocation(DtVector32 val);
143  boost::signals2::signal<void(DtRadio*, DtVector32)> signal_relativeAntennaLocationChanged;
144 
145  virtual AntennaPatternType antennaPatternType() const;
146  virtual void setAntennaPatternType(AntennaPatternType val);
147  boost::signals2::signal<void(DtRadio*, AntennaPatternType)> signal_antennaPatternTypeChanged;
148 
149  virtual double frequency() const;
150  virtual void setFrequency(double val);
151  boost::signals2::signal<void(DtRadio*, double)> signal_frequencyChanged;
152 
153  virtual float transmitBandwidth() const;
154  virtual void setTransmitBandwidth(float val);
155  boost::signals2::signal<void(DtRadio*, float)> signal_transmitBandwidthChanged;
156 
158  virtual float power() const;
159  virtual void setPower(float val);
160  boost::signals2::signal<void(DtRadio*, float)> signal_powerChanged;
161 
162  virtual const DtRwModulationType& modulationType() const;
163  virtual void setModulationType(DtRwModulationType val);
164  boost::signals2::signal<void(DtRadio*, DtRwModulationType)> signal_modulationTypeChanged;
165 
166  virtual CryptoMode cryptoMode() const;
167  virtual void setCryptoMode(CryptoMode val);
168  boost::signals2::signal<void(DtRadio*, CryptoMode)> signal_cryptoModeChanged;
169 
170  virtual CryptoSystem cryptoSystem() const;
171  virtual void setCryptoSystem(CryptoSystem val);
172  boost::signals2::signal<void(DtRadio*, CryptoSystem)> signal_cryptoSystemChanged;
173 
174  virtual unsigned short cryptoKey() const;
175  virtual void setCryptoKey(unsigned short val);
176  boost::signals2::signal<void(DtRadio*, unsigned short)> signal_cryptoKeyChanged;
177 
178  virtual const std::vector<unsigned char>& modulationParameters() const;
179  virtual void setModulationParameters(const std::vector<unsigned char>& val);
180  boost::signals2::signal<void(DtRadio*, const std::vector<unsigned char>&)> signal_modulationParametersChanged;
181 
182  virtual const std::vector<unsigned char>& antennaPatternParameters() const;
183  virtual void setAntennaPatternParameters(const std::vector<unsigned char>& val);
184  boost::signals2::signal<void(DtRadio*, const std::vector<unsigned char>&)> signal_antennaPatternParametersChanged;
185 
186  virtual bool freqHopInUse() const;
187  virtual void setFreqHopInUse(bool val);
188  boost::signals2::signal<void(DtRadio*, bool)> signal_freqHopInUseChanged;
189 
190  virtual bool pseudoNoiseInUse() const;
191  virtual void setPseudoNoiseInUse(bool val);
192  boost::signals2::signal<void(DtRadio*, bool)> signal_pseudoNoiseInUseChanged;
193 
194  virtual bool timeHopInUse() const;
195  virtual void setTimeHopInUse(bool val);
196  boost::signals2::signal<void(DtRadio*, bool)> signal_timeHopInUseChanged;
197 
199  virtual std::string radioName() const;
200  virtual void setRadioName(const std::string& val);
201  boost::signals2::signal<void(DtRadio*, const std::string&)> signal_nameChanged;
202 
204  virtual RadioType radioType() const;
205  virtual void setRadioType(RadioType val);
206  boost::signals2::signal<void(DtRadio*, RadioType)> signal_radioTypeChanged;
207 
210  virtual Duplex duplex() const;
211  virtual void setDuplex(Duplex val);
212  boost::signals2::signal<void(DtRadio*, Duplex)> signal_duplexChanged;
213 
214  virtual bool canHearSelf() const;
215  virtual void setCanHearSelf(bool val);
216  boost::signals2::signal<void(DtRadio*, bool)> signal_canHearSelfChanged;
217 
219  virtual float receiveLevel() const;
220  virtual void setReceiveLevel(float val);
221 
223  virtual float transmitLevel() const;
224  virtual void setTransmitLevel(float val);
225 
227  virtual float volume() const;
228  virtual void setVolume(float val);
229  boost::signals2::signal<void(DtRadio*, float)> signal_volumeChanged;
230 
232  virtual bool micMuted() const;
233  virtual void setMicMuted(bool val);
234  boost::signals2::signal<void(DtRadio*, bool)> signal_micMutedChanged;
235 
237  virtual bool speakerMuted() const;
238  virtual void setSpeakerMuted(bool val);
239  boost::signals2::signal<void(DtRadio*, bool)> signal_speakerMutedChanged;
240 
244  virtual bool useVox() const;
245  virtual void setUseVox(bool val);
246  boost::signals2::signal<void(DtRadio*, bool)> signal_useVoxChanged;
247 
248  virtual float voxThreshold() const;
249  virtual void setVoxThreshold(float val);
250  boost::signals2::signal<void(DtRadio*, float)> signal_voxThresholdChanged;
251 
254  virtual bool useMultiSource() const;
255  virtual void setUseMultiSource(bool val);
256  boost::signals2::signal<void(DtRadio*, bool)> signal_useMultiSourceChanged;
257 
259  virtual int numChannels() const;
260 
262  virtual void addChannel(DtRwRadioChannel& channel);
263 
265  virtual void removeChannel(int index);
266 
268  virtual void removeAllChannels();
269 
271  virtual DtRwRadioChannel* findChannel(int index);
272 
274  virtual int currentChannel() const;
275  virtual void setCurrentChannel(int index);
276  boost::signals2::signal<void(DtRadio*, int)> signal_currentChannelChanged;
277 
281  virtual const char* readerWriterType() const;
282 
284  static const char* theXmlType();
285 
286  virtual const char* xmlType() const
287  {
288  return theXmlType();
289  }
290 
291  protected:
292  DtEntityIdentifier myVrlinkEntityId;
294  unsigned short myRadioId;
295  DtEntityType myRadioEntityType;
297  float myTxLevel;
298  float myRxLevel;
301  std::vector<unsigned char> myModulationParameters;
302  std::vector<unsigned char> myAntennaPatternParameters;
303 
329 
331  };
332 }
DtRwInt myCryptoMode
Definition: rwRadioState.h:321
boost::signals2::signal< void(DtRadio *, bool)> signal_useVoxChanged
Definition: rwRadioState.h:246
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwBoolean myCanHearSelf
Definition: rwRadioState.h:307
boost::signals2::signal< void(DtRadio *, CryptoMode)> signal_cryptoModeChanged
Definition: rwRadioState.h:168
boost::signals2::signal< void(DtRadio *, const std::string &)> signal_nameChanged
Definition: rwRadioState.h:201
boost::signals2::signal< void(DtRadio *, bool)> signal_isTransmittingChanged
Definition: rwRadioState.h:128
DtRwInt myMajor
Definition: rwRadioState.h:90
CryptoSystem
Definition: radioStateTypes.h:18
DtRwTemplatedListPtr< DtRwRadioChannel, true > myChannels
Definition: rwRadioState.h:328
DtRwReal myVoxThreshold
Definition: rwRadioState.h:312
DtRwBoolean myUseVox
Definition: rwRadioState.h:311
DtRwInt myRadioType
Definition: rwRadioState.h:305
float myTxLevel
Definition: rwRadioState.h:297
boost::signals2::signal< void(DtRadio *, CryptoSystem)> signal_cryptoSystemChanged
Definition: rwRadioState.h:172
boost::signals2::signal< void(DtRadio *, double)> signal_frequencyChanged
Definition: rwRadioState.h:151
DtRwBoolean myFreqHopInUse
Definition: rwRadioState.h:324
Initializer for a Modulation parameters reader/writer.
Definition: rwRadioState.h:66
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
virtual const char * xmlType() const
Definition: rwRadioState.h:286
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
std::vector< unsigned char > myAntennaPatternParameters
Definition: rwRadioState.h:302
Definition: radio.h:35
TransmitState
Definition: radioStateTypes.h:34
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
boost::signals2::signal< void(DtRadio *, DtVector)> signal_worldAntennaLocationChanged
Definition: rwRadioState.h:139
DtRwBoolean myTimeHopInUse
Definition: rwRadioState.h:326
InputSource
Definition: radioStateTypes.h:20
DtRwInt myAntennaPatternType
Definition: rwRadioState.h:316
DtRwReal myFrequency
Definition: rwRadioState.h:317
RadioType
Definition: radioStateTypes.h:30
boost::signals2::signal< void(DtRadio *, bool)> signal_canHearSelfChanged
Definition: rwRadioState.h:216
virtual const char * xmlType() const
Definition: rwRadioState.h:85
DtRwBoolean myIsSpeakerMuted
Definition: rwRadioState.h:310
boost::signals2::signal< void(DtRadio *, float)> signal_powerChanged
Definition: rwRadioState.h:160
DtRwString myChannelName
Definition: rwRadioState.h:61
#define DT_DLL_MAKRADIO
Get proper local export symbol.
Definition: export.h:17
boost::signals2::signal< void(DtRadio *, bool)> signal_useMultiSourceChanged
Definition: rwRadioState.h:256
DtUUID myEntityId
Definition: rwRadioState.h:293
CryptoMode
Definition: radioStateTypes.h:17
DtRwBoolean myIsPowered
Definition: rwRadioState.h:314
boost::signals2::signal< void(DtRadio *, DtEntityType)> signal_radioEntityTypeChanged
Definition: rwRadioState.h:120
boost::signals2::signal< void(DtRadio *, bool)> signal_speakerMutedChanged
Definition: rwRadioState.h:239
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwInt myCryptoKey
Definition: rwRadioState.h:323
boost::signals2::signal< void(DtRadio *, bool)> signal_timeHopInUseChanged
Definition: rwRadioState.h:196
DtRwBoolean myMultiSource
Definition: rwRadioState.h:313
DtRwReal myPower
Definition: rwRadioState.h:319
boost::signals2::signal< void(DtRadio *, bool)> signal_freqHopInUseChanged
Definition: rwRadioState.h:188
DtVector myWorldAntennaLocation
Definition: rwRadioState.h:299
boost::signals2::signal< void(DtRadio *, AntennaPatternType)> signal_antennaPatternTypeChanged
Definition: rwRadioState.h:147
Initializer for a radio state reader/writer.
Definition: rwRadioState.h:96
DtRwBoolean myPseudoNoiseInUse
Definition: rwRadioState.h:325
unsigned short myRadioId
Definition: rwRadioState.h:294
DtRwInt myCurrentChannel
Definition: rwRadioState.h:327
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
std::vector< unsigned char > myModulationParameters
Definition: rwRadioState.h:301
boost::signals2::signal< void(DtRadio *, int)> signal_currentChannelChanged
Definition: rwRadioState.h:276
boost::signals2::signal< void(DtRadio *, bool)> signal_micMutedChanged
Definition: rwRadioState.h:234
boost::signals2::signal< void(DtRadio *, Duplex)> signal_duplexChanged
Definition: rwRadioState.h:212
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
float myRxLevel
Definition: rwRadioState.h:298
boost::signals2::signal< void(DtRadio *, float)> signal_voxThresholdChanged
Definition: rwRadioState.h:250
DtRwReal myFrequency
Definition: rwRadioState.h:62
Definition: rwTemplatedList.h:34
Duplex
Definition: radioStateTypes.h:19
DtVector32 myRelativeAntennaLocation
Definition: rwRadioState.h:300
DtRwString myRadioName
Definition: rwRadioState.h:304
Initializer for a channel reader / writer.
Definition: rwRadioState.h:30
DtRwBoolean myIsMicMuted
Definition: rwRadioState.h:309
boost::signals2::signal< void(DtRadio *, bool)> signal_isPoweredChanged
Definition: rwRadioState.h:124
DtRwInt myInputSource
Definition: rwRadioState.h:315
boost::signals2::signal< void(DtRadio *, DtRwModulationType)> signal_modulationTypeChanged
Definition: rwRadioState.h:164
bool myIsTransmitting
Definition: rwRadioState.h:296
DtEntityIdentifier myVrlinkEntityId
Definition: rwRadioState.h:292
DtRwInt myDuplex
Definition: rwRadioState.h:306
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
boost::signals2::signal< void(DtRadio *, float)> signal_transmitBandwidthChanged
Definition: rwRadioState.h:155
DtRwInt mySystem
Definition: rwRadioState.h:92
AntennaPatternType
Definition: radioStateTypes.h:15
boost::signals2::signal< void(DtRadio *, bool)> signal_pseudoNoiseInUseChanged
Definition: rwRadioState.h:192
DtRadio * myRadio
Definition: rwRadioState.h:330
DtRwModulationType myModulationType
Definition: rwRadioState.h:320
DtEntityType myRadioEntityType
Definition: rwRadioState.h:295
DtRwReal myVolume
Definition: rwRadioState.h:308
boost::signals2::signal< void(DtRadio *, DtVector32)> signal_relativeAntennaLocationChanged
Definition: rwRadioState.h:143
boost::signals2::signal< void(DtRadio *, RadioType)> signal_radioTypeChanged
Definition: rwRadioState.h:206
DtRwReal myTransmitBandwidth
Definition: rwRadioState.h:318
boost::signals2::signal< void(DtRadio *, float)> signal_volumeChanged
Definition: rwRadioState.h:229
boost::signals2::signal< void(DtRadio *, unsigned short)> signal_radioIdChanged
Definition: rwRadioState.h:116
boost::signals2::signal< void(DtRadio *, unsigned short)> signal_cryptoKeyChanged
Definition: rwRadioState.h:176
DtRwInt myDetail
Definition: rwRadioState.h:91
virtual const char * xmlType() const
Definition: rwRadioState.h:47
boost::signals2::signal< void(DtRadio *, DtUUID)> signal_entityIdChanged
Definition: rwRadioState.h:112
boost::signals2::signal< void(DtRadio *, InputSource)> signal_inputSourceChanged
Definition: rwRadioState.h:135
DtRwInt myCryptoSystem
Definition: rwRadioState.h:322

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)