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 _OSRTINPUTSTREAM_H_
00029 #define _OSRTINPUTSTREAM_H_
00030
00031 #include "rtxsrc/OSRTInputStreamIF.h"
00032 #include "rtxsrc/OSRTStream.h"
00033
00041 class EXTRTCLASS OSRTInputStream : public OSRTStream, public OSRTInputStreamIF {
00042 public:
00051 EXTRTMETHOD OSRTInputStream ();
00052
00053 EXTRTMETHOD OSRTInputStream
00054 (OSRTContext* mpContext, OSBOOL attachStream = FALSE);
00055
00059 virtual EXTRTMETHOD ~OSRTInputStream ();
00060
00071 virtual EXTRTMETHOD int close ();
00072
00078 virtual EXTRTMETHOD size_t currentPos ();
00079
00088 virtual EXTRTMETHOD int flush ();
00089
00099 virtual OSRTCtxtPtr getContext () {
00100 return OSRTStream::getContext ();
00101 }
00102
00109 virtual OSCTXT* getCtxtPtr () {
00110 return OSRTStream::getCtxtPtr ();
00111 }
00112
00120 virtual char* getErrorInfo () {
00121 return OSRTStream::getErrorInfo ();
00122 }
00123
00140 virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00141 return OSRTStream::getErrorInfo (pBuf, bufSize);
00142 }
00143
00153 virtual int getPosition (size_t* ppos);
00154
00164 virtual int getStatus () const {
00165 return OSRTStream::getStatus ();
00166 }
00167
00174 virtual EXTRTMETHOD OSBOOL isOpened ();
00175
00185 virtual EXTRTMETHOD OSBOOL markSupported ();
00186
00202 virtual EXTRTMETHOD int mark (size_t readAheadLimit);
00203
00208 inline void printErrorInfo () { OSRTStream::printErrorInfo (); }
00209
00214 inline void resetErrorInfo () { OSRTStream::resetErrorInfo (); }
00215
00225 virtual EXTRTMETHOD long read (OSOCTET* pDestBuf, size_t maxToRead);
00226
00236 virtual EXTRTMETHOD long readBlocking
00237 (OSOCTET* pDestBuf, size_t toReadBytes);
00238
00248 virtual EXTRTMETHOD int reset ();
00249
00260 virtual int setPosition (size_t pos);
00261
00272 virtual EXTRTMETHOD int skip (size_t n);
00273
00274 } ;
00275
00276 #endif