VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radioNetInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #include <makRadioNet/export.h>
9 #include <makRadio/radio.h>
10 
11 #include <vl/signalInteraction.h>
12 
13 #include <map>
14 #include <vector>
15 #include <string>
16 
18 class DtReflectedRadioTransmitter;
20 class DtRadioTransmitterPublisher;
21 class DtRadioReceiverPublisher;
22 class DtExerciseConn;
23 
24 namespace makRadio
25 {
26  class StreamAudioMessage;
27  class ConfigureRadioMessage;
28 
29  namespace DT_PROTOCOL_NAMESPACE
30  {
31  class DtRadioNetManager;
32 
34  {
35  public:
36  DtRadioNetInterface(DtRadioNetManager& mgr, DtReflectedEntityList* reflectedEntityList, DtReflectedRadioTransmitterList* rel, DtEntityIdentifier& entityId, int radioId);
37  virtual ~DtRadioNetInterface();
38 
39  virtual void tick();
40 
41  virtual void configure(ConfigureRadioMessage* msg);
42 
43  virtual void sendSignal(StreamAudioMessage* msg);
44 
45  virtual void receiveSignal(const DtSignalInteraction& sig);
46 
47  virtual DtRadioTransmitterPublisher& txPub() const;
48 
49  virtual DtRadioReceiverPublisher& rxPub() const;
50 
51 
52  protected:
53  virtual StreamAudioMessage* extractAudio(const DtSignalInteraction& sig, const DtEntityIdentifier& entityId, DtRadioID streamTag);
54 
55  virtual void findEntityAndRadioIds(const DtSignalInteraction& sig, DtEntityIdentifier& entityId, int& radioId);
56  virtual bool findReflectedRadio(const DtSignalInteraction& sig, DtReflectedRadioTransmitter*& radio);
57  virtual bool checkIdsShouldCommunicate(const DtSignalInteraction& sig);
58  virtual bool checkFrequenciesMatch(DtReflectedRadioTransmitter* radio);
59  virtual bool checkCryptoStatesMatch(DtReflectedRadioTransmitter* radio);
60  virtual bool checkModulationTypesMatch(DtReflectedRadioTransmitter* radio);
61  virtual bool checkHoppingAndNoiseMatch(DtReflectedRadioTransmitter* radio);
62 
63  DtEntityIdentifier myEntityId;
65  int myRadioId;
69 
70  DtExerciseConn* myExConn;
71  DtRadioTransmitterPublisher* myTxPub;
72  DtRadioReceiverPublisher* myRxPub;
75 
77 
78  //HLA only fields
79  bool myUseStreamTag; //RPR 2
80  bool myUseAlternateName; //RPR 1
81  std::string myAlternateName; //RPR 1
82  };
83  }
84 
85 }
int myRadioId
Definition: radioNetInterface.h:65
DtReflectedRadioTransmitterList * myRefTxList
Definition: radioNetInterface.h:73
Definition: configureRadio.h:13
bool myUseAlternateName
Definition: radioNetInterface.h:80
DtReflectedEntityList * myReflectedEntityList
Definition: radioNetInterface.h:74
int myIntercomStreamId
Definition: radioNetInterface.h:66
DtExerciseConn * myExConn
Definition: radioNetInterface.h:70
double myTimeLastReceive
Definition: radioNetInterface.h:68
DtEntityIdentifier myEntityId
Definition: radioNetInterface.h:63
DtRadioNetManager & myManager
Definition: radioNetInterface.h:76
std::string myAlternateName
Definition: radioNetInterface.h:81
#define DT_DLL_MAKRADIOPLUGIN
Get proper local export symbol.
Definition: export.h:20
DtRadioReceiverPublisher * myRxPub
Definition: radioNetInterface.h:72
bool myUseStreamTag
Definition: radioNetInterface.h:79
DtRadioTransmitterPublisher * myTxPub
Definition: radioNetInterface.h:71
unsigned long long DtRadioID
Definition: radio.h:15
DtGlobalObjectDesignator myGlobalId
Definition: radioNetInterface.h:64
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
double myTimeLastTransmit
Definition: radioNetInterface.h:67
Definition: streamAudio.h:17

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)