27 #ifndef _mtsCallableReadMethod_h
28 #define _mtsCallableReadMethod_h
40 template <
class _
classType,
class _resultType>
69 template <
bool,
typename _dummy =
void>
75 if (argumentCasted == 0) {
78 if ( (classInstantiation->*action)(*argumentCasted) ) {
85 template <
typename _dummy>
94 if ( (classInstantiation->*action)(*argumentCasted) ) {
100 typedef typename ResultType::RefType ResultRefType;
101 ResultRefType * dataRef =
dynamic_cast<ResultRefType *
>(&argument);
104 <<
": CallMethod could not cast from " <<
typeid(argument).name()
105 <<
" to " <<
typeid(ResultRefType).name()
111 if ( (classInstantiation->*action)(temp) ) {
149 outputStream <<
"method based callable void return object using class/object \""
152 outputStream <<
"invalid method based callable object";
157 template <
class _
classType>
214 outputStream <<
"method based callable read object using class/object \""
217 outputStream <<
"invalid method based callable object";
222 #endif // _mtsCallableReadMethod_h
bool(_classType::* ActionType)(mtsGenericObject &result) const
Definition: mtsCallableReadMethod.h:171
static mtsExecutionResult CallMethod(ClassType *classInstantiation, ActionType action, mtsGenericObject &argument)
Definition: mtsCallableReadMethod.h:73
std::string mtsObjectName(const mtsComponent *object)
Definition: mtsComponent.h:552
void ToStream(std::ostream &outputStream) const
Definition: mtsCallableReadMethod.h:212
virtual ~mtsCallableReadMethodGeneric()
Definition: mtsCallableReadMethod.h:201
mtsCallableReadMethodGeneric(void)
Definition: mtsCallableReadMethod.h:187
ActionType Action
Definition: mtsCallableReadMethod.h:180
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
virtual ~mtsCallableReadMethod()
Definition: mtsCallableReadMethod.h:138
ClassType * ClassInstantiation
Definition: mtsCallableReadMethod.h:67
_resultType ResultType
Definition: mtsCallableReadMethod.h:45
mtsExecutionResult Execute(mtsGenericObject &result)
Definition: mtsCallableReadMethod.h:204
const std::string & GetName(void) const
mtsCallableReadBase BaseType
Definition: mtsCallableReadMethod.h:161
#define CMN_LOG_INIT_ERROR
Definition: cmnLogger.h:162
mtsCallableReadMethodGeneric(ActionType action, ClassType *classInstantiation)
Definition: mtsCallableReadMethod.h:194
Base class for data object in cisstMultiTask.
Definition: mtsGenericObject.h:56
virtual const cmnClassServicesBase * Services(void) const =0
void ToStream(std::ostream &outputStream) const
Definition: mtsCallableReadMethod.h:147
Definition: mtsExecutionResult.h:44
Definition: mtsCallableReadMethod.h:158
_classType ClassType
Definition: mtsCallableReadMethod.h:48
mtsCallableReadMethod(ActionType action, ClassType *classInstantiation)
Definition: mtsCallableReadMethod.h:131
Definition: mtsCallableReadMethod.h:70
mtsCallableReadMethodGeneric< ClassType > ThisType
Definition: mtsCallableReadMethod.h:167
Definition: mtsCallableReadMethod.h:41
bool(_classType::* ActionType)(ResultType &argument) const
Definition: mtsCallableReadMethod.h:55
mtsCallableReadBase BaseType
Definition: mtsCallableReadMethod.h:44
static T * CastArg(mtsGenericObject &arg)
Definition: mtsGenericObjectProxy.h:683
mtsExecutionResult Execute(mtsGenericObject &argument)
Definition: mtsCallableReadMethod.h:141
Definition: mtsExecutionResult.h:34
Definition: mtsExecutionResult.h:44
_classType ClassType
Definition: mtsCallableReadMethod.h:164
static mtsExecutionResult CallMethod(ClassType *classInstantiation, ActionType action, mtsGenericObject &argument)
Definition: mtsCallableReadMethod.h:90
mtsCallableReadMethod< ClassType, ResultType > ThisType
Definition: mtsCallableReadMethod.h:51
ClassType * ClassInstantiation
Definition: mtsCallableReadMethod.h:183
Definition: mtsExecutionResult.h:44
ActionType Action
Definition: mtsCallableReadMethod.h:64
Defines a base class for a callable object with a placeholder to retrieve data.
Definition: mtsCallableReadBase.h:39
mtsCallableReadMethod(void)
Definition: mtsCallableReadMethod.h:124