21 #include <vlutil/vlStringUtil.h>
22 #include <vlutil/vlString.h>
23 #include <vlutil/vlTime.h>
32 class DtDynamicLibrary;
34 namespace MAKVrExchange
37 class DtPortalConnection;
38 class DtStatisticsManager;
58 typedef void (*PluginReloadMethod)(
DtBroker* );
59 typedef void (*PluginPostInitMethod)(
DtBroker* );
60 typedef void (*PluginUnloadMethod)(
DtBroker* );
63 typedef void (*BrokerReloadCallback)(
void* );
78 virtual void initialize();
96 virtual void startBroker();
99 virtual void launchGui();
104 virtual void launchInfoGui();
113 virtual void reloadTranslatorDebugging();
116 virtual void reloadBrokerSettings();
119 virtual const DtString brokerName()
const;
122 virtual DtU16 brokerId()
const;
126 virtual DtTime simTime()
const;
129 virtual void updateSimTime()
const;
132 virtual bool isRunning()
const;
135 virtual bool isTimeToQuit()
const;
138 virtual bool isTranslatorDebuggingOn(
const DtString& name )
const;
141 virtual DtTime pollingInterval();
151 virtual void processEvents();
163 virtual void setBrokerId(
int id );
166 virtual void shutdownWithError(
const DtString & error );
176 virtual void loadTranslators();
179 virtual void initializeTranslators( DtStringSet& failedTranslators );
183 virtual void loadKnownObjectTranslators( DtStringSet& failedTranslators );
187 virtual void loadKnownInteractionTranslators( DtStringSet& failedTranslators );
192 virtual bool loadObjectTranslator(
const DtString& translatorName );
197 virtual bool loadInteractionTranslator(
const DtString& translatorName );
201 virtual void shutdown();
204 virtual void addBrokerReloadCallback( BrokerReloadCallback cb,
void* usr );
207 virtual void callBrokerReloadCallbacks();
213 virtual void initializeDebuggedAndDisabledFromInit();
219 virtual void obtainLock();
222 virtual void loadBrokerPlugins();
225 virtual void scanForPlugins(
const std::string& dir, std::list<std::string>& files )
const;
228 virtual void postInitializePlugins();
231 virtual void reloadBrokerPlugins();
240 virtual void stopFileLogging();
247 virtual void processRestartRequest(
bool shouldEnableOneToOne );
283 virtual void reportLoadTranslatorFailures(
const DtStringSet& failedTranslators )
const;
287 static void objectDiscoveredCallback(
const DtBrokerObject* brokerObject,
void* usr );
288 static void objectUpdatedCallback(
const DtBrokerObject* brokerObject,
void* usr );
289 static void objectRemovedCallback(
const DtBrokerObject* brokerObject,
void* usr );
293 virtual void objectDiscovered(
const DtBrokerObject* brokerObject );
305 virtual bool addTranslator(
DtObjectTranslator* objTrans,
bool reflectEnabled,
bool publishEnabled );
354 HANDLE myMutexOneAppHandle;
virtual DtFilterManager & objectFilters()
Accessor for the broker's object filter manager.
Definition: broker.h:375
DtFilePrinter * myFilePrinter
Definition: broker.h:352
DtObjectTranslatorFactory myObjectTranslatorFactory
Definition: broker.h:328
DtU32 myBrokerType
Definition: broker.h:340
virtual DtBrokerInitializer * brokerInitializer() const
Returns the brokerInitializer object used to create this broker.
Definition: broker.h:370
A class to initialize DtBroker instances.
Definition: brokerInitializer.h:35
Contains the DtPortalControlMessage class declarations.
DtStatisticsManager * myStatisticsManager
Definition: broker.h:351
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
DtTranslatorFactory< DtInteractionTranslator > DtInteractionTranslatorFactory
Definition: broker.h:65
Manages statistics gathering and reporting for the broker.
Definition: statisticsManager.h:26
bool myBrokerIsRunning
Definition: broker.h:342
std::map< std::string, DtDynamicLibrary * > BrokerPluginsMap
Definition: broker.h:330
std::set< DtString > myDebuggedTranslators
Definition: broker.h:348
Contains the DtGenericUserInterface class declaration.
DtFilterManager myFilterManager
Definition: broker.h:350
DtPortalConnection * myPortalConn
Definition: broker.h:344
#define DT_DLL_BROKER
Definition: include/broker/dllExport.h:20
std::map< const DtString, DtInteractionTranslator * > NamedInteractionTranslatorMap
Definition: broker.h:322
PortalControlMessageTemplate is used to create new DtPortalControlMessage types.
Definition: pControlMessage.h:71
Contains the DtInteractionTranslator and DtBaseInteractionTranslator class declarations.
virtual DtTime pollingInterval()
Returns the amount of time that the broker is asking to be polled.
Definition: broker.h:385
virtual int pollingInterval() const
Returns the interval, in ms, between each call to drainInput() on the exercise connection.
BrokerPluginsMap myBrokerPlugins
Definition: broker.h:331
virtual DtString brokerName() const
The name of this broker.
static const char * theVrxPluginUnloadMethod
Definition: broker.h:320
DtInteractionTranslators provide common logic for translating interactions.
Definition: baseInteractionTranslator.h:21
DtGenericUserInterface * myUi
Definition: broker.h:337
Contains the DtBrokerInitializer class declaration.
static const char * theVrxPluginInitMethod
Definition: broker.h:317
DtInteractionTranslatorFactory myInteractionTranslatorFactory
Definition: broker.h:327
Base class for all broker objects.
Definition: broker.h:53
CallbackPairList myBrokerReloadCallbacks
Definition: broker.h:335
DtFilterObjectMessage is used to indicate a specific object needs to be filtered. ...
Definition: pControlMessage.h:105
Contains the DtObjectTranslator and DtBaseObjectTranslator class declarations.
static const char * theVrxPluginReloadMethod
Definition: broker.h:318
Contains the DtTranslatorFactory class declaration.
NamedObjectTranslatorMap myObjectTranslatorMap
Definition: broker.h:325
virtual const DtString brokerName() const
Returns the brokers name.
Definition: broker.h:390
DtU16 myBrokerId
Definition: broker.h:339
Connects a broker to the Portal Data Exchange.
Definition: pConnection.h:49
NamedInteractionTranslatorMap myInteractionTranslatorMap
Definition: broker.h:324
void * usr
Definition: broker.h:333
static const char * theVrxPluginPostInitMethod
Definition: broker.h:319
std::map< const DtString, DtObjectTranslator * > NamedObjectTranslatorMap
Definition: broker.h:323
Provides object filtering.
Definition: filterManager.h:31
DtBrokerInitializer * myBrokerInitializer
Definition: broker.h:346
DtObjectTranslators provide common logic for translating objects.
Definition: baseObjectTranslator.h:25
DtTranslatorFactory< DtObjectTranslator > DtObjectTranslatorFactory
Definition: broker.h:66
An abstract version of a Broker Interface.
Definition: genericUserInterface.h:21
std::list< CallbackPair > CallbackPairList
Definition: broker.h:334
bool myShutdownRequestedFlag
Definition: broker.h:343