VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationBackendStartupHelper.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
8 #pragma once
9 
10 #include <vrfGuiCore/vrfGuiCore.h>
12 #include <boost/function.hpp>
13 
14 #include <map>
15 #include <vector>
16 #include <string>
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtUnicode;
22  class DtVrlinkDriver;
23 }
24 
25 class DtSimulationAddress;
26 class DtFilename;
27 
28 namespace makVrf
29 {
34  {
35  public:
37  typedef boost::function<bool (const DtSimulationAddress&, makVrv::DtVrlinkDriver*, makVrv::DtUnicode& error, bool startCombined)> StartupFunction;
38 
39  public:
42 
44  static DtSimulationBackendStartupHelper& instance(makVrv::DtDe& de);
45  static void registerInstance(makVrv::DtDe&, DtSimulationBackendStartupHelper*);
46 
47  public:
50  virtual bool startBackend(const DtSimulationAddress&, makVrv::DtUnicode& eror, bool startCombined = true);
51 
53  virtual void addStartupFunction(const std::string&, StartupFunction);
54 
56  virtual std::vector<std::string> getCommonCommandLineArguments(const DtSimulationAddress& addr, makVrv::DtVrlinkDriver*, bool startCombined) const;
57 
59  virtual std::vector<std::string> getCommonHLAArguments(makVrv::DtVrlinkDriver*) const;
60 
61  protected:
63  virtual bool startupDIS(const DtSimulationAddress&, makVrv::DtVrlinkDriver*, makVrv::DtUnicode& error, bool startCombined);
64  virtual bool startupHLA13(const DtSimulationAddress&, makVrv::DtVrlinkDriver*, makVrv::DtUnicode& error, bool startCombined);
65  virtual bool startupHLA1516(const DtSimulationAddress&, makVrv::DtVrlinkDriver*, makVrv::DtUnicode& error, bool startCombined);
66  virtual bool startupHLA1516e(const DtSimulationAddress&, makVrv::DtVrlinkDriver*, makVrv::DtUnicode& error, bool startCombined);
67 
68  virtual bool startBackend(const DtFilename& location, const DtFilename& appName, const std::vector<std::string>& arguments);
69 
70  protected:
72 
73  typedef std::map<std::string, StartupFunction> StartupFunctions;
75  };
76 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
makVrv::DtDe & myDe
Definition: simulationBackendStartupHelper.h:71
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
This class will, given the current front-end protocol, start a back-end with the command line argumen...
Definition: simulationBackendStartupHelper.h:33
Contains makVrv::DtVirtualBaseClass class.
std::map< std::string, StartupFunction > StartupFunctions
Definition: simulationBackendStartupHelper.h:73
Definition: asyncJobServer.h:39
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:72
StartupFunctions myStartupFunctions
Definition: simulationBackendStartupHelper.h:74
boost::function< bool(const DtSimulationAddress &, makVrv::DtVrlinkDriver *, makVrv::DtUnicode &error, bool startCombined)> StartupFunction
Prototype for function that can be called for a given driver to start a back-end. ...
Definition: simulationBackendStartupHelper.h:37

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)