#include <llfiltersd2xmlrpc.h>


Public Member Functions | |
| LLFilterSD2XMLRPCResponse () | |
| virtual | ~LLFilterSD2XMLRPCResponse () |
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. | |
This class filters a serialized LLSD object to an xmlrpc repsonse. Since resonses are limited to a single param, the xmlrprc response only serializes it as one object. This class correctly handles normal llsd responses as well as llsd rpc faults.
For example, if given: {'response':[ i200, r3.4, {"foo":"bar"} ]} Would generate: <?xml version="1.0"?> <methodResponse><params><array><data>
<int>200</int>
<double>3.4</double>
<struct><member> <name>foo</name>
<string>bar</string>
</member> </struct>
</data></array>
</params></methodResponse>
Definition at line 90 of file llfiltersd2xmlrpc.h.
| LLFilterSD2XMLRPCResponse::LLFilterSD2XMLRPCResponse | ( | ) |
Definition at line 307 of file llfiltersd2xmlrpc.cpp.
| LLFilterSD2XMLRPCResponse::~LLFilterSD2XMLRPCResponse | ( | ) | [virtual] |
Definition at line 311 of file llfiltersd2xmlrpc.cpp.
| LLIOPipe::EStatus LLFilterSD2XMLRPCResponse::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 317 of file llfiltersd2xmlrpc.cpp.
References LLSD::asInteger(), DEFAULT_PRECISION, LLSDSerialize::fromNotation(), LLSD::has(), LLChannelDescriptors::in(), llendl, llwarns, PUMP_DEBUG, tut::sd(), LLIOPipe::STATUS_BREAK, LLIOPipe::STATUS_DONE, LLIOPipe::STATUS_ERROR, LLFilterSD2XMLRPC::streamOut(), xml_escape_string(), XML_HEADER, XMLRPC_FAULT_1, XMLRPC_FAULT_2, XMLRPC_FAULT_3, XMLRPC_METHOD_RESPONSE_FOOTER, XMLRPC_METHOD_RESPONSE_HEADER, XMLRPC_RESPONSE_FOOTER, and XMLRPC_RESPONSE_HEADER.

1.5.5