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