llpipeutil.h

Go to the documentation of this file.
00001 
00033 #ifndef LL_LLPIPEUTIL_H
00034 #define LL_LLPIPEUTIL_H
00035 
00036 #include "lliopipe.h"
00037 
00038 
00042 F32 pump_loop(LLPumpIO* pump, F32 seconds);
00043 
00048 class LLPipeStringInjector : public LLIOPipe
00049 {
00050 public:
00051         LLPipeStringInjector(const std::string& string)
00052                 : mString(string)
00053                 { }
00054           
00055 protected:
00056     virtual EStatus process_impl(
00057                 const LLChannelDescriptors& channels,
00058                 buffer_ptr_t& buffer,
00059                 bool& eos,
00060                 LLSD& context,
00061                 LLPumpIO* pump);
00062 
00063 private:
00064         std::string mString;
00065 };
00066 
00067 
00068 class LLPipeStringExtractor : public LLIOPipe
00069 {
00070 public:
00071         LLPipeStringExtractor() : mDone(false) { }
00072         
00073         bool done() { return mDone; }
00074         std::string string() { return mString; }
00075         
00076 protected:
00077         // LLIOPipe API implementation.
00078         virtual EStatus process_impl(
00079         const LLChannelDescriptors& channels,
00080         LLIOPipe::buffer_ptr_t& buffer,
00081         bool& eos,
00082         LLSD& context,
00083         LLPumpIO* pump);
00084 
00085 private:
00086         bool mDone;
00087         std::string mString;
00088 };
00089 
00093 class LLIOFuzz : public LLIOPipe
00094 {
00095 public:
00096         LLIOFuzz(int byte_count) : mByteCount(byte_count) {}
00097           
00098 protected:
00099     virtual EStatus process_impl(
00100                 const LLChannelDescriptors& channels,
00101                 buffer_ptr_t& buffer,
00102                 bool& eos,
00103                 LLSD& context,
00104                 LLPumpIO* pump);
00105 
00106 private:
00107         int mByteCount;
00108 };
00109 
00113 class LLIOASCIIFuzz : public LLIOPipe
00114 {
00115 public:
00116         LLIOASCIIFuzz(int byte_count) : mByteCount(byte_count) {}
00117           
00118 protected:
00119     virtual EStatus process_impl(
00120                 const LLChannelDescriptors& channels,
00121                 buffer_ptr_t& buffer,
00122                 bool& eos,
00123                 LLSD& context,
00124                 LLPumpIO* pump);
00125 
00126 private:
00127         int mByteCount;
00128 };
00129 
00130 
00134 class LLIONull : public LLIOPipe
00135 {
00136 public:
00137         LLIONull() {}
00138           
00139 protected:
00140     virtual EStatus process_impl(
00141                 const LLChannelDescriptors& channels,
00142                 buffer_ptr_t& buffer,
00143                 bool& eos,
00144                 LLSD& context,
00145                 LLPumpIO* pump);
00146 };
00147 
00148 #endif // LL_LLPIPEUTIL_H

Generated on Thu Jul 1 06:09:00 2010 for Second Life Viewer by  doxygen 1.4.7