#include <llfiltersd2xmlrpc.h>
Inheritance diagram for LLFilterSD2XMLRPCRequest:
Public Member Functions | |
LLFilterSD2XMLRPCRequest () | |
LLFilterSD2XMLRPCRequest (const char *method) | |
virtual | ~LLFilterSD2XMLRPCRequest () |
Protected Member Functions | |
virtual EStatus | process_impl (const LLChannelDescriptors &channels, buffer_ptr_t &buffer, bool &eos, LLSD &context, LLPumpIO *pump) |
Process the data in buffer. | |
Protected Attributes | |
std::string | mMethod |
This class will accept any kind of serialized LLSD object, but you probably want to have an array on the outer boundary since this object will interpret each element in the top level LLSD as a parameter into the xmlrpc spec.
For example, you would represent 3 params as: {'method'='foo', 'parameter':[i200, r3.4, {"foo":"bar"}]}
To generate: <?xml version="1.0"?> <methodCall><params>
<int>200</int>
<double>3.4</double>
<struct><member> <name>foo</name>
<string>bar</string>
</member> </struct>
</params></methodCall>
This class will accept 2 different kinds of encodings. The first just an array of params as long as you specify the method in the constructor. It will also accept a structured data in the form: {'method':'$method_name', 'parameter':[...] } In the latter form, the encoded 'method' will be used regardless of the construction of the object, and the 'parameter' will be used as parameter to the call.
Definition at line 146 of file llfiltersd2xmlrpc.h.
LLFilterSD2XMLRPCRequest::LLFilterSD2XMLRPCRequest | ( | ) |
Definition at line 374 of file llfiltersd2xmlrpc.cpp.
LLFilterSD2XMLRPCRequest::LLFilterSD2XMLRPCRequest | ( | const char * | method | ) |
LLFilterSD2XMLRPCRequest::~LLFilterSD2XMLRPCRequest | ( | ) | [virtual] |
Definition at line 386 of file llfiltersd2xmlrpc.cpp.
LLIOPipe::EStatus LLFilterSD2XMLRPCRequest::process_impl | ( | const LLChannelDescriptors & | channels, | |
buffer_ptr_t & | buffer, | |||
bool & | eos, | |||
LLSD & | context, | |||
LLPumpIO * | pump | |||
) | [protected, virtual] |
Process the data in buffer.
Definition at line 391 of file llfiltersd2xmlrpc.cpp.
References LLSD::beginArray(), DEFAULT_PRECISION, end, LLSD::endArray(), LLSDSerialize::fromNotation(), llendl, llinfos, llwarns, mMethod, PUMP_DEBUG, tut::sd(), LLIOPipe::STATUS_BREAK, LLIOPipe::STATUS_DONE, LLIOPipe::STATUS_ERROR, LLFilterSD2XMLRPC::streamOut(), LLSD::type(), LLSD::TypeArray, LLSD::TypeMap, xml_escape_string(), XML_HEADER, XMLRPC_REQUEST_FOOTER, XMLRPC_REQUEST_HEADER_1, and XMLRPC_REQUEST_HEADER_2.
std::string LLFilterSD2XMLRPCRequest::mMethod [protected] |
Definition at line 175 of file llfiltersd2xmlrpc.h.
Referenced by LLFilterSD2XMLRPCRequest(), and process_impl().