OSRTInputStreamIF.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _OSRTINPUTSTREAMIF_H_
00029 #define _OSRTINPUTSTREAMIF_H_
00030
00031 #include "rtxsrc/OSRTStreamIF.h"
00032
00043 class EXTRTCLASS OSRTInputStreamIF : public OSRTStreamIF {
00044 public:
00048 virtual EXTRTMETHOD ~OSRTInputStreamIF ();
00049
00055 virtual size_t currentPos () = 0;
00056
00066 virtual OSBOOL markSupported () = 0;
00067
00083 virtual int mark (size_t readAheadLimit) = 0;
00084
00097 virtual long read (OSOCTET* pDestBuf, size_t maxToRead) = 0;
00098
00111 virtual long readBlocking (OSOCTET* pDestBuf, size_t toReadBytes) = 0;
00112
00122 virtual int reset () = 0;
00123
00134 virtual int skip (size_t n) = 0;
00135
00136 } ;
00137
00138 class EXTRTCLASS OSRTInputStreamPtr {
00139 OSRTInputStreamIF* mPtr;
00140 public:
00141 inline OSRTInputStreamPtr (OSRTInputStreamIF* ptr) : mPtr (ptr) {}
00142 inline ~OSRTInputStreamPtr () { delete mPtr; }
00143
00144 inline operator OSRTInputStreamIF* () { return mPtr; }
00145 inline OSRTInputStreamIF* operator-> () { return mPtr; }
00146 } ;
00147
00150 #endif