23 #ifndef __PLUGINS_ROS_WEBVIEW_THREAD_H_
24 #define __PLUGINS_ROS_WEBVIEW_THREAD_H_
26 #include <core/threading/thread.h>
27 #include <core/utils/lockptr.h>
28 #include <aspect/logging.h>
29 #include <aspect/configurable.h>
30 #include <aspect/clock.h>
31 #include <aspect/webview.h>
32 #include <plugins/ros/aspect/ros.h>
34 #include <ros/service_server.h>
35 #include <webview_msgs/UrlRegistration.h>
36 #include <webview_msgs/NavRegistration.h>
60 bool srv_register_cb(webview_msgs::UrlRegistration::Request &req,
61 webview_msgs::UrlRegistration::Response &resp);
63 bool srv_unregister_cb(webview_msgs::UrlRegistration::Request &req,
64 webview_msgs::UrlRegistration::Response &resp);
66 bool srv_add_nav_cb(webview_msgs::NavRegistration::Request &req,
67 webview_msgs::NavRegistration::Response &resp);
69 bool srv_remove_nav_cb(webview_msgs::NavRegistration::Request &req,
70 webview_msgs::NavRegistration::Response &resp);
73 protected:
virtual void run() { Thread::run(); }
76 ros::ServiceServer __srv_register;
77 ros::ServiceServer __srv_unregister;
78 ros::ServiceServer __srv_add_nav;
79 ros::ServiceServer __srv_remove_nav;
81 std::map<std::string, ROSWebviewRequestProcessor *> __procs;
82 std::map<std::string, std::string> __nav_entries;