Filter from serialized LLSD to an XMLRPC method call. More...
#include <llfiltersd2xmlrpc.h>
Public Member Functions | |
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. |
Filter from serialized LLSD to an XMLRPC method call.
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.
LLFilterSD2XMLRPCRequest::LLFilterSD2XMLRPCRequest | ( | ) |