00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __GizmoEventPowermate_h
00030 #define __GizmoEventPowermate_h
00031
00032 #if HAVE_CONFIG_H
00033 #include "config.h"
00034 #endif
00035
00036 #include "GizmoEvent.hpp"
00037 #include "GizmoLinuxInputEvent.hpp"
00038 #include <string>
00039 #include <boost/shared_ptr.hpp>
00040 #include <boost/archive/text_oarchive.hpp>
00041 #include <boost/archive/text_iarchive.hpp>
00042 #include <boost/serialization/base_object.hpp>
00043
00045
00047
00048 namespace Gizmod {
00049
00051
00053
00055
00057
00064 class GizmoEventPowermate : public GizmoEvent, public GizmoLinuxInputEvent {
00065 public:
00066
00067 float ClickTime;
00068
00069
00070
00071
00072 static void buildEventsVectorFromBuffer(std::vector< boost::shared_ptr<GizmoEventPowermate> > & EventVector, H::DynamicBuffer<char> const & Buffer, bool SendNullEvents);
00073
00074
00075 GizmoEventPowermate();
00076 GizmoEventPowermate(struct input_event const & InputEvent, bool IsRemote = false);
00077 virtual ~GizmoEventPowermate();
00078
00079 protected:
00080
00081
00082
00083
00084
00085 static void buildEventsVectorFromBufferFunctor(struct input_event & InputEvent, std::vector< boost::shared_ptr<GizmoEventPowermate> > * pEventVector, bool SendNullEvents);
00086
00087 private:
00088
00089 friend class boost::serialization::access;
00090 template<class Archive>
00091 void serialize(Archive & ar, const unsigned int version) {
00092 ar & boost::serialization::base_object<GizmoEvent>(*this);
00093 ar & boost::serialization::base_object<GizmoLinuxInputEvent>(*this);
00094 ar & ClickTime;
00095 }
00096 };
00097
00099
00100 }
00101
00102 #endif // __GizmoEventPowermate_h