VR-Exchange 2.2 API Documentation
tenaBrokerInitializer.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #ifdef _WIN32
13 // The TENA Middleware requires an expanded FD_SETSIZE; let ACE #define it
14 // before <WinSock2.h> is #included as a side effect of one of the MFC headers
15 #include <ACE/config.h>
16 #endif
17 
19 
20 #include "xmlEntityValuePair.h"
22 
23 #include <vlutil/vlStringUtil.h>
24 #include <vlutil/vlTime.h>
25 
26 #include <set>
27 #include <map>
28 
29 namespace MAKVrExchange
30 {
31 
32  namespace DtTenaBroker
33  {
34 
35  // \brief Parses the MTL file, and reads command line arguments to produce a set of
36  // parameters useful for DtTenaBroker instances.
37  class DT_DLL_TENABROKER DtTenaBrokerInitializer : public DtBrokerInitializer
38  {
39  public:
40 
42  DtTenaBrokerInitializer( int argc = 0, char** argv = 0,
43  const char *versionString = "1.0" );
44 
46  virtual ~DtTenaBrokerInitializer();
47 
48  // Assignment Operator
49  DtTenaBrokerInitializer& operator = ( const DtTenaBrokerInitializer& other );
50 
51  public:
52 
53  virtual DtTenaDiscoverableCriteria* discoveryCriteria();
54 
58  virtual bool parseUnknownIds() const;
59 
60  virtual bool generateFirePduForIndirectFire() const;
61 
62  virtual const DtString execName() const;
63  virtual const DtString orbDefaultInitRef() const;
64  virtual const DtString orbListenEndpoints() const;
65  virtual bool fillOutgoingEntityIds() const;
66  virtual bool usePersistentEntityIds() const;
67  virtual bool useTenaObjectIdForMarkingText() const;
68  virtual DtString tenaTransportType() const;
69  virtual bool useMarkingTextForTenaObjectId() const;
70  virtual DtTime tenaTickTime() const;
71  virtual bool dumpGuiToText() const;
72  virtual bool debugGlobalIdMapping() const;
73  virtual bool debugEntityIdMapping() const;
74  virtual DtTime objectThrottleRate() const;
75  virtual const DtString lromMapperName() const;
76  virtual int siteId() const;
77  virtual int appNumber() const;
78  virtual DtString amoName() const;
79  virtual DtString amoHostname() const;
80  virtual DtString amoHostIPaddress() const;
81  virtual DtString amoOperatorName() const;
82  virtual DtString amoOperatorTelephoneNumber() const;
83  virtual bool forceUpdateFlag() const;
84  virtual bool guiseIsEntityType() const;
85  virtual int multicastTtl() const;
86  virtual DtString multicastInterface() const;
87 
88  virtual void setExecName( const DtString& );
89  virtual void setOrbDefaultInitRef( const DtString& );
90  virtual void setOrbListenEndpoints( const DtString& );
91  virtual void setLromMapperName( const DtString& );
92  virtual void setSiteId( int );
93  virtual void setAppNumber( int );
94  virtual void setTenaTickTime( double );
95  virtual void setFillOutgoingEntityIds( bool );
96  virtual void setUsePersistentEntityIds( bool );
97  virtual void setUseTenaObjectIdForMarkingText( bool );
98  virtual void setTenaTransportType( const DtString& );
99  virtual void setUseMarkingTextForTenaObjectId( bool );
100  virtual void setDumpGuiToText( bool );
101  virtual void setDebugGlobalIdMapping( bool );
102  virtual void setDebugEntityIdMapping( bool );
103  virtual void setParseUnknownIdsFlag( bool );
104  virtual void setGenerateFirePduForIndirectFire( bool );
105  virtual void setForceUpdateFlag( bool );
106  virtual void setGuiseIsEntityType( bool );
107  virtual void setMulticastTtl( int );
108  virtual void setObjectThrottleRates( double );
109  virtual void setAmoName( const DtString& );
110  virtual void setAmoHostname( const DtString& );
111  virtual void setAmoHostIpAddress( const DtString& );
112  virtual void setAmoOperatorName( const DtString& );
113  virtual void setAmoOperatorTelephoneNumber( const DtString& );
114  virtual void setMulticastInterface( const DtString& );
115 
116 
117  virtual std::map< DtString, DtTime > entityTypeThrottleRates();
118 
119  private:
120 
121  // Not implemented yet.
123 
124  protected:
125 
126  DtConfigVariable<DtString> myCmdLineExecName;
127  DtConfigVariable<DtString> myCmdLineOrbDefaultInitRef;
128  DtConfigVariable<DtString> myCmdLineOrbListenEndpoints;
129  DtConfigVariable<DtString> myCmdLineLromMapperName;
130  DtConfigVariable<int> myCmdLineSiteId;
131  DtConfigVariable<int> myCmdLineAppNumber;
132 
133  DtConfigVariable<DtTime> myTenaTickTime;
134  DtConfigVariable<bool> myFillOutgoingEntityIds;
135  DtConfigVariable<bool> myUsePersistentEntityIds;
136  DtConfigVariable<bool> myUseTenaObjectIdForMarkingText;
137  DtConfigVariable<bool> myUseMarkingTextForTenaObjectId;
138  DtConfigVariable<bool> myDumpGuiToText;
139  DtConfigVariable<bool> myDebugGlobalIdMapping;
140  DtConfigVariable<bool> myDebugEntityIdMapping;
141  DtConfigVariable<bool> myParseUnknownIdsFlag;
142  DtConfigVariable<bool> myGenerateFirePduForIndirectFire;
143  DtConfigVariable<bool> myForceUpdateFlag;
144  DtConfigVariable<bool> myGuiseIsEntityType;
145  DtConfigVariable<int> myMulticastTtl;
146 
147  DtConfigVariable<DtString> myTenaTransportType;
148  DtConfigVariable<DtTime> myObjectThrottleRate;
149  DtConfigVariable<DtString> myAmoName;
150  DtConfigVariable<DtString> myAmoHostname;
151  DtConfigVariable<DtString> myAmoHostIPaddress;
152  DtConfigVariable<DtString> myAmoOperatorName;
153  DtConfigVariable<DtString> myAmoOperatorTelephoneNumber;
154  DtConfigVariable<DtString> myMulticastInterface;
155 
156  DtMultiConfigVariable<DtXMLEntityValuePair> myEntityTypeThrottleRates;
157 
159 
162 
163  };
164 
165  }
166 }

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)