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 __GizmodEventHandlerInterface_h 00030 #define __GizmodEventHandlerInterface_h 00031 00032 #if HAVE_CONFIG_H 00033 #include "config.h" 00034 #endif 00035 00036 #include "../libGizmod/GizmoEventATIX10.hpp" 00037 #include "../libGizmod/GizmoEventCPUUsage.hpp" 00038 #include "../libGizmod/GizmoEventLIRC.hpp" 00039 #include "../libGizmod/GizmoEventPowermate.hpp" 00040 #include "../libGizmod/GizmoEventSoundCard.hpp" 00041 #include "../libGizmod/GizmoEventSoundVisualization.hpp" 00042 #include "../libGizmod/GizmoEventStandard.hpp" 00043 #include "../libGizmod/GizmoEventWindowFocus.hpp" 00044 #include "../libGizmod/Gizmo.hpp" 00045 #include "../libGizmod/GizmoATIX10.hpp" 00046 #include "../libGizmod/GizmoLIRC.hpp" 00047 #include "../libGizmod/GizmoPowermate.hpp" 00048 #include "../libGizmod/GizmoStandard.hpp" 00049 #include "../libH/FileEventWatcher.hpp" 00050 #include <string> 00051 #include <boost/python.hpp> 00052 00053 using namespace Gizmod; 00054 00056 // Class Definition 00058 00063 class GizmodEventHandlerInterface : public boost::noncopyable { 00064 public: 00069 virtual bool getInitialized() = 0; 00070 00079 virtual void initialize() = 0; 00080 00085 virtual void onDeregisterDevice(GizmoATIX10 const * Device) = 0; 00086 00091 virtual void onDeregisterDevice(GizmoLIRC const * Device) = 0; 00092 00097 virtual void onDeregisterDevice(GizmoPowermate const * Device) = 0; 00098 00103 virtual void onDeregisterDevice(GizmoStandard const * Device) = 0; 00104 00110 virtual void onEvent(GizmoEventATIX10 const * Event, GizmoATIX10 const * Device) = 0; 00111 00116 virtual void onEvent(GizmoEventCPUUsage const * Event) = 0; 00117 00123 virtual void onEvent(GizmoEventLIRC const * Event, GizmoLIRC const * Device) = 0; 00124 00130 virtual void onEvent(GizmoEventPowermate const * Event, GizmoPowermate const * Device) = 0; 00131 00136 virtual void onEvent(GizmoEventSoundCard const * Event) = 0; 00137 00142 virtual void onEvent(GizmoEventSoundVisualization const * Event) = 0; 00143 00149 virtual void onEvent(GizmoEventStandard const * Event, GizmoStandard const * Device) = 0; 00150 00155 virtual void onEvent(GizmoEventWindowFocus const * Event) = 0; 00156 00162 virtual GizmoClass onQueryDeviceClass(H::DeviceInfo const DeviceInformation) = 0; 00163 00168 virtual void onRegisterDevice(GizmoATIX10 const * Device) = 0; 00169 00174 virtual void onRegisterDevice(GizmoLIRC const * Device) = 0; 00175 00180 virtual void onRegisterDevice(GizmoPowermate const * Device) = 0; 00181 00186 virtual void onRegisterDevice(GizmoStandard const * Device) = 0; 00187 00188 // construction / deconstruction 00189 GizmodEventHandlerInterface(); 00190 virtual ~GizmodEventHandlerInterface(); 00191 00192 private: 00193 }; 00194 00195 #endif // __GizmodEventHandlerInterface_h