5 #ifndef CAMERAREMOTEINTERFACE_H 6 #define CAMERAREMOTEINTERFACE_H 8 #include "camera_interface/CamInterface.h" 9 #include <rtt/TaskContext.hpp> 10 #include <rtt/Command.hpp> 11 #include <rtt/Method.hpp> 18 RTT::Method<bool(camera::int_attrib::CamAttrib,int)> _setIntAttrib;
19 RTT::Method<bool(camera::enum_attrib::CamAttrib)> _setEnumAttrib;
20 RTT::Method<bool(camera::double_attrib::CamAttrib,double)> _setDoubleAttrib;
21 RTT::Method<bool(camera::str_attrib::CamAttrib,std::string)> _setStrAttrib;
23 RTT::Method<int(camera::int_attrib::CamAttrib)> _getIntAttrib;
24 RTT::Method<double(camera::double_attrib::CamAttrib)> _getDoubleAttrib;
25 RTT::Method<std::string(camera::str_attrib::CamAttrib)> _getStrAttrib;
26 RTT::Method<bool(camera::enum_attrib::CamAttrib)> _isEnumAttribSet;
28 RTT::Method<int(camera::int_attrib::CamAttrib)> _getIntRangeMin;
29 RTT::Method<int(camera::int_attrib::CamAttrib)> _getIntRangeMax;
31 RTT::Method<double(camera::double_attrib::CamAttrib)> _getDoubleRangeMin;
32 RTT::Method<double(camera::double_attrib::CamAttrib)> _getDoubleRangeMax;
34 RTT::TaskContext* camera_task_context;
41 if(!camera_task_context)
42 throw std::runtime_error(
"CameraRemoteInterface: the camera TaskContext is not set!!!");
49 virtual void open(RTT::TaskContext *task_context)
51 camera_task_context = task_context;
55 _setIntAttrib = camera_task_context->methods()->getMethod<bool(int_attrib::CamAttrib,
int)>(
"setIntAttrib");
56 _setEnumAttrib = camera_task_context->methods()->getMethod<bool(enum_attrib::CamAttrib)>(
"setEnumAttrib");
57 _setDoubleAttrib = camera_task_context->methods()->getMethod<bool(double_attrib::CamAttrib,
double)>(
"setDoubleAttrib");
58 _setStrAttrib = camera_task_context->methods()->getMethod<bool(str_attrib::CamAttrib,std::string)>(
"setStringAttrib");
60 _getIntAttrib = camera_task_context->methods()->getMethod<int(int_attrib::CamAttrib)>(
"getIntAttrib");
61 _isEnumAttribSet = camera_task_context->methods()->getMethod<bool(enum_attrib::CamAttrib)>(
"isEnumAttribSet");
62 _getDoubleAttrib = camera_task_context->methods()->getMethod<double(double_attrib::CamAttrib)>(
"getDoubleAttrib");
63 _getStrAttrib = camera_task_context->methods()->getMethod<std::string(str_attrib::CamAttrib)>(
"getStringAttrib");
65 _getIntRangeMin = camera_task_context->methods()->getMethod<int(int_attrib::CamAttrib)>(
"getIntRangeMin");
66 _getIntRangeMax = camera_task_context->methods()->getMethod<int(int_attrib::CamAttrib)>(
"getIntRangeMax");
67 _getDoubleRangeMin = camera_task_context->methods()->getMethod<double(double_attrib::CamAttrib)>(
"getDoubleRangeMin");
68 _getDoubleRangeMax = camera_task_context->methods()->getMethod<double(double_attrib::CamAttrib)>(
"getDoubleRangeMax");
72 virtual void getRange(
const double_attrib::CamAttrib attrib,
double &dmin,
double &dmax)
75 if(!_getDoubleRangeMin.ready())
76 throw std::runtime_error(
"CameraRemoteInterface: _getDoubleRangeMin is not ready!");
77 if(!_getDoubleRangeMax.ready())
78 throw std::runtime_error(
"CameraRemoteInterface: _getDoubleRangeMin is not ready!");
80 dmax = _getDoubleRangeMax(attrib);
81 dmin = _getDoubleRangeMin(attrib);
84 virtual void getRange(
const int_attrib::CamAttrib attrib,
int &imin,
int &imax)
87 if(!_getIntRangeMin.ready())
88 throw std::runtime_error(
"CameraRemoteInterface: _getIntRangeMin is not ready!");
89 if(!_getIntRangeMax.ready())
90 throw std::runtime_error(
"CameraRemoteInterface: _getIntRangeMax is not ready!");
92 imax = _getIntRangeMax(attrib);
93 imin = _getIntRangeMin(attrib);
96 virtual bool setAttrib(
const int_attrib::CamAttrib attrib,
const int value)
99 if(!_setIntAttrib.ready())
100 throw std::runtime_error(
"CameraRemoteInterface: _setIntAttrib is not ready!");
101 _setIntAttrib(attrib,value);
104 virtual bool setAttrib(
const double_attrib::CamAttrib attrib,
const double value)
107 if(!_setDoubleAttrib.ready())
108 throw std::runtime_error(
"CameraRemoteInterface: _setDoubleAttrib is not ready!");
109 _setDoubleAttrib(attrib,value);
112 virtual bool setAttrib(
const str_attrib::CamAttrib attrib,
const std::string value)
115 if(!_setStrAttrib.ready())
116 throw std::runtime_error(
"CameraRemoteInterface: _setStrAttrib is not ready!");
117 _setStrAttrib(attrib,value);
120 virtual bool setAttrib(
const enum_attrib::CamAttrib attrib)
123 if(!_setEnumAttrib.ready())
124 throw std::runtime_error(
"CameraRemoteInterface: _setEnumAttrib is not ready!");
125 _setEnumAttrib(attrib);
128 virtual int getAttrib(
const int_attrib::CamAttrib attrib)
131 if(!_getIntAttrib.ready())
132 throw std::runtime_error(
"CameraRemoteInterface: _getIntAttrib is not ready!");
133 return _getIntAttrib(attrib);
136 virtual double getAttrib(
const double_attrib::CamAttrib attrib)
139 if(!_getDoubleAttrib.ready())
140 throw std::runtime_error(
"CameraRemoteInterface: _getDoubleAttrib is not ready!");
141 return _getDoubleAttrib(attrib);
144 virtual std::string
getAttrib(
const str_attrib::CamAttrib attrib)
147 if(!_getStrAttrib.ready())
148 throw std::runtime_error(
"CameraRemoteInterface: _getStrAttrib is not ready!");
149 return _getStrAttrib(attrib);
155 if(!_isEnumAttribSet.ready())
156 throw std::runtime_error(
"CameraRemoteInterface: _isEnumAttribSet is not ready!");
157 return _isEnumAttribSet(attrib);
162 #endif // CAMERAREMOTEINTERFACE_H void checkTaskContext()
Definition: CameraRemoteInterface.h:39
virtual std::string getAttrib(const str_attrib::CamAttrib attrib)
Definition: CameraRemoteInterface.h:144
Definition: CameraRemoteInterface.h:15
Definition: CameraRemoteInterface.h:13
virtual void open(RTT::TaskContext *task_context)
connects to the camera orocos module
Definition: CameraRemoteInterface.h:49
virtual bool setAttrib(const double_attrib::CamAttrib attrib, const double value)
Definition: CameraRemoteInterface.h:104
virtual int getAttrib(const int_attrib::CamAttrib attrib)
Definition: CameraRemoteInterface.h:128
CameraRemoteInterface()
Definition: CameraRemoteInterface.h:37
virtual bool isAttribSet(const enum_attrib::CamAttrib attrib)
Definition: CameraRemoteInterface.h:152
virtual bool setAttrib(const enum_attrib::CamAttrib attrib)
Definition: CameraRemoteInterface.h:120
virtual void getRange(const int_attrib::CamAttrib attrib, int &imin, int &imax)
Definition: CameraRemoteInterface.h:84
virtual void getRange(const double_attrib::CamAttrib attrib, double &dmin, double &dmax)
Definition: CameraRemoteInterface.h:72
virtual bool setAttrib(const str_attrib::CamAttrib attrib, const std::string value)
Definition: CameraRemoteInterface.h:112
virtual double getAttrib(const double_attrib::CamAttrib attrib)
Definition: CameraRemoteInterface.h:136
virtual bool setAttrib(const int_attrib::CamAttrib attrib, const int value)
Definition: CameraRemoteInterface.h:96