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