Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
ros::XMLRPCManager Class Reference

#include <xmlrpc_manager.h>

List of all members.

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_

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

Definition at line 113 of file xmlrpc_manager.cpp.

Definition at line 120 of file xmlrpc_manager.cpp.


Member Function Documentation

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.

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.

Definition at line 236 of file xmlrpc_manager.cpp.

Definition at line 144 of file xmlrpc_manager.cpp.

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.

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


Member Data Documentation

S_ASyncXMLRPCConnection ros::XMLRPCManager::added_connections_ [private]

Definition at line 155 of file xmlrpc_manager.h.

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.

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.

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.

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 mquigley@cs.stanford.edu, Josh Faust jfaust@willowgarage.com, Brian Gerkey gerkey@willowgarage.com, Troy Straszheim straszheim@willowgarage.com
autogenerated on Sat Dec 28 2013 17:35:53