VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRadioCommLineElementProcessor.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #ifndef DT_PROTOCOL_NAMESPACE
13 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
14 #endif
15 
16 #include <vrvVrl/vrvVrl.h>
17 
19 
21 #include <unordered_map>
22 
23 namespace makVrv
24 {
25  class DtUnicode;
26  class DtRadioCommLineElement;
27 
28  namespace DT_PROTOCOL_NAMESPACE
29  {
30  class DtVrlinkRadioCommLineListener;
31  class DtVrlinkAggregateStateListener;
32  class DtVrlinkConnection;
34 
39  : public DtVirtualBaseClass
40  {
41  public:
42 
45  static void registerInstance( DtVrlinkConnection& conn,
47 
49  static DtRadioCommLineElementProcessor* findInstance( DtVrlinkConnection& conn );
50 
53 
56 
57  protected:
58 
61 
66  virtual void initialize();
67 
69  virtual void startProcessingMessages();
70 
72  virtual void stopProcessingMessages();
73 
75  static void onMessageReceivedInteraction( DtIfRadioMessageReceived msg, void* usr );
76 
78  virtual void processInteraction( const DtIfRadioMessageReceived& msgInter );
79 
81  virtual DtRadioCommLineElement* createCommLineElement( DtVrlinkRadioCommLineListener* listener, std::vector<DtUnicode>& definitions );
82 
85  virtual void slot_displayRadioCommsChanged( bool enabled );
86 
89  virtual void slot_displayCommLinesChanged( bool enabled );
90 
93  virtual void slot_commLifetimeChanged( double lifetime );
94 
96  virtual void slot_preTick();
97 
100  virtual void slot_toBeDisconnected();
101 
104  virtual void onEntityToBeDestroyed(DtVrlinkEntityStateListener& listener);
105 
108  virtual void onAggregateToBeDestroyed(DtVrlinkAggregateStateListener& listener);
109 
110  public:
112  using CommLineElementMap = std::unordered_map<DtVrlinkRadioCommLineListener*, DtRadioCommLineElement*>;
113 
115  virtual CommLineElementMap& commLineElementMap();
116 
117  protected:
119 
121 
123 
126  };
127 
128  }
129 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Static class that deals with DtIfRadioMessageReceived messages, inbound and outbound.
Definition: radioMessageReceivedHandler.h:20
DtIfRadioMessageReceived.
Definition: ifRadioMessageReceived.h:26
Element processor for radio communications. Instantiates visualizer sets for new communications.
Definition: DtRadioCommLineElementProcessor.h:38
std::unordered_map< DtVrlinkRadioCommLineListener *, DtRadioCommLineElement * > CommLineElementMap
Map type for mapping radio communications listeners to ModelSetVisualizerSetMaps. ...
Definition: DtRadioCommLineElementProcessor.h:112
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
Contains makVrv::DtVirtualBaseClass class.
DtRadioMessageReceivedHandler * myMessageReceivedHandler
Definition: DtRadioCommLineElementProcessor.h:120
DtVrlinkConnection & myVrlinkConnection
Definition: DtRadioCommLineElementProcessor.h:122
vrvCore RadioCommLine Element
Definition: DtRadioCommLineElement.h:27
double myRadioCommlineLifetime
Definition: DtRadioCommLineElementProcessor.h:125
bool myProcessMessages
Definition: DtRadioCommLineElementProcessor.h:124
Contains DLL export macros.
CommLineElementMap myCommLineElementMap
Definition: DtRadioCommLineElementProcessor.h:118

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)