26 #ifndef _mtsTaskFromCallback_h
27 #define _mtsTaskFromCallback_h
35 #ifndef MTS_TASK_CALLBACK_CONVENTION
36 #define MTS_TASK_CALLBACK_CONVENTION
113 unsigned int sizeStateTable = 256):
114 mtsTask(name, sizeStateTable), inRunInternal(false) {}
123 void Create(
void *data = 0);
173 unsigned int sizeStateTable = 256) :
174 mtsTaskFromCallback(name, sizeStateTable),
188 template <
class _callbackReturnType>
196 callbackData.
obj =
this;
197 return static_cast<void*
>(&callbackData);
204 template <class _callbackReturnType>
209 return _callbackReturnType();
214 return _callbackReturnType();
219 return *
static_cast<_callbackReturnType *
>(ret);
223 #endif // _mtsTaskFromCallback_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
mtsTask BaseType
Definition: mtsTaskFromCallback.h:83
Portability across compilers and operating systems tools.
virtual void * GetCallbackParameter()
Definition: mtsTaskFromCallback.h:194
Definition: mtsTaskFromCallback.h:162
bool inRunInternal
Definition: mtsTaskFromCallback.h:86
CallbackData()
Definition: mtsTaskFromCallback.h:165
Definition: mtsTaskFromCallback.h:78
#define CMN_LOG_INIT_ERROR
Definition: cmnLogger.h:162
~CallbackData()
Definition: mtsTaskFromCallback.h:166
SignatureType
Definition: mtsTaskFromCallback.h:161
virtual void Suspend(void)
mtsTaskFromCallback * obj
Definition: mtsTaskFromCallback.h:164
virtual ~mtsTaskFromCallback()
Definition: mtsTaskFromCallback.h:117
void Create(void)
Definition: mtsTask.h:228
mtsTaskFromCallback BaseType
Definition: mtsTaskFromCallback.h:159
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
SignatureType signature
Definition: mtsTaskFromCallback.h:163
Definition: mtsTaskFromCallback.h:154
mtsTaskFromCallbackAdapter(const std::string &name, unsigned int sizeStateTable=256)
Definition: mtsTaskFromCallback.h:172
~mtsTaskFromCallbackAdapter()
Definition: mtsTaskFromCallback.h:177
virtual void * DoCallback(void *data=0)
Definition: mtsTaskFromCallback.h:135
mtsTaskFromCallback(const std::string &name, unsigned int sizeStateTable=256)
Definition: mtsTaskFromCallback.h:112
virtual void * RunInternal(void *argument)=0
CallbackData callbackData
Definition: mtsTaskFromCallback.h:168
const int CMN_NO_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:328
#define MTS_TASK_CALLBACK_CONVENTION
Definition: mtsTaskFromCallback.h:36
virtual void StartupInternal(void)
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition: cmnClassRegisterMacros.h:202
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76