21#ifndef _mtsEventReceiver_h
22#define _mtsEventReceiver_h
173 virtual void ToStream(std::ostream & outputStream)
const = 0;
203 template <
class __
classType>
205 __classType * classInstantiation,
241 template <
class __
classType,
class __argumentType>
243 __classType * classInstantiation,
Definition mtsCommandVoid.h:44
Definition mtsCommandWriteBase.h:40
Definition mtsEventReceiver.h:100
virtual bool WaitWithTimeout(double timeoutInSec)
bool OwnEventSignal
Definition mtsEventReceiver.h:105
virtual std::string GetName() const
Definition mtsEventReceiver.h:142
osaThreadSignal * EventSignal
Definition mtsEventReceiver.h:104
bool CheckRequired() const
void SetName(const std::string &name)
Definition mtsEventReceiver.h:141
virtual bool PrepareToWait()
virtual void SetRequired(const std::string &name, mtsInterfaceRequired *req)
virtual void SetThreadSignal(osaThreadSignal *signal)
virtual void ToStream(std::ostream &outputStream) const =0
osaMutex WaitMutex
Definition mtsEventReceiver.h:131
WaitStates WaitState
Definition mtsEventReceiver.h:130
mtsInterfaceRequired * Required
Definition mtsEventReceiver.h:103
std::string Name
Definition mtsEventReceiver.h:102
virtual ~mtsEventReceiverBase()
WaitStates
Definition mtsEventReceiver.h:129
@ EVENT_RECEIVER_WAITING
Definition mtsEventReceiver.h:129
@ EVENT_RECEIVER_SIGNALED
Definition mtsEventReceiver.h:129
@ EVENT_RECEIVER_PREPARING
Definition mtsEventReceiver.h:129
@ EVENT_RECEIVER_IDLE
Definition mtsEventReceiver.h:129
mtsCommandVoid * SetHandler(void(__classType::*method)(void), __classType *classInstantiation, mtsEventQueueingPolicy queueingPolicy=MTS_INTERFACE_EVENT_POLICY)
Definition mtsEventReceiver.h:204
void ToStream(std::ostream &outputStream) const
void SetHandlerCommand(mtsCommandVoid *commandHandler)
mtsCommandVoid * Command
Definition mtsEventReceiver.h:186
mtsCommandVoid * UserHandler
Definition mtsEventReceiver.h:187
mtsCommandVoid * GetCommand(void)
mtsCommandVoid * SetHandler(void(*function)(void), mtsEventQueueingPolicy queueingPolicy=MTS_INTERFACE_EVENT_POLICY)
Definition mtsEventReceiver.h:210
void SetHandlerCommand(mtsCommandWriteBase *commandHandler)
virtual bool PrepareToWait(mtsGenericObject &obj)
bool IsArgValid() const
Definition mtsEventReceiver.h:254
mtsCommandWriteBase * Command
Definition mtsEventReceiver.h:223
void EventHandler(const mtsGenericObject &arg)
mtsCommandWriteBase * UserHandler
Definition mtsEventReceiver.h:224
virtual bool WaitWithTimeout(double timeoutInSec)
mtsCommandWriteBase * GetCommand()
mtsGenericObject * ArgPtr
Definition mtsEventReceiver.h:225
void ToStream(std::ostream &outputStream) const
mtsCommandWriteBase * SetHandler(void(__classType::*method)(const __argumentType &), __classType *classInstantiation, mtsEventQueueingPolicy queueingPolicy=MTS_INTERFACE_EVENT_POLICY)
Definition mtsEventReceiver.h:242
Base class for data object in cisstMultiTask.
Definition mtsGenericObject.h:52
Definition mtsInterfaceRequired.h:83
Define a Mutex object.
Definition osaMutex.h:48
Definition osaThreadSignal.h:41
#define CISST_EXPORT
Definition cmnExportMacros.h:50
std::ostream & operator<<(std::ostream &output, const mtsEventReceiverBase &receiver)
Definition mtsEventReceiver.h:178
mtsEventQueueingPolicy
Definition mtsForwardDeclarations.h:48
@ MTS_INTERFACE_EVENT_POLICY
Definition mtsForwardDeclarations.h:48
Declaration of mtsInterfaceRequired.
Forward declarations and #define for cisstOSAbstraction.