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>

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. 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
private

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

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

Definition at line 98 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 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 ( )
private

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.

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

Definition at line 202 of file xmlrpc_manager.cpp.

Member Data Documentation

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.

V_CachedXmlRpcClient ros::XMLRPCManager::clients_
private

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.

M_StringToFuncInfo ros::XMLRPCManager::functions_
private

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.

ros::WallDuration ros::XMLRPCManager::master_retry_timeout_
private

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.


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


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