GazeboDriver.hh
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef GAZEBODRIVER_HH
00028 #define GAZEBODRIVER_HH
00029
00030 #include <unistd.h>
00031 #include <string.h>
00032
00033 #include <libplayercore/playercore.h>
00034
00035 #include "GazeboClient.hh"
00036
00037
00038 namespace gazebo
00039 {
00040
00044
00045
00046 class GazeboInterface;
00047
00049 class GazeboDriver : public Driver
00050 {
00052 public: GazeboDriver(ConfigFile* cf, int section);
00053
00055 public: virtual ~GazeboDriver();
00056
00058 public: virtual int Setup();
00059
00061 public: virtual int Shutdown();
00062
00064 public: virtual int ProcessMessage(QueuePointer &respQueue,
00065 player_msghdr * hdr,
00066 void * data);
00067
00069 public: virtual int Subscribe(player_devaddr_t addr);
00070
00072 public: virtual int Unsubscribe(player_devaddr_t addr);
00073
00075 private: virtual void Update();
00076
00078 private: int LoadDevices(ConfigFile* cf, int section);
00079
00081 private: GazeboInterface *LookupDevice(player_devaddr_t addr);
00082
00084 protected: GazeboInterface **devices;
00085
00087 protected: int deviceCount;
00088
00090 protected: int deviceMaxCount;
00091 };
00092
00094
00095
00096 }
00097 #endif