Go to the documentation of this file.00001 #ifndef INTERACTIVE_WORLD_MODEL_FETCHER_HPP_
00002 #define INTERACTIVE_WORLD_MODEL_FETCHER_HPP_
00003
00004 #include <ros/ros.h>
00005 #include <interactive_world_msgs/LoadModels.h>
00006 #include <geometry_msgs/Pose.h>
00007 #include <jsoncpp/json/json.h>
00008
00009 #define DEFAULT_RMS_HOST "localhost"
00010
00011 class interactive_world_model_fetcher
00012 {
00013 public:
00014 interactive_world_model_fetcher();
00015
00016 bool load_models_cb(interactive_world_msgs::LoadModels::Request &req, interactive_world_msgs::LoadModels::Response &resp);
00017
00018 private:
00019 geometry_msgs::Pose parse_pose(Json::Value &json);
00020
00021 geometry_msgs::Point parse_point(Json::Value &json);
00022
00023 interactive_world_msgs::Surface parse_surface(Json::Value &json);
00024
00025 interactive_world_msgs::PointOfInterest parse_poi(Json::Value &json);
00026
00027 ros::NodeHandle private_;
00028
00029 std::string host_;
00030 ros::ServiceServer load_models_;
00031 };
00032
00033 static size_t curl_write_cb(void *contents, size_t size, size_t nmemb, void *userp);
00034
00035 int main(int argc, char **argv);
00036
00037 #endif