#include <llfiltersd2xmlrpc.h>
Inheritance diagram for LLFilterSD2XMLRPCResponse:
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 DEFAULT_PRECISION, LLSDSerialize::fromNotation(), 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.