spatial_world_model_server.h
Go to the documentation of this file.
00001 #ifndef SPATIAL_WORLD_MODEL_TRACKER_H_
00002 #define SPATIAL_WORLD_MODEL_TRACKER_H_
00003 
00004 #include <mysql/mysql.h>
00005 #include <ros/ros.h>
00006 #include <interactive_world_msgs/StoreObservation.h>
00007 #include <interactive_world_msgs/FindObservations.h>
00008 #include <interactive_world_msgs/SetObservationsRemoved.h>
00009 
00010 #define SWM_DEFAULT_SERVER "localhost"
00011 
00012 #define SWM_DEFAULT_PORT 3306
00013 
00014 #define SWM_DEFAULT_USER "ros"
00015 
00016 #define SWM_DEFAULT_PASSWORD ""
00017 
00018 #define SWM_DEFAULT_DATABASE "rms"
00019 
00020 #define SWM_TABLE "swms"
00021 
00022 #define SWM_CREATE_TABLE "CREATE TABLE IF NOT EXISTS `swms` \
00023                          (`id` int(10) unsigned NOT NULL AUTO_INCREMENT, \
00024                           `surface` varchar(255) NOT NULL, \
00025                           `surface_frame_id` varchar(255) NOT NULL, \
00026                           `placement_surface_frame_id` varchar(255) NOT NULL, \
00027                           `item` varchar(255) NOT NULL, \
00028                           `item_conf` double NOT NULL, \
00029                           `x` double NOT NULL, \
00030                           `y` double NOT NULL, \
00031                           `z` double NOT NULL, \
00032                           `theta` float NOT NULL, \
00033                           `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, \
00034                           `removed` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', \
00035                           PRIMARY KEY (`id`) \
00036                          ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;"
00037 
00038 class spatial_world_model_server
00039 {
00040 public:
00041   spatial_world_model_server();
00042 
00043   ~spatial_world_model_server();
00044 
00045   bool connected();
00046 
00047 private:
00048   bool store_observation_cb(interactive_world_msgs::StoreObservation::Request &req, interactive_world_msgs::StoreObservation::Response &resp);
00049   bool find_observations_cb(interactive_world_msgs::FindObservations::Request &req,
00050       interactive_world_msgs::FindObservations::Response &resp);
00051   bool set_observations_removed_cb(interactive_world_msgs::SetObservationsRemoved::Request &req,
00052       interactive_world_msgs::SetObservationsRemoved::Response &resp);
00053 
00054   time_t extract_time(const std::string &str) const;
00055 
00056   MYSQL_RES *query(std::string query);
00057 
00059   MYSQL *conn_;
00060 
00061   ros::NodeHandle private_;
00062   std::string host_, user_, password_, database_;
00063   int port_;
00064   bool connected_;
00065 
00066   ros::ServiceServer store_observation_, find_observations_, set_observations_removed_;
00067 };
00068 
00069 int main(int argc, char **argv);
00070 
00071 #endif


spatial_world_model
Author(s): Russell Toris
autogenerated on Thu Jun 6 2019 21:34:31