Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ros::XMLRPCManager Class Reference

#include <xmlrpc_manager.h>


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. More...
XmlRpc::XmlRpcClientgetXMLRPCClient (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. More...
 XMLRPCManager ()
 ~XMLRPCManager ()

Static Public Member Functions

static const XMLRPCManagerPtrinstance ()

Private Types

typedef std::map< std::string, FunctionInfoM_StringToFuncInfo
typedef std::vector< CachedXmlRpcClientV_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_

Detailed Description

Definition at line 94 of file xmlrpc_manager.h.

Member Typedef Documentation

typedef std::map<std::string, FunctionInfo> ros::XMLRPCManager::M_StringToFuncInfo

Definition at line 169 of file xmlrpc_manager.h.

Definition at line 147 of file xmlrpc_manager.h.

Constructor & Destructor Documentation

ros::XMLRPCManager::XMLRPCManager ( )

Definition at line 104 of file xmlrpc_manager.cpp.

ros::XMLRPCManager::~XMLRPCManager ( )

Definition at line 111 of file xmlrpc_manager.cpp.

Member Function Documentation

void ros::XMLRPCManager::addASyncConnection ( const ASyncXMLRPCConnectionPtr conn)

Definition at line 392 of file xmlrpc_manager.cpp.

bool ros::XMLRPCManager::bind ( const std::string &  function_name,
const XMLRPCFunc cb 

Definition at line 404 of file xmlrpc_manager.cpp.

uint32_t ros::XMLRPCManager::getServerPort ( ) const

Definition at line 119 of file xmlrpc_manager.h.

const std::string& ros::XMLRPCManager::getServerURI ( ) const

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 312 of file xmlrpc_manager.cpp.

const XMLRPCManagerPtr & ros::XMLRPCManager::instance ( )

Definition at line 98 of file xmlrpc_manager.cpp.

bool ros::XMLRPCManager::isShuttingDown ( )

Definition at line 133 of file xmlrpc_manager.h.

void ros::XMLRPCManager::releaseXMLRPCClient ( XmlRpc::XmlRpcClient c)

Definition at line 367 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::removeASyncConnection ( const ASyncXMLRPCConnectionPtr conn)

Definition at line 398 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::serverThreadFunc ( )

Definition at line 250 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::shutdown ( )

Definition at line 135 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::start ( )

Definition at line 116 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::unbind ( const std::string &  function_name)

Definition at line 421 of file xmlrpc_manager.cpp.

bool ros::XMLRPCManager::validateXmlrpcResponse ( const std::string &  method,
XmlRpc::XmlRpcValue response,
XmlRpc::XmlRpcValue payload 

Validate an XML/RPC response.

methodThe RPC method that was invoked.
responseThe resonse that was received.
payloadThe payload that was received.
true if validation succeeds, false otherwise.
Consider making this private.

Definition at line 202 of file xmlrpc_manager.cpp.

Member Data Documentation

S_ASyncXMLRPCConnection ros::XMLRPCManager::added_connections_

Definition at line 155 of file xmlrpc_manager.h.

boost::mutex ros::XMLRPCManager::added_connections_mutex_

Definition at line 156 of file xmlrpc_manager.h.

V_CachedXmlRpcClient ros::XMLRPCManager::clients_

Definition at line 148 of file xmlrpc_manager.h.

boost::mutex ros::XMLRPCManager::clients_mutex_

Definition at line 149 of file xmlrpc_manager.h.

S_ASyncXMLRPCConnection ros::XMLRPCManager::connections_

Definition at line 160 of file xmlrpc_manager.h.

M_StringToFuncInfo ros::XMLRPCManager::functions_

Definition at line 171 of file xmlrpc_manager.h.

boost::mutex ros::XMLRPCManager::functions_mutex_

Definition at line 170 of file xmlrpc_manager.h.

ros::WallDuration ros::XMLRPCManager::master_retry_timeout_

Definition at line 153 of file xmlrpc_manager.h.

int ros::XMLRPCManager::port_

Definition at line 139 of file xmlrpc_manager.h.

S_ASyncXMLRPCConnection ros::XMLRPCManager::removed_connections_

Definition at line 157 of file xmlrpc_manager.h.

boost::mutex ros::XMLRPCManager::removed_connections_mutex_

Definition at line 158 of file xmlrpc_manager.h.

XmlRpc::XmlRpcServer ros::XMLRPCManager::server_

Definition at line 146 of file xmlrpc_manager.h.

boost::thread ros::XMLRPCManager::server_thread_

Definition at line 140 of file xmlrpc_manager.h.

bool ros::XMLRPCManager::shutting_down_

Definition at line 151 of file xmlrpc_manager.h.

volatile bool ros::XMLRPCManager::unbind_requested_

Definition at line 173 of file xmlrpc_manager.h.

std::string ros::XMLRPCManager::uri_

Definition at line 138 of file xmlrpc_manager.h.

The documentation for this class was generated from the following files:

Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim, Dirk Thomas
autogenerated on Mon Nov 2 2020 03:52:27