#include <xmlrpc_manager.h>
Classes | |
struct | FunctionInfo |
Public Member Functions | |
void | addASyncConnection (const ASyncXMLRPCConnectionPtr &conn) |
bool | bind (const std::string &function_name, const XMLRPCFunc &cb) |
uint32_t | getServerPort () const |
const std::string & | getServerURI () const |
Get the xmlrpc server URI of this node. | |
XmlRpc::XmlRpcClient * | getXMLRPCClient (const std::string &host, const int port, const std::string &uri) |
bool | isShuttingDown () |
void | releaseXMLRPCClient (XmlRpc::XmlRpcClient *c) |
void | removeASyncConnection (const ASyncXMLRPCConnectionPtr &conn) |
void | shutdown () |
void | start () |
void | unbind (const std::string &function_name) |
bool | validateXmlrpcResponse (const std::string &method, XmlRpc::XmlRpcValue &response, XmlRpc::XmlRpcValue &payload) |
Validate an XML/RPC response. | |
XMLRPCManager () | |
~XMLRPCManager () | |
Static Public Member Functions | |
static const XMLRPCManagerPtr & | instance () |
Private Types | |
typedef std::map< std::string, FunctionInfo > | M_StringToFuncInfo |
typedef std::vector < CachedXmlRpcClient > | V_CachedXmlRpcClient |
Private Member Functions | |
void | serverThreadFunc () |
Private Attributes | |
S_ASyncXMLRPCConnection | added_connections_ |
boost::mutex | added_connections_mutex_ |
V_CachedXmlRpcClient | clients_ |
boost::mutex | clients_mutex_ |
S_ASyncXMLRPCConnection | connections_ |
M_StringToFuncInfo | functions_ |
boost::mutex | functions_mutex_ |
ros::WallDuration | master_retry_timeout_ |
int | port_ |
S_ASyncXMLRPCConnection | removed_connections_ |
boost::mutex | removed_connections_mutex_ |
XmlRpc::XmlRpcServer | server_ |
boost::thread | server_thread_ |
bool | shutting_down_ |
volatile bool | unbind_requested_ |
std::string | uri_ |
Definition at line 94 of file xmlrpc_manager.h.
typedef std::map<std::string, FunctionInfo> ros::XMLRPCManager::M_StringToFuncInfo [private] |
Definition at line 169 of file xmlrpc_manager.h.
typedef std::vector<CachedXmlRpcClient> ros::XMLRPCManager::V_CachedXmlRpcClient [private] |
Definition at line 147 of file xmlrpc_manager.h.
Definition at line 113 of file xmlrpc_manager.cpp.
Definition at line 120 of file xmlrpc_manager.cpp.
void ros::XMLRPCManager::addASyncConnection | ( | const ASyncXMLRPCConnectionPtr & | conn | ) |
Definition at line 368 of file xmlrpc_manager.cpp.
bool ros::XMLRPCManager::bind | ( | const std::string & | function_name, |
const XMLRPCFunc & | cb | ||
) |
Definition at line 380 of file xmlrpc_manager.cpp.
uint32_t ros::XMLRPCManager::getServerPort | ( | ) | const [inline] |
Definition at line 119 of file xmlrpc_manager.h.
const std::string& ros::XMLRPCManager::getServerURI | ( | ) | const [inline] |
Get the xmlrpc server URI of this node.
Definition at line 118 of file xmlrpc_manager.h.
XmlRpcClient * ros::XMLRPCManager::getXMLRPCClient | ( | const std::string & | host, |
const int | port, | ||
const std::string & | uri | ||
) |
Definition at line 298 of file xmlrpc_manager.cpp.
const XMLRPCManagerPtr & ros::XMLRPCManager::instance | ( | ) | [static] |
Definition at line 99 of file xmlrpc_manager.cpp.
bool ros::XMLRPCManager::isShuttingDown | ( | ) | [inline] |
Definition at line 133 of file xmlrpc_manager.h.
void ros::XMLRPCManager::releaseXMLRPCClient | ( | XmlRpc::XmlRpcClient * | c | ) |
Definition at line 353 of file xmlrpc_manager.cpp.
void ros::XMLRPCManager::removeASyncConnection | ( | const ASyncXMLRPCConnectionPtr & | conn | ) |
Definition at line 374 of file xmlrpc_manager.cpp.
void ros::XMLRPCManager::serverThreadFunc | ( | ) | [private] |
Definition at line 236 of file xmlrpc_manager.cpp.
void ros::XMLRPCManager::shutdown | ( | ) |
Definition at line 144 of file xmlrpc_manager.cpp.
void ros::XMLRPCManager::start | ( | ) |
Definition at line 125 of file xmlrpc_manager.cpp.
void ros::XMLRPCManager::unbind | ( | const std::string & | function_name | ) |
Definition at line 397 of file xmlrpc_manager.cpp.
bool ros::XMLRPCManager::validateXmlrpcResponse | ( | const std::string & | method, |
XmlRpc::XmlRpcValue & | response, | ||
XmlRpc::XmlRpcValue & | payload | ||
) |
Validate an XML/RPC response.
method | The RPC method that was invoked. |
response | The resonse that was received. |
payload | The payload that was received. |
Definition at line 197 of file xmlrpc_manager.cpp.
S_ASyncXMLRPCConnection ros::XMLRPCManager::added_connections_ [private] |
Definition at line 155 of file xmlrpc_manager.h.
boost::mutex ros::XMLRPCManager::added_connections_mutex_ [private] |
Definition at line 156 of file xmlrpc_manager.h.
Definition at line 148 of file xmlrpc_manager.h.
boost::mutex ros::XMLRPCManager::clients_mutex_ [private] |
Definition at line 149 of file xmlrpc_manager.h.
S_ASyncXMLRPCConnection ros::XMLRPCManager::connections_ [private] |
Definition at line 160 of file xmlrpc_manager.h.
Definition at line 171 of file xmlrpc_manager.h.
boost::mutex ros::XMLRPCManager::functions_mutex_ [private] |
Definition at line 170 of file xmlrpc_manager.h.
Definition at line 153 of file xmlrpc_manager.h.
int ros::XMLRPCManager::port_ [private] |
Definition at line 139 of file xmlrpc_manager.h.
S_ASyncXMLRPCConnection ros::XMLRPCManager::removed_connections_ [private] |
Definition at line 157 of file xmlrpc_manager.h.
boost::mutex ros::XMLRPCManager::removed_connections_mutex_ [private] |
Definition at line 158 of file xmlrpc_manager.h.
XmlRpc::XmlRpcServer ros::XMLRPCManager::server_ [private] |
Definition at line 146 of file xmlrpc_manager.h.
boost::thread ros::XMLRPCManager::server_thread_ [private] |
Definition at line 140 of file xmlrpc_manager.h.
bool ros::XMLRPCManager::shutting_down_ [private] |
Definition at line 151 of file xmlrpc_manager.h.
volatile bool ros::XMLRPCManager::unbind_requested_ [private] |
Definition at line 173 of file xmlrpc_manager.h.
std::string ros::XMLRPCManager::uri_ [private] |
Definition at line 138 of file xmlrpc_manager.h.