llioutil.h

Go to the documentation of this file.
00001 
00034 #ifndef LL_LLIOUTIL_H
00035 #define LL_LLIOUTIL_H
00036 
00037 #include "llbuffer.h"
00038 #include "lliopipe.h"
00039 #include "llpumpio.h"
00040 
00049 class LLIOFlush : public LLIOPipe
00050 {
00051 public:
00052         LLIOFlush() {}
00053         virtual ~LLIOFlush() {}
00054 
00055 protected:
00056         /* @name LLIOPipe virtual implementations
00057          */
00059 
00062         EStatus process_impl(
00063                 const LLChannelDescriptors& channels,
00064                 buffer_ptr_t& buffer,
00065                 bool& eos,
00066                 LLSD& context,
00067                 LLPumpIO* pump);
00069 protected:
00070 };
00071 
00078 class LLIOSleep : public LLIOPipe
00079 {
00080 public:
00081         LLIOSleep(F64 sleep_seconds) : mSeconds(sleep_seconds) {}
00082         virtual ~LLIOSleep() {}
00083 
00084 protected:
00085         /* @name LLIOPipe virtual implementations
00086          */
00088 
00091         EStatus process_impl(
00092                 const LLChannelDescriptors& channels,
00093                 buffer_ptr_t& buffer,
00094                 bool& eos,
00095                 LLSD& context,
00096                 LLPumpIO* pump);
00098 protected:
00099         F64 mSeconds;
00100 };
00101 
00107 class LLIOAddChain : public LLIOPipe
00108 {
00109 public:
00110         LLIOAddChain(const LLPumpIO::chain_t& chain, F32 timeout) :
00111                 mChain(chain),
00112                 mTimeout(timeout)
00113         {}
00114         virtual ~LLIOAddChain() {}
00115 
00116 protected:
00117         /* @name LLIOPipe virtual implementations
00118          */
00120 
00123         EStatus process_impl(
00124                 const LLChannelDescriptors& channels,
00125                 buffer_ptr_t& buffer,
00126                 bool& eos,
00127                 LLSD& context,
00128                 LLPumpIO* pump);
00130 
00131 protected:
00132         LLPumpIO::chain_t mChain;
00133         F32 mTimeout;
00134 };
00135 
00155 class LLChangeChannel //: public unary_function<T, void>
00156 {
00157 public:
00164         LLChangeChannel(S32 is, S32 becomes);
00165 
00169         void operator()(LLSegment& segment);
00170 
00171 protected:
00172         S32 mIs;
00173         S32 mBecomes;
00174 };
00175 
00176 
00177 #endif // LL_LLIOUTIL_H

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