libGizmod/GizmoStandard.hpp

Go to the documentation of this file.
00001 
00012 /*
00013   
00014   Copyright (c) 2007, Tim Burrell
00015   Licensed under the Apache License, Version 2.0 (the "License");
00016   you may not use this file except in compliance with the License.
00017   You may obtain a copy of the License at 
00018 
00019         http://www.apache.org/licenses/LICENSE-2.0
00020 
00021   Unless required by applicable law or agreed to in writing, software
00022   distributed under the License is distributed on an "AS IS" BASIS,
00023   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00024   See the License for the specific language governing permissions and 
00025   limitations under the License. 
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 // Namespace
00045 
00046 namespace Gizmod {
00047 
00049 // Typedef, enum's
00051         
00053 // Class Definition
00055 
00062 class GizmoStandard : public Gizmo, public GizmoLinuxInputDevice {
00063 public:
00064         // public functions
00065         virtual std::string             getType();                      
00066         virtual bool                    processEvent(GizmoEvent * pEvent); 
00067         
00068         // construction / deconstruction        
00069         GizmoStandard();                                                
00070         GizmoStandard(const H::DeviceInfo & deviceInfo, int DeviceID, int DeviceClassID); 
00071         virtual ~GizmoStandard();                                       
00072 
00073 protected:
00074         // private functions
00075         
00076         // private member variables
00077         
00078 private: 
00079         // serialization
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 } // Gizmod namespace
00091 
00092 #endif // __GizmoStandard_h

Generated on Wed Nov 7 10:04:16 2007 for gizmod by  doxygen 1.5.3