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
00053 virtual int close () = 0;
00054
00060 virtual size_t currentPos () = 0;
00061
00070 virtual int flush () = 0;
00071
00081 virtual int getStatus () const = 0;
00082
00089 virtual OSBOOL isOpened () = 0;
00090
00100 virtual OSBOOL markSupported () = 0;
00101
00117 virtual int mark (size_t readAheadLimit) = 0;
00118
00131 virtual long read (OSOCTET* pDestBuf, size_t maxToRead) = 0;
00132
00145 virtual long readBlocking (OSOCTET* pDestBuf, size_t toReadBytes) = 0;
00146
00156 virtual int reset () = 0;
00157
00168 virtual int skip (size_t n) = 0;
00169
00170 } ;
00171
00172 class EXTERNRTX OSInputStreamPtr {
00173 OSInputStreamIF* mPtr;
00174 public:
00175 inline OSInputStreamPtr (OSInputStreamIF* ptr) : mPtr (ptr) {}
00176 inline ~OSInputStreamPtr () { delete mPtr; }
00177
00178 inline operator OSInputStreamIF* () { return mPtr; }
00179 inline OSInputStreamIF* operator-> () { return mPtr; }
00180 } ;
00181
00182 #endif