VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVrvCommandProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 #pragma once
6 
10 
11 #ifndef DT_PROTOCOL_NAMESPACE
12 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
13 #endif
14 #include <vrvVrl/vrvVrl.h>
15 #include <vrvCore/DtUniqueID.h>
17 #include <vrvUtil/signalslib.h>
20 #include <vl/dataInteraction.h>
21 
22 namespace makVrv
23 {
24  class DtVrvCommand;
25  class DtVrvCommandFactory;
26  class DtVrvCommandExecutorAgent;
27  class DtVrlinkDriver;
28 
29  namespace DT_PROTOCOL_NAMESPACE
30  {
31  class DtVrlinkConnection;
32 
37  {
38  public:
40  static DtVrvCommandProcessor* findInstance(DtVrlinkConnection& baseSimulation);
41 
43  static void registerInstance(DtVrlinkConnection& baseSimulation, DtVrvCommandProcessor*);
44 
45 
47  DtVrvCommandProcessor(DtVrlinkConnection& baseSimulation, DtVrlinkDriver& driver );
48 
50  virtual ~DtVrvCommandProcessor();
51 
52  protected:
53  virtual DtVrvCommand* createCommand(vrvControlToolkit::DtVrvControl_v1* vrvControl);
54  virtual DtVrvCommand* createCommand_v0(vrvControlToolkit::DtVrvControl_v0* vrvControl);
55  virtual void processInteraction(const DtDataInteraction& dataInter);
56  virtual bool dataInteractionForUs(const DtDataInteraction& dataInter);
57  virtual void processVrvCommand(DtVrvCommand* cmd);
58  virtual DtUniqueID findUniqueIdFromGlobalId(const std::string& id);
59 
62  DtVrvCommandExecutorAgent* myVrvCommandExecutor;
64 
65  makVrv::vrvSignalsLib::connection myInteractionReceivedConnection;
66  };
67 
68  }
69 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
makVrv::vrvSignalsLib::connection myInteractionReceivedConnection
Definition: DtVrvCommandProcessor.h:65
This class is the processor responsible for handling vrv View Control commands.
Definition: DtVrvCommandProcessor.h:36
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
DtVrvCommandExecutorAgent * myVrvCommandExecutor
Definition: DtVrvCommandProcessor.h:62
Contains makVrv::DtVirtualBaseClass class.
DtVrlinkDriver & myVrlinkDriver
Definition: DtVrvCommandProcessor.h:61
DtVrvCommandFactory * myCommandFactory
Definition: DtVrvCommandProcessor.h:63
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base structure for all controls.
Definition: vrvControlToolkitDataTypes.h:277
Contains vrvControlToolkit control structures and defines.
DtVrlinkConnection & myVrlinkConnection
Definition: DtVrvCommandProcessor.h:60
DtVrvCommand is the base class for all commands.
Definition: DtVrvCommand.h:24
Contains makVrv::DtUniqueID type.
Definition: vrvControlToolkitDataTypes_v0.h:69
Contains DLL export macros.
Factory for creating vrvCommands given a vrvControl packet.
Definition: DtVrvCommandFactory.h:23

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)