Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

devices.h

Go to the documentation of this file.
00001 
00002 
00009 #ifndef DEVICES_H
00010 #define DEVICES_H
00011 
00012 #include "devicePlugIn.h"
00013 
00014 #include <string>
00015 #include <vector>
00016 
00017 #define DEVICE_EVENTS 11
00018 
00019 enum DeviceEvent {
00020     NONE,
00021     EXIT_CLIENT,
00022     ROTATE_UP,
00023     ROTATE_DOWN,
00024     ROTATE_LEFT,
00025     ROTATE_RIGHT,
00026     MOVE_FORWARD,
00027     MOVE_BACKWARD,
00028     INC_SPEED,
00029     DEC_SPEED,
00030     CHAT_MODE
00031 };
00032 
00033 class Devices {
00034     public:
00035 
00037     Devices ();
00039     ~Devices ();
00040 
00042 
00046     string  addDevicePlugIn (string filename);
00047 
00048     bool    update ();
00049 
00051 
00054     int countDevices ();
00055 
00057 
00061     int nameToInt (string name);
00062 
00064 
00068     string  getDeviceName (int i);
00069 
00071 
00075     int getDeviceAxes (int i);
00077 
00081     int getDeviceButtons (int i);
00082 
00084 
00088     int     getDeviceSlots (int i);
00089 
00091 
00096     float   getSlot (int device, int slot);
00097 
00099 
00105     bool    connect (int device, int deviceslot, DeviceEvent ev);
00106 
00108 
00112     float   eventStatus (DeviceEvent ev);
00113 
00114 
00115     private:
00116 
00117     typedef vector<DevicePlugIn*> CVectorDevicePlugIn;
00118         typedef vector<float>         CEvents;
00119         typedef vector< vector<int> > CCEvents;
00120     int         registeredDevices;
00121     CVectorDevicePlugIn devs;
00122         CEvents         events;
00123         CCEvents        cEvents;
00124 };
00125 
00126 #endif

Generated at Sat May 13 13:50:19 2000 for 3Dsia by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000