21 #include <vlutil/vlStringUtil.h>
22 #include <vlutil/vlString.h>
23 #include <vlutil/vlTime.h>
32 class DtDynamicLibrary;
35 class DtVrlinkVrfRemoteController;
39 namespace MAKVrExchange
42 class DtPortalConnection;
43 class DtStatisticsManager;
63 typedef void (*PluginReloadMethod)(
DtBroker* );
64 typedef void (*PluginPostInitMethod)(
DtBroker* );
65 typedef void (*PluginUnloadMethod)(
DtBroker* );
68 typedef void (*BrokerReloadCallback)(
void* );
83 virtual void initialize();
101 virtual void startBroker();
104 virtual void launchGui();
109 virtual void launchInfoGui();
118 virtual void reloadTranslatorDebugging();
121 virtual void reloadBrokerSettings();
124 virtual const DtString brokerName()
const;
127 virtual DtU16 brokerId()
const;
130 virtual DtU32 brokerType()
const;
134 virtual DtTime simTime()
const;
137 virtual void updateSimTime()
const;
140 virtual bool isRunning()
const;
143 virtual bool isTimeToQuit()
const;
146 virtual bool isTranslatorDebuggingOn(
const DtString& name )
const;
149 virtual DtTime pollingInterval();
159 virtual void processEvents();
171 virtual void setBrokerId(
int id );
174 virtual void shutdownWithError(
const DtString & error );
184 virtual void loadTranslators();
187 virtual void initializeTranslators( DtStringSet& failedTranslators );
191 virtual void loadKnownObjectTranslators( DtStringSet& failedTranslators );
195 virtual void loadKnownInteractionTranslators( DtStringSet& failedTranslators );
200 virtual bool loadObjectTranslator(
const DtString& translatorName );
205 virtual bool loadInteractionTranslator(
const DtString& translatorName );
209 virtual void shutdown();
212 virtual void addBrokerReloadCallback( BrokerReloadCallback cb,
void* usr );
215 virtual void callBrokerReloadCallbacks();
224 virtual void setDarkModeEnabled(
bool flag);
225 virtual bool darkModeEnabled();
231 virtual void initializeDebuggedAndDisabledFromInit();
237 virtual void obtainLock();
240 virtual void loadBrokerPlugins();
243 virtual void scanForPlugins(
const std::string& dir, std::list<std::string>& files )
const;
246 virtual void postInitializePlugins();
249 virtual void reloadBrokerPlugins();
258 virtual void stopFileLogging();
265 virtual void processRestartRequest(
bool shouldEnableOneToOne );
301 virtual void reportLoadTranslatorFailures(
const DtStringSet& failedTranslators )
const;
305 static void objectDiscoveredCallback(
const DtBrokerObject* brokerObject,
void* usr );
306 static void objectUpdatedCallback(
const DtBrokerObject* brokerObject,
void* usr );
307 static void objectRemovedCallback(
const DtBrokerObject* brokerObject,
void* usr );
311 virtual void objectDiscovered(
const DtBrokerObject* brokerObject );
323 virtual bool addTranslator(
DtObjectTranslator* objTrans,
bool reflectEnabled,
bool publishEnabled );
375 HANDLE myMutexOneAppHandle;
virtual DtFilterManager & objectFilters()
Accessor for the broker's object filter manager.
Definition: broker.h:396
DtFilePrinter * myFilePrinter
Definition: broker.h:370
DtObjectTranslatorFactory myObjectTranslatorFactory
Definition: broker.h:346
DtU32 myBrokerType
Definition: broker.h:358
virtual DtBrokerInitializer * brokerInitializer() const
Returns the brokerInitializer object used to create this broker.
Definition: broker.h:391
A class to initialize DtBroker instances.
Definition: brokerInitializer.h:35
Contains the DtPortalControlMessage class declarations.
DtStatisticsManager * myStatisticsManager
Definition: broker.h:369
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
DtTranslatorFactory< DtInteractionTranslator > DtInteractionTranslatorFactory
Definition: broker.h:70
Manages statistics gathering and reporting for the broker.
Definition: statisticsManager.h:26
bool myBrokerIsRunning
Definition: broker.h:360
std::map< std::string, DtDynamicLibrary * > BrokerPluginsMap
Definition: broker.h:348
std::set< DtString > myDebuggedTranslators
Definition: broker.h:366
Contains the DtGenericUserInterface class declaration.
bool myDarkModeEnabled
Definition: broker.h:373
DtFilterManager myFilterManager
Definition: broker.h:368
DtPortalConnection * myPortalConn
Definition: broker.h:362
#define DT_DLL_BROKER
Definition: include/broker/dllExport.h:20
std::map< const DtString, DtInteractionTranslator * > NamedInteractionTranslatorMap
Definition: broker.h:340
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:406
virtual int pollingInterval() const
Returns the interval, in ms, between each call to drainInput() on the exercise connection.
BrokerPluginsMap myBrokerPlugins
Definition: broker.h:349
virtual DtString brokerName() const
The name of this broker.
static const char * theVrxPluginUnloadMethod
Definition: broker.h:338
makVrf::DtVrlinkVrfRemoteController * myVrfRemoteController
Definition: broker.h:371
DtInteractionTranslators provide common logic for translating interactions.
Definition: baseInteractionTranslator.h:21
DtGenericUserInterface * myUi
Definition: broker.h:355
Contains the DtBrokerInitializer class declaration.
static const char * theVrxPluginInitMethod
Definition: broker.h:335
DtInteractionTranslatorFactory myInteractionTranslatorFactory
Definition: broker.h:345
Base class for all broker objects.
Definition: broker.h:58
CallbackPairList myBrokerReloadCallbacks
Definition: broker.h:353
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:336
Contains the DtTranslatorFactory class declaration.
NamedObjectTranslatorMap myObjectTranslatorMap
Definition: broker.h:343
virtual void setVrfRemoteController(makVrf::DtVrlinkVrfRemoteController *vrfRC)
Set and get the VRF Remote Controller pointer from the broker.
Definition: broker.h:220
virtual const DtString brokerName() const
Returns the brokers name.
Definition: broker.h:411
DtU16 myBrokerId
Definition: broker.h:357
Connects a broker to the Portal Data Exchange.
Definition: pConnection.h:49
NamedInteractionTranslatorMap myInteractionTranslatorMap
Definition: broker.h:342
void * usr
Definition: broker.h:351
static const char * theVrxPluginPostInitMethod
Definition: broker.h:337
std::map< const DtString, DtObjectTranslator * > NamedObjectTranslatorMap
Definition: broker.h:341
Provides object filtering.
Definition: filterManager.h:31
DtBrokerInitializer * myBrokerInitializer
Definition: broker.h:364
virtual makVrf::DtVrlinkVrfRemoteController * vrfRemoteController()
Definition: broker.h:221
DtObjectTranslators provide common logic for translating objects.
Definition: baseObjectTranslator.h:25
DtTranslatorFactory< DtObjectTranslator > DtObjectTranslatorFactory
Definition: broker.h:71
An abstract version of a Broker Interface.
Definition: genericUserInterface.h:21
std::list< CallbackPair > CallbackPairList
Definition: broker.h:352
bool myShutdownRequestedFlag
Definition: broker.h:361