00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __GizmoStandard_h
00030 #define __GizmoStandard_h
00031
00032 #if HAVE_CONFIG_H
00033 #include "config.h"
00034 #endif
00035
00036 #include "Gizmo.hpp"
00037 #include "GizmoLinuxInputDevice.hpp"
00038 #include <boost/archive/text_oarchive.hpp>
00039 #include <boost/archive/text_iarchive.hpp>
00040 #include <boost/serialization/base_object.hpp>
00041
00043
00045
00046 namespace Gizmod {
00047
00049
00051
00053
00055
00062 class GizmoStandard : public Gizmo, public GizmoLinuxInputDevice {
00063 public:
00064
00065 virtual std::string getType();
00066 virtual bool processEvent(GizmoEvent * pEvent);
00067
00068
00069 GizmoStandard();
00070 GizmoStandard(const H::DeviceInfo & deviceInfo, int DeviceID, int DeviceClassID);
00071 virtual ~GizmoStandard();
00072
00073 protected:
00074
00075
00076
00077
00078 private:
00079
00080 friend class boost::serialization::access;
00081 template<class Archive>
00082 void serialize(Archive & ar, const unsigned int version) {
00083 ar & boost::serialization::base_object<Gizmo>(*this);
00084 ar & boost::serialization::base_object<GizmoLinuxInputDevice>(*this);
00085 }
00086 };
00087
00089
00090 }
00091
00092 #endif // __GizmoStandard_h