21 #ifndef _mtsEventReceiver_h
22 #define _mtsEventReceiver_h
106 bool CheckRequired()
const;
113 void SetName(
const std::string &name) { Name = name; }
114 virtual std::string
GetName()
const {
return Name; }
127 virtual bool WaitWithTimeout(
double timeoutInSec);
129 virtual void Detach();
132 virtual void ToStream(std::ostream & outputStream)
const = 0;
149 void EventHandler(
void);
162 template <
class __
classType>
164 __classType * classInstantiation,
166 return CheckRequired() ? (Required->AddEventHandlerVoid(method, classInstantiation, this->
GetName(), queueingPolicy)) : 0;
171 return CheckRequired() ? (Required->AddEventHandlerVoid(
function, this->
GetName(), queueingPolicy)) : 0;
174 bool RemoveHandler(
void);
177 void ToStream(std::ostream & outputStream)
const;
200 template <
class __
classType,
class __argumentType>
202 __classType * classInstantiation,
204 return CheckRequired() ? (Required->AddEventHandlerWrite(method, classInstantiation, this->
GetName(), queueingPolicy)) : 0;
223 bool RemoveHandler(
void);
226 void ToStream(std::ostream & outputStream)
const;
230 #endif // _mtsEventReceiver_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
mtsCommandWriteBase * Command
Definition: mtsEventReceiver.h:182
Definition: mtsEventReceiver.h:143
virtual std::string GetName() const
Definition: mtsEventReceiver.h:114
bool CheckRequired() const
Declaration of mtsInterfaceRequired.
Definition: mtsCommandVoid.h:44
void SetName(const std::string &name)
Definition: mtsEventReceiver.h:113
Definition: mtsForwardDeclarations.h:49
mtsCommandVoid * SetHandler(void(*function)(void), mtsEventQueueingPolicy queueingPolicy=MTS_INTERFACE_EVENT_POLICY)
Definition: mtsEventReceiver.h:169
Definition: mtsInterfaceRequired.h:85
bool Waiting
Definition: mtsEventReceiver.h:103
Definition: mtsEventReceiver.h:98
std::string Name
Definition: mtsEventReceiver.h:100
Base class for data object in cisstMultiTask.
Definition: mtsGenericObject.h:56
Definition: mtsEventReceiver.h:180
mtsEventQueueingPolicy
Definition: mtsForwardDeclarations.h:49
Definition: mtsCommandWriteBase.h:40
mtsGenericObject * ArgPtr
Definition: mtsEventReceiver.h:184
virtual bool WaitWithTimeout(double timeoutInSec)
osaThreadSignal * EventSignal
Definition: mtsEventReceiver.h:102
mtsCommandVoid * Command
Definition: mtsEventReceiver.h:145
mtsCommandWriteBase * SetHandler(void(__classType::*method)(const __argumentType &), __classType *classInstantiation, mtsEventQueueingPolicy queueingPolicy=MTS_INTERFACE_EVENT_POLICY)
Definition: mtsEventReceiver.h:201
virtual void ToStream(std::ostream &outputStream) const =0
Definition: osaThreadSignal.h:40
mtsCommandVoid * UserHandler
Definition: mtsEventReceiver.h:146
mtsCommandVoid * SetHandler(void(__classType::*method)(void), __classType *classInstantiation, mtsEventQueueingPolicy queueingPolicy=MTS_INTERFACE_EVENT_POLICY)
Definition: mtsEventReceiver.h:163
std::ostream & operator<<(std::ostream &output, const mtsEventReceiverBase &receiver)
Definition: mtsEventReceiver.h:137
Forward declarations and #define for cisstOSAbstraction.
mtsCommandWriteBase * UserHandler
Definition: mtsEventReceiver.h:183
mtsInterfaceRequired * Required
Definition: mtsEventReceiver.h:101
bool OwnEventSignal
Definition: mtsEventReceiver.h:104