VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radioNetManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #include <makRadioNet/export.h>
10 #include <boost/signals2.hpp>
11 #include <vrfutil/rwUUID.h>
12 
13 #include <map>
14 #include <vector>
15 #include <string>
16 
18 
19 namespace makVrf
20 {
21  class DtStateData;
22  class DtRadioTransmitterStateComponent;
23 }
24 
25 namespace makVrfEvents
26 {
27  class DtRawSignalEvent;
28  class DtEvent;
29 }
30 
31 namespace makRadio
32 {
33  class StreamAudioMessage;
34  class ConfigureRadioMessage;
35  class DtRadioNetInterface;
36  class DtSignalFilter;
37 
39  {
40  public:
41  DtRadioNetManager(DtCommunicationManager* connectionManager);
42  virtual ~DtRadioNetManager();
43 
44  virtual void tick();
45 
46  virtual DtRadioConnectionBundle* getConnectionBundle() {return &myBundle;}
47 
48  virtual void sendAudio(StreamAudioMessage* msg);
49 
50  virtual void addSignalFilter(DtSignalFilter* filter);
51  virtual void removeSignalFilter(DtSignalFilter* filter);
52  virtual std::vector<DtSignalFilter*>& signalFilters();
53 
54  virtual const makVrf::DtRadioTransmitterStateComponent* findSignalTx(const makVrfEvents::DtRawSignalEvent& sig);
55 
57  {
58  return myExConn;
59  }
60 
61  virtual void setUseStreamTag(bool);
62 
63  protected:
64  virtual void handleRemoveRadio(RemoveRadioMessage* msg);
65  virtual void handleConfigureRadio(ConfigureRadioMessage* msg);
66  virtual void handleToNetStream(StreamAudioMessage* msg);
67  virtual void handleChangeEntity(ChangeEntityMessage* msg);
68  virtual void processSignalEvent(const makVrfEvents::DtEvent&);
69  virtual void handleSignalInteraction(const makVrfEvents::DtRawSignalEvent& sig);
70 
71  protected:
73 
75 
77  typedef std::map<int, DtRadioNetInterface*> RadioInterfaceMap;
79 
80  std::vector<DtSignalFilter*> mySignalFilters;
81 
83  boost::signals2::connection mySignalEventConnection;
84  };
85 
86  typedef DtRadioNetManager* (*DtRadioNetManagerCreatorFcn)(DtCommunicationManager*);
87 
90  {
91  public:
94  static void RegisterInstance(DtRadioNetManagerCreatorFcn instance);
96 
97  protected:
99  };
100 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
RadioInterfaceMap myRadioInterfaces
Definition: radioNetManager.h:78
Definition: rawSignalEvent.h:16
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: radioTransmitterStateComponent.h:140
Definition: configureRadio.h:13
DtRadioConnectionBundle myBundle
Definition: radioNetManager.h:72
virtual DtRadioConnectionBundle * getConnectionBundle()
Definition: radioNetManager.h:46
Definition: signalFilter.h:27
Definition: radioManager.h:39
std::map< int, DtRadioNetInterface * > RadioInterfaceMap
Definition: radioNetManager.h:77
Contains the DtUUID class declaration.
bool myUseStreamTag
Definition: radioNetManager.h:82
#define DT_DLL_MAKRADIOPLUGIN
Get proper local export symbol.
Definition: export.h:20
DtRadioNetManager *(* DtRadioNetManagerCreatorFcn)(DtCommunicationManager *)
Definition: radioNetManager.h:86
Definition: removeRadio.h:13
Definition: event.h:13
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
DtUUID myActiveEntityId
Definition: radioNetManager.h:74
DtCommunicationManager * communicationManager() const
Definition: radioNetManager.h:56
DtCommunicationManager * myExConn
Definition: radioNetManager.h:76
Definition: changeEntity.h:15
static DtRadioNetManagerCreatorFcn theRadioNetManagerCreatorFcn
Definition: radioNetManager.h:98
Definition: radioNetManager.h:38
Creator for this class. Subclasses need to implement the create() method.
Definition: radioNetManager.h:89
Definition: streamAudio.h:16
std::vector< DtSignalFilter * > mySignalFilters
Definition: radioNetManager.h:80
boost::signals2::connection mySignalEventConnection
Definition: radioNetManager.h:83

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)