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 
17 namespace makVrf
18 {
19  class DtStateData;
20  class DtRadioTransmitterStateComponent;
21 }
22 
23 namespace makVrfEvents
24 {
25  class DtRawSignalEvent;
26  class DtEvent;
27 }
28 
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 }
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:139
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
Definition: removeRadio.h:13
Definition: event.h:13
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
DtUUID myActiveEntityId
Definition: radioNetManager.h:74
DtCommunicationManager * communicationManager() const
Definition: radioNetManager.h:56
DtCommunicationManager * myExConn
Definition: radioNetManager.h:76
Definition: changeEntity.h:15
Definition: radioNetManager.h:38
Definition: streamAudio.h:16
std::vector< DtSignalFilter * > mySignalFilters
Definition: radioNetManager.h:80
boost::signals2::connection mySignalEventConnection
Definition: radioNetManager.h:83

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)