9 #include <tbb/spin_mutex.h>
11 #include <boost/signals2.hpp>
17 namespace makVrfEvents
21 class DtSimControlEvent;
49 virtual void addEvent(
const DtEvent&);
52 virtual void sendEvent(
const DtEvent&);
63 virtual void setProcessEventsImmediately(
bool b);
66 return myProcessEventsImmediately;
73 return myNetworkManager;
77 virtual void resetSimulation();
81 virtual void setProcessNetworkEventsLocally(
bool);
84 return myProcessNetworkEventsLocally;
89 typedef boost::signals2::signal<void (const DtEvent&)>
EventSignal;
103 virtual void cleanupSignals();
111 EventSignal& signalForSensorFieldOfViewControlEvent();
118 EventSignal& signalForOwnershipAcquisitionRejectedEvent();
119 EventSignal& signalForOwnershipAcquisitionAcquiredEvent();
120 EventSignal& signalForTransferAcquisitionRequestEvent();
121 EventSignal& signalForTransferAcquisitionResponseEvent();
134 virtual void selfReflect(
unsigned int i);
135 virtual void doNotSelfReflect(
unsigned int i);
138 virtual bool wantsToSelfReflect(
unsigned int)
const;
141 virtual void postEvent(
const DtEvent&);
145 virtual void processEvent(
const DtEvent&);
148 virtual bool wantsToProcessEvent(
const DtEvent&)
const;
151 virtual void addEvent(
const DtEvent&,
bool& selfReflecting);
DtEventManager *(* DtEventManagerCreatorFcn)()
Definition: eventManager.h:23
EventType
Definition: event.h:16
bool processNetworkEventsLocally() const
Definition: eventManager.h:82
static DtEventManagerCreatorFcn theEventManagerCreatorFcn
Definition: eventManager.h:161
DtNetworkInterfaceManager * myNetworkManager
Definition: eventManager.h:168
The DtEventManager handles the sending and receipt of system events (fire, detonate, command, etc). It provides a thread-safe way for the sim engine to send and receive such events, between both components within this sim engine and other remote applications.
Definition: eventManager.h:33
std::set< unsigned int > myDoNotSelfReflect
Definition: eventManager.h:165
tbb::spin_mutex myMutex
Definition: eventManager.h:154
std::vector< DtEvent * > myEvents
Definition: eventManager.h:155
bool processEventsImmediately() const
Definition: eventManager.h:64
std::map< DtEvent::EventType, EventSignal * > EventCallbackMap
Definition: eventManager.h:158
The DtNetworkInterfaceManager manages all network interfaces utilized by the sim engine. Often there is only one, but it is possible for there to be multiple. Each network interface is an instance of a subclass of DtNetworkManagerInterface. As state data is created or removed, the DtNetworkInterfaceManager will notify each of its network interfaces, so that they may create object network interfaces to output required state data to the network.
Definition: networkInterfaceManager.h:45
boost::signals2::signal< void(const DtEvent &)> EventSignal
Definition: eventManager.h:89
#define DT_DLL_vrfMsgTransport
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfCommunicationManagerDefines.h:26
DtNetworkInterfaceManager * networkInterfaceManager() const
Definition: eventManager.h:71
EventCallbackMap myEventCallbackMap
Definition: eventManager.h:159
bool myProcessEventsImmediately
Definition: eventManager.h:163
bool myProcessNetworkEventsLocally
Definition: eventManager.h:169
tbb::spin_mutex myCallbackMutex
Definition: eventManager.h:157