VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGuiNetworkFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
9 
10 #pragma once
11 
14 
15 #include <boost/function.hpp>
16 
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtBaseConnection;
25 }
26 
27 namespace makVrf
28 {
29  class DtVrfConnectionHelper;
30  class DtVantageToLegionIdMapper;
31  class DtTDLMessageProcessor;
32  class DtExtendedStateDataProcessor;
33  class DtSimDataProcessorManager;
34  class DtStateDataManager;
36 
38  typedef boost::function<DtVrfRemoteController* (int)> VrfRemoteControllerCreatorFcn;
39 
40  typedef DtVrfMessageInterface* (*DtVrfMessageInterfaceCreatorFcn)(DtCommunicationManager* exConn, bool useDefaultInterfaceFactory);
41  typedef DtVrfTDLMessageInterface* (*DtVrfTDLMessageInterfaceCreatorFcn)(DtCommunicationManager* exConn, bool useDefaultInterfaceFactory);
42  typedef DtVrfConnectionHelper* (*DtVrfConnectionHelperCreatorFcn)(makVrv::DtDe& de, bool inThread);
43  typedef DtVantageToLegionIdMapper* (*DtVantageToLegionIdMapperCreatorFcn)(DtStateDataManager*, makVrv::DtBaseConnection& c);
44  typedef DtTDLMessageProcessor* (*DtTDLMessageProcessorCreatorFcn)(makVrv::DtBaseConnection& c, DtVrfRemoteController*);
45  typedef DtExtendedStateDataProcessor* (*DtExtendedStateDataProcessorCreatorFcn)(DtStateDataManager*, makVrv::DtBaseConnection& c);
46  typedef DtSimDataProcessorManager* (*DtSimDataProcessorManagerCreatorFcn)(DtStateDataManager* instance, makVrv::DtBaseConnection& sim);
47  typedef DtVrfCommunicationManager* (*DtVrfCommunicationManagerCreatorFcn)(const DtSimulationAddress&, makVrf::DtStateDataManager* sm);
48 
50  {
51  public:
54  static DtVrfRemoteController* createRemoteController(int receivePort = 9000);
55  static void setRemoteControllerCreatorFcn(VrfRemoteControllerCreatorFcn);
56  static VrfRemoteControllerCreatorFcn remoteControllerCreatorFcn();
57  static DtVrfRemoteController* defaultRemoteControllerCreatorFcn(int receivePort = 9000);
58 
60  static DtVrfMessageInterface* createMessageInterface(DtCommunicationManager*, bool useDefaultFactory = true);
61  static void setMessageInterfaceCreatorFcn(DtVrfMessageInterfaceCreatorFcn);
62  static DtVrfMessageInterfaceCreatorFcn messageInterfaceCreatorFcn();
63 
65  static DtVrfTDLMessageInterface* createVrfTDLMessageInterface(DtCommunicationManager*, bool useDefaultFactory = true);
66  static void setVrfTDLMessageInterfaceCreatorFcn(DtVrfTDLMessageInterfaceCreatorFcn);
67  static DtVrfTDLMessageInterfaceCreatorFcn vrfTDLessageInterfaceCreatorFcn();
68 
70  static DtVrfCommunicationManager* createCommunicationManager(const DtSimulationAddress&, DtStateDataManager* em = 0);
71  static void setCommunicationManagerCreatorFcn(DtVrfCommunicationManagerCreatorFcn);
72 
73  static DtSimDataProcessorManager* createSimDataProcessorManager(DtStateDataManager*, makVrv::DtBaseConnection& c);
74  static void setSimDataProcessorManagerCreatorFcn(DtSimDataProcessorManagerCreatorFcn);
75 
76  static DtVrfConnectionHelper* createVrfConnectionHelper(makVrv::DtDe&, bool inThread);
77  static void setVrfConnectionHelperCreatorFcn(DtVrfConnectionHelperCreatorFcn);
78 
79  static DtVantageToLegionIdMapper* createVantageToLegionIdMapper(DtStateDataManager*, makVrv::DtBaseConnection& c);
80  static void setVantageToLegionIdMapperCreatorFcn(DtVantageToLegionIdMapperCreatorFcn);
81 
82  static DtTDLMessageProcessor* createTDLMessageProcessor(makVrv::DtBaseConnection& c, DtVrfRemoteController*);
83  static void setTDLMessageProcessorCreatorFcn(DtTDLMessageProcessorCreatorFcn);
84 
85  static DtExtendedStateDataProcessor* createExtendedStateDataProcessor(DtStateDataManager*, makVrv::DtBaseConnection& c);
86  static void setExtendedStateDataProcessorCreatorFcn(DtExtendedStateDataProcessorCreatorFcn);
88 
89  protected:
91 
96 
99  };
100 }
This class allows itself to be registered with the connection.
Definition: vrfCommunicationManager.h:25
Definition: vantageToLegionIdMapper.h:28
The protocol specific processor for entity sim data.
Definition: extendedStateDataProcessor.h:38
static DtVrfCommunicationManagerCreatorFcn thsCommuncationManagerCreatorFcn
While you can supply your own creator, your creator must call the method that passes 0 for the state ...
Definition: vrfGuiNetworkFactory.h:98
The DtVrfTDLMessageInterface is a transporter for sending TDL messages as data interactions using a V...
Definition: vrfTDLMessageInterface.h:37
DtVrfTDLMessageInterface *(* DtVrfTDLMessageInterfaceCreatorFcn)(DtCommunicationManager *exConn, bool useDefaultInterfaceFactory)
Definition: vrfGuiNetworkFactory.h:41
Helper code for connectors. Does not exist in it&#39;s own project but is included by all projects that u...
Definition: vrfConnectionHelper.h:124
static DtTDLMessageProcessorCreatorFcn theTDLMessageProcessorCreatorFcn
Definition: vrfGuiNetworkFactory.h:94
static DtExtendedStateDataProcessorCreatorFcn theExtendedStateDataProcessorCreatorFcn
Definition: vrfGuiNetworkFactory.h:95
This class will manage the data processors. It will be the spot that the data processors can post mes...
Definition: simDataProcessorManager.h:25
DtVantageToLegionIdMapper *(* DtVantageToLegionIdMapperCreatorFcn)(DtStateDataManager *, makVrv::DtBaseConnection &c)
Definition: vrfGuiNetworkFactory.h:43
Definition: vrfGuiNetworkFactory.h:49
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
static DtVrfConnectionHelperCreatorFcn theVrfConnectionHelperCreatorFcn
Definition: vrfGuiNetworkFactory.h:92
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:201
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
DtExtendedStateDataProcessor *(* DtExtendedStateDataProcessorCreatorFcn)(DtStateDataManager *, makVrv::DtBaseConnection &c)
Definition: vrfGuiNetworkFactory.h:45
boost::function< DtVrfRemoteController *(int)> VrfRemoteControllerCreatorFcn
Parameter for remote controller creator function is the receive port of the file transporter. Default is 9000.
Definition: vrfGuiNetworkFactory.h:35
static DtVantageToLegionIdMapperCreatorFcn theVantageToLegionIdMapperCreatorFcn
Definition: vrfGuiNetworkFactory.h:93
DtVrfMessageInterface *(* DtVrfMessageInterfaceCreatorFcn)(DtCommunicationManager *exConn, bool useDefaultInterfaceFactory)
Definition: vrfGuiNetworkFactory.h:40
DtVrfCommunicationManager *(* DtVrfCommunicationManagerCreatorFcn)(const DtSimulationAddress &, makVrf::DtStateDataManager *sm)
Definition: vrfGuiNetworkFactory.h:47
The DtTDLMessageProcessor is a base class that will create the agent that can be used to send more ge...
Definition: tdlMessageProcessor.h:27
DtSimDataProcessorManager *(* DtSimDataProcessorManagerCreatorFcn)(DtStateDataManager *instance, makVrv::DtBaseConnection &sim)
Definition: simDataProcessorManager.h:22
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
DtTDLMessageProcessor *(* DtTDLMessageProcessorCreatorFcn)(makVrv::DtBaseConnection &c, DtVrfRemoteController *)
Definition: vrfGuiNetworkFactory.h:44
static VrfRemoteControllerCreatorFcn myRemoteControllerCreatorFcn
[vrfGuiNetworkFactory Creators]
Definition: vrfGuiNetworkFactory.h:90
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
DtVrfConnectionHelper *(* DtVrfConnectionHelperCreatorFcn)(makVrv::DtDe &de, bool inThread)
Definition: vrfGuiNetworkFactory.h:42
Definition: vrfMessageInterface.h:40
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:71

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)