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 _RTXCPPINPUTSTREAMIF_H_
00029 #define _RTXCPPINPUTSTREAMIF_H_
00030
00031 #include "rtxsrc/rtxCppStreamIF.h"
00032
00036 class EXTERNRTX OSInputStreamIF : public OSStreamIF {
00037 public:
00041 virtual ~OSInputStreamIF ();
00042
00051 virtual void close () = 0;
00052
00058 virtual size_t currentPos () = 0;
00059
00066 virtual void flush () = 0;
00067
00074 virtual OSBOOL isOpened () = 0;
00075
00085 virtual OSBOOL markSupported () = 0;
00086
00100 virtual void mark (size_t readAheadLimit) = 0;
00101
00112 virtual size_t read (OSOCTET* pDestBuf, size_t maxToRead) = 0;
00113
00124 virtual size_t readBlocking (OSOCTET* pDestBuf, size_t toReadBytes) = 0;
00125
00133 virtual void reset () = 0;
00134
00143 virtual void skip (size_t n) = 0;
00144
00145 } ;
00146
00147 class EXTERNRTX OSInputStreamPtr {
00148 OSInputStreamIF* mPtr;
00149 public:
00150 inline OSInputStreamPtr (OSInputStreamIF* ptr) : mPtr (ptr) {}
00151 inline ~OSInputStreamPtr () { delete mPtr; }
00152
00153 inline operator OSInputStreamIF* () { return mPtr; }
00154 inline OSInputStreamIF* operator-> () { return mPtr; }
00155 } ;
00156
00157 #endif