00001
00002
00003 #ifndef _REC_ROBOTINO_COM_MANIPULATORLIMITSSSHARED_H_
00004 #define _REC_ROBOTINO_COM_MANIPULATORLIMITSSSHARED_H_
00005
00006 #ifdef HAVE_QT
00007
00008 #include "rec/robotino/com/ManipulatorLimits.h"
00009
00010 #include <QSharedData>
00011 #include <QMetaType>
00012
00013 namespace rec
00014 {
00015 namespace robotino
00016 {
00017 namespace com
00018 {
00019
00020 class ManipulatorLimitsSharedData : public QSharedData
00021 {
00022 public:
00023 ManipulatorLimitsSharedData()
00024 {
00025 }
00026
00027 ManipulatorLimitsSharedData( const ManipulatorLimitsSharedData& other )
00028 : QSharedData( other )
00029 , limits( other.limits )
00030 {
00031 }
00032
00033 rec::robotino::com::ManipulatorLimits limits;
00034 };
00035
00036 class ManipulatorLimitsShared
00037 {
00038 public:
00039 ManipulatorLimitsShared()
00040 : d( new ManipulatorLimitsSharedData )
00041 {
00042 }
00043
00044 ManipulatorLimitsShared( const rec::robotino::com::ManipulatorLimits& r )
00045 : d( new ManipulatorLimitsSharedData )
00046 {
00047 d->limits = r;
00048 }
00049
00050 rec::robotino::com::ManipulatorLimits& limits()
00051 {
00052 return d->limits;
00053 }
00054
00055 const rec::robotino::com::ManipulatorLimits& limits() const
00056 {
00057 return d->limits;
00058 }
00059
00060 private:
00061 QSharedDataPointer<ManipulatorLimitsSharedData> d;
00062 };
00063 }
00064 }
00065 }
00066
00067 Q_DECLARE_METATYPE(rec::robotino::com::ManipulatorLimits)
00068 Q_DECLARE_METATYPE(rec::robotino::com::ManipulatorLimitsShared)
00069
00070 #endif //HAVE_QT
00071 #endif //_REC_ROBOTINO_COM_MANIPULATORLIMITSSSHARED_H_