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 XMLRPCManagerPtrinstance ()

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 93 of file xmlrpc_manager.h.


Member Typedef Documentation

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

Definition at line 167 of file xmlrpc_manager.h.

Definition at line 145 of file xmlrpc_manager.h.


Constructor & Destructor Documentation

ros::XMLRPCManager::XMLRPCManager (  ) 

Definition at line 112 of file xmlrpc_manager.cpp.

ros::XMLRPCManager::~XMLRPCManager (  ) 

Definition at line 119 of file xmlrpc_manager.cpp.


Member Function Documentation

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

Definition at line 366 of file xmlrpc_manager.cpp.

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

Definition at line 378 of file xmlrpc_manager.cpp.

uint32_t ros::XMLRPCManager::getServerPort (  )  const [inline]

Definition at line 117 of file xmlrpc_manager.h.

const std::string& ros::XMLRPCManager::getServerURI (  )  const [inline]

Get the xmlrpc server URI of this node.

Definition at line 116 of file xmlrpc_manager.h.

XmlRpcClient * ros::XMLRPCManager::getXMLRPCClient ( const std::string &  host,
const int  port,
const std::string &  uri 
)

Definition at line 296 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 131 of file xmlrpc_manager.h.

void ros::XMLRPCManager::releaseXMLRPCClient ( XmlRpc::XmlRpcClient *  c  ) 
void ros::XMLRPCManager::removeASyncConnection ( const ASyncXMLRPCConnectionPtr conn  ) 

Definition at line 372 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::serverThreadFunc (  )  [private]

Definition at line 234 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::shutdown (  ) 

Definition at line 142 of file xmlrpc_manager.cpp.

void ros::XMLRPCManager::start (  ) 

Definition at line 124 of file xmlrpc_manager.cpp.

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

Definition at line 395 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:
method The RPC method that was invoked.
response The resonse that was received.
payload The payload that was received.
Returns:
true if validation succeeds, false otherwise.
Todo:
Consider making this private.

Member Data Documentation

Definition at line 153 of file xmlrpc_manager.h.

Definition at line 154 of file xmlrpc_manager.h.

Definition at line 146 of file xmlrpc_manager.h.

boost::mutex ros::XMLRPCManager::clients_mutex_ [private]

Definition at line 147 of file xmlrpc_manager.h.

Definition at line 158 of file xmlrpc_manager.h.

Definition at line 169 of file xmlrpc_manager.h.

boost::mutex ros::XMLRPCManager::functions_mutex_ [private]

Definition at line 168 of file xmlrpc_manager.h.

ros::WallDuration ros::XMLRPCManager::master_retry_timeout_ [private]

Definition at line 151 of file xmlrpc_manager.h.

Definition at line 137 of file xmlrpc_manager.h.

Definition at line 155 of file xmlrpc_manager.h.

Definition at line 156 of file xmlrpc_manager.h.

XmlRpc::XmlRpcServer ros::XMLRPCManager::server_ [private]

Definition at line 144 of file xmlrpc_manager.h.

boost::thread ros::XMLRPCManager::server_thread_ [private]

Definition at line 138 of file xmlrpc_manager.h.

Definition at line 149 of file xmlrpc_manager.h.

volatile bool ros::XMLRPCManager::unbind_requested_ [private]

Definition at line 171 of file xmlrpc_manager.h.

std::string ros::XMLRPCManager::uri_ [private]

Definition at line 136 of file xmlrpc_manager.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


roscpp
Author(s): Morgan Quigley mquigley@cs.stanford.edu, Josh Faust jfaust@willowgarage.com, Brian Gerkey gerkey@willowgarage.com
autogenerated on Fri Jan 11 10:08:42 2013