llfiltersd2xmlrpc.h

Go to the documentation of this file.
00001 
00033 #ifndef LL_LLFILTERSD2XMLRPC_H
00034 #define LL_LLFILTERSD2XMLRPC_H
00035 
00043 #include <iosfwd>
00044 #include "lliopipe.h"
00045 
00053 class LLFilterSD2XMLRPC : public LLIOPipe
00054 {
00055 public:
00056         LLFilterSD2XMLRPC();
00057         virtual ~LLFilterSD2XMLRPC();
00058 
00059 protected:
00063         void streamOut(std::ostream& ostr, const LLSD& sd);
00064 };
00065 
00090 class LLFilterSD2XMLRPCResponse : public LLFilterSD2XMLRPC
00091 {
00092 public:
00093         // constructor
00094         LLFilterSD2XMLRPCResponse();
00095 
00096         // destructor
00097         virtual ~LLFilterSD2XMLRPCResponse();
00098 
00099         /* @name LLIOPipe virtual implementations
00100          */
00102 protected:
00106         virtual EStatus process_impl(
00107                 const LLChannelDescriptors& channels,
00108                 buffer_ptr_t& buffer,
00109                 bool& eos,
00110                 LLSD& context,
00111                 LLPumpIO* pump);
00113 };
00114 
00146 class LLFilterSD2XMLRPCRequest : public LLFilterSD2XMLRPC
00147 {
00148 public:
00149         // constructor
00150         LLFilterSD2XMLRPCRequest();
00151 
00152         // constructor
00153         LLFilterSD2XMLRPCRequest(const char* method);
00154 
00155         // destructor
00156         virtual ~LLFilterSD2XMLRPCRequest();
00157 
00158         /* @name LLIOPipe virtual implementations
00159          */
00161 protected:
00165         virtual EStatus process_impl(
00166                 const LLChannelDescriptors& channels,
00167                 buffer_ptr_t& buffer,
00168                 bool& eos,
00169                 LLSD& context,
00170                 LLPumpIO* pump);
00172 
00173 protected:
00174         // The method name of this request.
00175         std::string mMethod;
00176 };
00177 
00193 class LLFilterXMLRPCResponse2LLSD : public LLIOPipe
00194 {
00195 public:
00196         // constructor
00197         LLFilterXMLRPCResponse2LLSD();
00198 
00199         // destructor
00200         virtual ~LLFilterXMLRPCResponse2LLSD();
00201 
00202         /* @name LLIOPipe virtual implementations
00203          */
00205 protected:
00209         virtual EStatus process_impl(
00210                 const LLChannelDescriptors& channels,
00211                 buffer_ptr_t& buffer,
00212                 bool& eos,
00213                 LLSD& context,
00214                 LLPumpIO* pump);
00216 
00217 protected:
00218 };
00219 
00236 class LLFilterXMLRPCRequest2LLSD : public LLIOPipe
00237 {
00238 public:
00239         // constructor
00240         LLFilterXMLRPCRequest2LLSD();
00241 
00242         // destructor
00243         virtual ~LLFilterXMLRPCRequest2LLSD();
00244 
00245         /* @name LLIOPipe virtual implementations
00246          */
00248 protected:
00252         virtual EStatus process_impl(
00253                 const LLChannelDescriptors& channels,
00254                 buffer_ptr_t& buffer,
00255                 bool& eos,
00256                 LLSD& context,
00257                 LLPumpIO* pump);
00259 
00260 protected:
00261 };
00262 
00267 std::string xml_escape_string(const std::string& in);
00268 
00272 extern const char LLSDRPC_REQUEST_HEADER_1[];
00273 extern const char LLSDRPC_REQUEST_HEADER_2[];
00274 extern const char LLSDRPC_REQUEST_FOOTER[];
00275 
00276 #endif // LL_LLFILTERSD2XMLRPC_H

Generated on Thu Jul 1 06:08:30 2010 for Second Life Viewer by  doxygen 1.4.7