00001 00005 /* Copyright © 2009, 2010 James Legg. 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 */ 00011 #ifndef INPUTREPORT_H_ 00012 #define INPUTREPORT_H_ 00013 00014 #include <set> 00015 00016 namespace Engine 00017 { 00018 class InputDevice; 00026 class InputReport 00027 { 00028 public: 00029 /* The changed value or action we are reporting. 00030 */ 00031 enum ReportType 00032 { 00034 RT_CHANGE_ACCEL, 00035 00037 RT_CHANGE_SLIDE, 00038 00040 RT_CHANGE_STEERING, 00041 00043 RT_MENU_UP, 00044 00046 RT_MENU_DOWN, 00047 00049 RT_MENU_LEFT, 00050 00052 RT_MENU_RIGHT, 00053 00055 RT_MENU_SELECT, 00056 00058 RT_MENU_BACK, 00059 00061 RT_DISCONNECT, 00062 00064 RT_BATTERY_LOW, 00065 00067 RT_MAX 00068 }; 00069 00079 InputReport(const InputDevice * input_device, ReportType type, int value = 0); 00080 00081 virtual ~InputReport(); 00082 00086 ReportType get_report_type() const; 00087 00093 int get_value() const; 00094 00097 std::set<InputDevice *>::iterator get_input_device() const; 00098 private: 00099 std::set<InputDevice *>::iterator input_device; 00100 ReportType type; 00101 int value; 00102 }; 00103 00104 } 00105 00106 #endif /*INPUTREPORT_H_*/
Generated at Mon Sep 6 00:41:12 2010 by Doxygen version 1.4.7 for Racer version svn335.