VR-Forces 4.8 Class Documentation
 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 <matrix/vlVector.h>
20 #include <boost/signals2.hpp>
21 #include <vector>
22 #include <string>
23 
24 namespace makRadio
25 {
26  class DtRadio;
27 
30  {
31  public:
32  DtRwRadioChannel(const DtString& name = "channel", DtReaderWriterRegistry* parentRegistry = 0);
34  virtual ~DtRwRadioChannel();
35 
36  DtRwRadioChannel& operator=(const DtRwRadioChannel&);
37 
41  virtual const char* readerWriterType() const;
42 
44  static const char* theXmlType();
45 
46  virtual const char* xmlType() const
47  {
48  return theXmlType();
49  }
50 
51  virtual void setChannelName(const std::string& channelName);
52  virtual std::string channelName() const;
53 
54  virtual void setFrequencyMHz(const double& frequencyMHz);
55  virtual void setFrequencyHz(const double& frequencyHz);
56  virtual const double frequencyMHz() const;
57  virtual const double frequencyHz() const;
58 
59  protected:
62  };
63 
66  {
67  public:
68  DtRwModulationType(const DtString& name = "modulationType", DtReaderWriterRegistry* parentRegistry = 0);
70  virtual ~DtRwModulationType();
71 
72  DtRwModulationType& operator=(const DtRwModulationType&);
73  bool operator==(const DtRwModulationType& rhs) const;
74  bool operator!=(const DtRwModulationType& rhs) const;
75 
79  virtual const char* readerWriterType() const;
80 
82  static const char* theXmlType();
83 
84  virtual const char* xmlType() const
85  {
86  return theXmlType();
87  }
88 
92  };
93 
96  {
97  public:
98  DtRwRadioState(const DtString& name = "radio", DtReaderWriterRegistry* parentRegistry = 0);
99  DtRwRadioState(const DtRwRadioState& state);
100  virtual ~DtRwRadioState();
101 
102  DtRwRadioState& operator=(const DtRwRadioState& orig);
103 
104  virtual void setRadio(DtRadio* radio);
105 
106  virtual DtEntityIdentifier entityId() const;
107  virtual void setEntityId(DtEntityIdentifier val);
108  boost::signals2::signal<void(DtRadio*, DtEntityIdentifier)> signal_entityIdChanged;
109 
110  virtual unsigned short radioId() const;
111  virtual void setRadioId(unsigned short val);
112  boost::signals2::signal<void(DtRadio*, unsigned short)> signal_radioIdChanged;
113 
114  virtual DtEntityType radioEntityType() const;
115  virtual void setRadioEntityType(DtEntityType val);
116  boost::signals2::signal<void(DtRadio*, DtEntityType)> signal_radioEntityTypeChanged;
117 
118  virtual bool isPowered() const;
119  virtual void setIsPowered(bool val);
120  boost::signals2::signal<void(DtRadio*, bool)> signal_isPoweredChanged;
121 
122  virtual bool isTransmitting() const;
123  virtual void setIsTransmitting(bool val);
124  boost::signals2::signal<void(DtRadio*, bool)> signal_isTransmittingChanged;
125 
127  virtual TransmitState transmitState() const;
128 
129  virtual InputSource inputSource() const;
130  virtual void setInputSource(InputSource val);
131  boost::signals2::signal<void(DtRadio*, InputSource)> signal_inputSourceChanged;
132 
133  virtual DtVector worldAntennaLocation() const;
134  virtual void setWorldAntennaLocation(DtVector val);
135  boost::signals2::signal<void(DtRadio*, DtVector)> signal_worldAntennaLocationChanged;
136 
137  virtual DtVector32 relativeAntennaLocation() const;
138  virtual void setRelativeAntennaLocation(DtVector32 val);
139  boost::signals2::signal<void(DtRadio*, DtVector32)> signal_relativeAntennaLocationChanged;
140 
141  virtual AntennaPatternType antennaPatternType() const;
142  virtual void setAntennaPatternType(AntennaPatternType val);
143  boost::signals2::signal<void(DtRadio*, AntennaPatternType)> signal_antennaPatternTypeChanged;
144 
145  virtual double frequency() const;
146  virtual void setFrequency(double val);
147  boost::signals2::signal<void(DtRadio*, double)> signal_frequencyChanged;
148 
149  virtual float transmitBandwidth() const;
150  virtual void setTransmitBandwidth(float val);
151  boost::signals2::signal<void(DtRadio*, float)> signal_transmitBandwidthChanged;
152 
154  virtual float power() const;
155  virtual void setPower(float val);
156  boost::signals2::signal<void(DtRadio*, float)> signal_powerChanged;
157 
158  virtual const DtRwModulationType& modulationType() const;
159  virtual void setModulationType(DtRwModulationType val);
160  boost::signals2::signal<void(DtRadio*, DtRwModulationType)> signal_modulationTypeChanged;
161 
162  virtual CryptoMode cryptoMode() const;
163  virtual void setCryptoMode(CryptoMode val);
164  boost::signals2::signal<void(DtRadio*, CryptoMode)> signal_cryptoModeChanged;
165 
166  virtual CryptoSystem cryptoSystem() const;
167  virtual void setCryptoSystem(CryptoSystem val);
168  boost::signals2::signal<void(DtRadio*, CryptoSystem)> signal_cryptoSystemChanged;
169 
170  virtual unsigned short cryptoKey() const;
171  virtual void setCryptoKey(unsigned short val);
172  boost::signals2::signal<void(DtRadio*, unsigned short)> signal_cryptoKeyChanged;
173 
174  virtual const std::vector<unsigned char>& modulationParameters() const;
175  virtual void setModulationParameters(const std::vector<unsigned char>& val);
176  boost::signals2::signal<void(DtRadio*, const std::vector<unsigned char>&)> signal_modulationParametersChanged;
177 
178  virtual const std::vector<unsigned char>& antennaPatternParameters() const;
179  virtual void setAntennaPatternParameters(const std::vector<unsigned char>& val);
180  boost::signals2::signal<void(DtRadio*, const std::vector<unsigned char>&)> signal_antennaPatternParametersChanged;
181 
182  virtual bool freqHopInUse() const;
183  virtual void setFreqHopInUse(bool val);
184  boost::signals2::signal<void(DtRadio*, bool)> signal_freqHopInUseChanged;
185 
186  virtual bool pseudoNoiseInUse() const;
187  virtual void setPseudoNoiseInUse(bool val);
188  boost::signals2::signal<void(DtRadio*, bool)> signal_pseudoNoiseInUseChanged;
189 
190  virtual bool timeHopInUse() const;
191  virtual void setTimeHopInUse(bool val);
192  boost::signals2::signal<void(DtRadio*, bool)> signal_timeHopInUseChanged;
193 
195  virtual std::string radioName() const;
196  virtual void setRadioName(const std::string& val);
197  boost::signals2::signal<void(DtRadio*, const std::string&)> signal_nameChanged;
198 
200  virtual RadioType radioType() const;
201  virtual void setRadioType(RadioType val);
202  boost::signals2::signal<void(DtRadio*, RadioType)> signal_radioTypeChanged;
203 
206  virtual Duplex duplex() const;
207  virtual void setDuplex(Duplex val);
208  boost::signals2::signal<void(DtRadio*, Duplex)> signal_duplexChanged;
209 
210  virtual bool canHearSelf() const;
211  virtual void setCanHearSelf(bool val);
212  boost::signals2::signal<void(DtRadio*, bool)> signal_canHearSelfChanged;
213 
215  virtual float receiveLevel() const;
216  virtual void setReceiveLevel(float val);
217 
219  virtual float transmitLevel() const;
220  virtual void setTransmitLevel(float val);
221 
223  virtual float volume() const;
224  virtual void setVolume(float val);
225  boost::signals2::signal<void(DtRadio*, float)> signal_volumeChanged;
226 
228  virtual bool micMuted() const;
229  virtual void setMicMuted(bool val);
230  boost::signals2::signal<void(DtRadio*, bool)> signal_micMutedChanged;
231 
233  virtual bool speakerMuted() const;
234  virtual void setSpeakerMuted(bool val);
235  boost::signals2::signal<void(DtRadio*, bool)> signal_speakerMutedChanged;
236 
240  virtual bool useVox() const;
241  virtual void setUseVox(bool val);
242  boost::signals2::signal<void(DtRadio*, bool)> signal_useVoxChanged;
243 
244  virtual float voxThreshold() const;
245  virtual void setVoxThreshold(float val);
246  boost::signals2::signal<void(DtRadio*, float)> signal_voxThresholdChanged;
247 
250  virtual bool useMultiSource() const;
251  virtual void setUseMultiSource(bool val);
252  boost::signals2::signal<void(DtRadio*, bool)> signal_useMultiSourceChanged;
253 
255  virtual int numChannels() const;
256 
258  virtual void addChannel(DtRwRadioChannel& channel);
259 
261  virtual void removeChannel(int index);
262 
264  virtual void removeAllChannels();
265 
267  virtual DtRwRadioChannel* findChannel(int index);
268 
270  virtual int currentChannel() const;
271  virtual void setCurrentChannel(int index);
272  boost::signals2::signal<void(DtRadio*, int)> signal_currentChannelChanged;
273 
277  virtual const char* readerWriterType() const;
278 
280  static const char* theXmlType();
281 
282  virtual const char* xmlType() const
283  {
284  return theXmlType();
285  }
286 
287  protected:
288  DtEntityIdentifier myEntityId;
289  unsigned short myRadioId;
290  DtEntityType myRadioEntityType;
292  float myTxLevel;
293  float myRxLevel;
296  std::vector<unsigned char> myModulationParameters;
297  std::vector<unsigned char> myAntennaPatternParameters;
298 
324 
326  };
327 }
DtRwInt myCryptoMode
Definition: rwRadioState.h:316
boost::signals2::signal< void(DtRadio *, bool)> signal_useVoxChanged
Definition: rwRadioState.h:242
DtRwBoolean myCanHearSelf
Definition: rwRadioState.h:302
boost::signals2::signal< void(DtRadio *, CryptoMode)> signal_cryptoModeChanged
Definition: rwRadioState.h:164
boost::signals2::signal< void(DtRadio *, const std::string &)> signal_nameChanged
Definition: rwRadioState.h:197
boost::signals2::signal< void(DtRadio *, bool)> signal_isTransmittingChanged
Definition: rwRadioState.h:124
DtRwInt myMajor
Definition: rwRadioState.h:89
CryptoSystem
Definition: radioStateTypes.h:18
DtRwTemplatedListPtr< DtRwRadioChannel, true > myChannels
Definition: rwRadioState.h:323
DtRwReal myVoxThreshold
Definition: rwRadioState.h:307
DtRwBoolean myUseVox
Definition: rwRadioState.h:306
DtRwInt myRadioType
Definition: rwRadioState.h:300
float myTxLevel
Definition: rwRadioState.h:292
boost::signals2::signal< void(DtRadio *, CryptoSystem)> signal_cryptoSystemChanged
Definition: rwRadioState.h:168
boost::signals2::signal< void(DtRadio *, double)> signal_frequencyChanged
Definition: rwRadioState.h:147
DtRwBoolean myFreqHopInUse
Definition: rwRadioState.h:319
Initializer for a Modulation parameters reader/writer.
Definition: rwRadioState.h:65
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
virtual const char * xmlType() const
Definition: rwRadioState.h:282
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:297
Definition: radio.h:34
TransmitState
Definition: radioStateTypes.h:34
Definition: readerWriterRegistry.h:39
boost::signals2::signal< void(DtRadio *, DtVector)> signal_worldAntennaLocationChanged
Definition: rwRadioState.h:135
DtRwBoolean myTimeHopInUse
Definition: rwRadioState.h:321
InputSource
Definition: radioStateTypes.h:20
DtRwInt myAntennaPatternType
Definition: rwRadioState.h:311
DtRwReal myFrequency
Definition: rwRadioState.h:312
RadioType
Definition: radioStateTypes.h:30
boost::signals2::signal< void(DtRadio *, bool)> signal_canHearSelfChanged
Definition: rwRadioState.h:212
virtual const char * xmlType() const
Definition: rwRadioState.h:84
DtRwBoolean myIsSpeakerMuted
Definition: rwRadioState.h:305
boost::signals2::signal< void(DtRadio *, float)> signal_powerChanged
Definition: rwRadioState.h:156
DtRwString myChannelName
Definition: rwRadioState.h:60
#define DT_DLL_MAKRADIO
Get proper local export symbol.
Definition: export.h:17
boost::signals2::signal< void(DtRadio *, bool)> signal_useMultiSourceChanged
Definition: rwRadioState.h:252
CryptoMode
Definition: radioStateTypes.h:17
DtRwBoolean myIsPowered
Definition: rwRadioState.h:309
boost::signals2::signal< void(DtRadio *, DtEntityType)> signal_radioEntityTypeChanged
Definition: rwRadioState.h:116
boost::signals2::signal< void(DtRadio *, bool)> signal_speakerMutedChanged
Definition: rwRadioState.h:235
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwInt myCryptoKey
Definition: rwRadioState.h:318
DtEntityIdentifier myEntityId
Definition: rwRadioState.h:288
boost::signals2::signal< void(DtRadio *, bool)> signal_timeHopInUseChanged
Definition: rwRadioState.h:192
DtRwBoolean myMultiSource
Definition: rwRadioState.h:308
DtRwReal myPower
Definition: rwRadioState.h:314
boost::signals2::signal< void(DtRadio *, bool)> signal_freqHopInUseChanged
Definition: rwRadioState.h:184
DtVector myWorldAntennaLocation
Definition: rwRadioState.h:294
boost::signals2::signal< void(DtRadio *, AntennaPatternType)> signal_antennaPatternTypeChanged
Definition: rwRadioState.h:143
Initializer for a radio state reader/writer.
Definition: rwRadioState.h:95
DtRwBoolean myPseudoNoiseInUse
Definition: rwRadioState.h:320
unsigned short myRadioId
Definition: rwRadioState.h:289
DtRwInt myCurrentChannel
Definition: rwRadioState.h:322
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
std::vector< unsigned char > myModulationParameters
Definition: rwRadioState.h:296
boost::signals2::signal< void(DtRadio *, int)> signal_currentChannelChanged
Definition: rwRadioState.h:272
boost::signals2::signal< void(DtRadio *, bool)> signal_micMutedChanged
Definition: rwRadioState.h:230
boost::signals2::signal< void(DtRadio *, Duplex)> signal_duplexChanged
Definition: rwRadioState.h:208
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
float myRxLevel
Definition: rwRadioState.h:293
boost::signals2::signal< void(DtRadio *, float)> signal_voxThresholdChanged
Definition: rwRadioState.h:246
boost::signals2::signal< void(DtRadio *, DtEntityIdentifier)> signal_entityIdChanged
Definition: rwRadioState.h:108
DtRwReal myFrequency
Definition: rwRadioState.h:61
A version of DtRwList that contains a homogeneous list of a templated RW type.
Definition: rwTemplatedList.h:26
Duplex
Definition: radioStateTypes.h:19
DtVector32 myRelativeAntennaLocation
Definition: rwRadioState.h:295
DtRwString myRadioName
Definition: rwRadioState.h:299
Initializer for a channel reader / writer.
Definition: rwRadioState.h:29
DtRwBoolean myIsMicMuted
Definition: rwRadioState.h:304
boost::signals2::signal< void(DtRadio *, bool)> signal_isPoweredChanged
Definition: rwRadioState.h:120
DtRwInt myInputSource
Definition: rwRadioState.h:310
boost::signals2::signal< void(DtRadio *, DtRwModulationType)> signal_modulationTypeChanged
Definition: rwRadioState.h:160
bool myIsTransmitting
Definition: rwRadioState.h:291
DtRwInt myDuplex
Definition: rwRadioState.h:301
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
boost::signals2::signal< void(DtRadio *, float)> signal_transmitBandwidthChanged
Definition: rwRadioState.h:151
DtRwInt mySystem
Definition: rwRadioState.h:91
AntennaPatternType
Definition: radioStateTypes.h:15
boost::signals2::signal< void(DtRadio *, bool)> signal_pseudoNoiseInUseChanged
Definition: rwRadioState.h:188
DtRadio * myRadio
Definition: rwRadioState.h:325
DtRwModulationType myModulationType
Definition: rwRadioState.h:315
DtEntityType myRadioEntityType
Definition: rwRadioState.h:290
DtRwReal myVolume
Definition: rwRadioState.h:303
boost::signals2::signal< void(DtRadio *, DtVector32)> signal_relativeAntennaLocationChanged
Definition: rwRadioState.h:139
boost::signals2::signal< void(DtRadio *, RadioType)> signal_radioTypeChanged
Definition: rwRadioState.h:202
DtRwReal myTransmitBandwidth
Definition: rwRadioState.h:313
boost::signals2::signal< void(DtRadio *, float)> signal_volumeChanged
Definition: rwRadioState.h:225
boost::signals2::signal< void(DtRadio *, unsigned short)> signal_radioIdChanged
Definition: rwRadioState.h:112
boost::signals2::signal< void(DtRadio *, unsigned short)> signal_cryptoKeyChanged
Definition: rwRadioState.h:172
DtRwInt myDetail
Definition: rwRadioState.h:90
virtual const char * xmlType() const
Definition: rwRadioState.h:46
boost::signals2::signal< void(DtRadio *, InputSource)> signal_inputSourceChanged
Definition: rwRadioState.h:131
DtRwInt myCryptoSystem
Definition: rwRadioState.h:317

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)