1 #ifndef PERIPHERAL_H 2 #define PERIPHERAL_H 3 4 #include <string> 5 6 using namespace std; 7 8 class Peripheral 9 { 10 public: 11 Peripheral()12 Peripheral(){} ~Peripheral()13 virtual ~Peripheral(){} 14 virtual void init()=0; 15 virtual void update()=0; 16 virtual void shutdown()=0; 17 18 //Tipos de evento que se pueden dar en un componente de un 19 //periferico 20 typedef enum event_t 21 { 22 NO_EVENT, 23 ON_PRESS, 24 ON_RELEASE, 25 ON_PRESSING, 26 ON_RELEASSING 27 }; 28 29 //El estado de un componente de un periferico 30 //Por ejemplo la posicion X del raton 31 typedef int state_t; 32 //Los distintos componentes que puede tener un periferico 33 typedef int component_t; 34 35 //Devuelve si el componente esta activado ON_PRESS 36 //o no ON_RELEASE 37 virtual event_t get_event(component_t comp)=0; 38 39 //Devuelve si ha cambiado el componente desde la ultima vez 40 virtual bool is_change(component_t comp)=0; 41 42 //Devuelve el estado (posicion del raton) del componente 43 virtual state_t get_state(component_t comp)=0; 44 45 //Modifica el componente en el periferico virtual 46 virtual void set_component(component_t comp,state_t s)=0; 47 48 virtual string get_component_name(component_t comp)=0; 49 virtual void reset()=0; 50 }; 51 52 #endif 53