/[usata]/usata2/src/input-system.hpp
ViewVC logotype

Diff of /usata2/src/input-system.hpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by skunix, Tue Jan 25 19:26:33 2005 UTC revision 1.4 by skunix, Fri Feb 25 19:50:47 2005 UTC
# Line 93  namespace usata Line 93  namespace usata
93                  {                  {
94                  };                  };
95    
   
96                  class Driver                  class Driver
97                  {                  {
98                                  std::string     mName;                          protected:
99                                    std::string mName;
100                          public:                          public:
101                                    Driver(const std::string& pName);
102                                    virtual ~Driver();
103                                    virtual Event* next()=0;
104                                    virtual void update()=0;
105    
106                                  typedef enum { KEYBOARD, MOUSE, JOYSTICK } DeviceType;                                  const std::string& name();
                                                 Driver(const std::string& name);  
                                 virtual ~Driver() throw();  
   
                                 virtual bool supports(DeviceType type)=0;  
                                 virtual bool enable(DeviceType type, bool)=0;  
                                 virtual void configure() = 0;  
           
                                 virtual void update() = 0;  
                                 virtual Event* next() = 0;  
                                   
                 };  
                 typedef boost::shared_ptr<Driver> Driver_sp;  
                 class Translator  
                 {  
107                  };                  };
108    
109    
110                    typedef boost::shared_ptr<Driver> Driver_sp;
111                  class Manager                  class Manager
112                  {                  {
113                          typedef std::vector<Driver_sp> DriversV;                          typedef std::vector<Driver_sp> DriversV;                
114                                    
115                          DriversV        mDrivers;                          DriversV        mDrivers;
   
116                          public:                          public:
117    
118                                  typedef boost::function<void(Event*)> EventHandler;                                  typedef boost::function<void(Event*)> EventHandler;
# Line 135  namespace usata Line 126  namespace usata
126    
127                                  void trim(void);                                  void trim(void);
128                                  void add_driver(Driver*);                                  void add_driver(Driver*);
129    
130                                  void process();                                  void process();
131                                  ~Manager();                                  ~Manager();
132                          private:                          private:
133                                  EventHandlerStack mEvhStack;                                  EventHandlerStack mEvhStack;
134                  };                  };
135    
136                  Driver * default_driver();                  Driver *default_driver();
137          }          }
138    
139  }  }

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26