VR-Forces 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 DtStateDataManager;
34 
36  typedef boost::function<DtVrfRemoteController* (int)> VrfRemoteControllerCreatorFcn;
37 
38  typedef DtVrfMessageInterface* (*DtVrfMessageInterfaceCreatorFcn)(DtCommunicationManager* exConn, bool useDefaultInterfaceFactory);
39  typedef DtVrfTDLMessageInterface* (*DtVrfTDLMessageInterfaceCreatorFcn)(DtCommunicationManager* exConn, bool useDefaultInterfaceFactory);
40  typedef DtVrfConnectionHelper* (*DtVrfConnectionHelperCreatorFcn)(makVrv::DtDe& de, bool inThread);
41  typedef DtVantageToLegionIdMapper* (*DtVantageToLegionIdMapperCreatorFcn)(DtStateDataManager*, makVrv::DtBaseConnection& c);
42  typedef DtTDLMessageProcessor* (*DtTDLMessageProcessorCreatorFcn)(makVrv::DtBaseConnection& c, DtVrfRemoteController*);
43  typedef DtVrfCommunicationManager* (*DtVrfCommunicationManagerCreatorFcn)(const DtSimulationAddress&, makVrf::DtStateDataManager* sm);
44 
46  {
47  public:
50  static DtVrfRemoteController* createRemoteController(int receivePort = 9000);
51  static void setRemoteControllerCreatorFcn(VrfRemoteControllerCreatorFcn);
52  static VrfRemoteControllerCreatorFcn remoteControllerCreatorFcn();
53  static DtVrfRemoteController* defaultRemoteControllerCreatorFcn(int receivePort = 9000);
54 
56  static DtVrfMessageInterface* createMessageInterface(DtCommunicationManager*, bool useDefaultFactory = true);
57  static void setMessageInterfaceCreatorFcn(DtVrfMessageInterfaceCreatorFcn);
58  static DtVrfMessageInterfaceCreatorFcn messageInterfaceCreatorFcn();
59 
61  static DtVrfTDLMessageInterface* createVrfTDLMessageInterface(DtCommunicationManager*, bool useDefaultFactory = true);
62  static void setVrfTDLMessageInterfaceCreatorFcn(DtVrfTDLMessageInterfaceCreatorFcn);
63  static DtVrfTDLMessageInterfaceCreatorFcn vrfTDLessageInterfaceCreatorFcn();
64 
66  static DtVrfCommunicationManager* createCommunicationManager(const DtSimulationAddress&, DtStateDataManager* em = 0);
67  static void setCommunicationManagerCreatorFcn(DtVrfCommunicationManagerCreatorFcn);
68 
69  static DtVrfConnectionHelper* createVrfConnectionHelper(makVrv::DtDe&, bool inThread);
70  static void setVrfConnectionHelperCreatorFcn(DtVrfConnectionHelperCreatorFcn);
71 
72  static DtVantageToLegionIdMapper* createVantageToLegionIdMapper(DtStateDataManager*, makVrv::DtBaseConnection& c);
73  static void setVantageToLegionIdMapperCreatorFcn(DtVantageToLegionIdMapperCreatorFcn);
74 
75  static DtTDLMessageProcessor* createTDLMessageProcessor(makVrv::DtBaseConnection& c, DtVrfRemoteController*);
76  static void setTDLMessageProcessorCreatorFcn(DtTDLMessageProcessorCreatorFcn);
78 
79  protected:
81 
85 
88  };
89 }
This class allows itself to be registered with the connection.
Definition: vrfCommunicationManager.h:25
Definition: vantageToLegionIdMapper.h:28
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:87
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:39
Helper code for connectors. Does not exist in it&#39;s own project but is included by all projects that u...
Definition: vrfConnectionHelper.h:130
static DtTDLMessageProcessorCreatorFcn theTDLMessageProcessorCreatorFcn
Definition: vrfGuiNetworkFactory.h:84
DtVantageToLegionIdMapper *(* DtVantageToLegionIdMapperCreatorFcn)(DtStateDataManager *, makVrv::DtBaseConnection &c)
Definition: vrfGuiNetworkFactory.h:41
Definition: vrfGuiNetworkFactory.h:45
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
static DtVrfConnectionHelperCreatorFcn theVrfConnectionHelperCreatorFcn
Definition: vrfGuiNetworkFactory.h:82
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:206
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
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:33
static DtVantageToLegionIdMapperCreatorFcn theVantageToLegionIdMapperCreatorFcn
Definition: vrfGuiNetworkFactory.h:83
DtVrfMessageInterface *(* DtVrfMessageInterfaceCreatorFcn)(DtCommunicationManager *exConn, bool useDefaultInterfaceFactory)
Definition: vrfGuiNetworkFactory.h:38
DtVrfCommunicationManager *(* DtVrfCommunicationManagerCreatorFcn)(const DtSimulationAddress &, makVrf::DtStateDataManager *sm)
Definition: vrfGuiNetworkFactory.h:43
The DtTDLMessageProcessor is a base class that will create the agent that can be used to send more ge...
Definition: tdlMessageProcessor.h:27
#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:42
static VrfRemoteControllerCreatorFcn myRemoteControllerCreatorFcn
[vrfGuiNetworkFactory Creators]
Definition: vrfGuiNetworkFactory.h:80
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:76
DtVrfConnectionHelper *(* DtVrfConnectionHelperCreatorFcn)(makVrv::DtDe &de, bool inThread)
Definition: vrfGuiNetworkFactory.h:40
Definition: vrfMessageInterface.h:40
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73

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)