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
00097 virtual OSBOOL isA (StreamID id) const {
00098 return id == Unknown;
00099 }
00100
00110 virtual OSRTCtxtPtr getContext () {
00111 return OSRTStream::getContext ();
00112 }
00113
00120 virtual OSCTXT* getCtxtPtr () {
00121 return OSRTStream::getCtxtPtr ();
00122 }
00123
00131 virtual char* getErrorInfo () {
00132 return OSRTStream::getErrorInfo ();
00133 }
00134
00151 virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00152 return OSRTStream::getErrorInfo (pBuf, bufSize);
00153 }
00154
00164 virtual int getPosition (size_t* ppos);
00165
00175 virtual int getStatus () const {
00176 return OSRTStream::getStatus ();
00177 }
00178
00185 virtual EXTRTMETHOD OSBOOL isOpened ();
00186
00196 virtual EXTRTMETHOD OSBOOL markSupported ();
00197
00213 virtual EXTRTMETHOD int mark (size_t readAheadLimit);
00214
00219 inline void printErrorInfo () { OSRTStream::printErrorInfo (); }
00220
00225 inline void resetErrorInfo () { OSRTStream::resetErrorInfo (); }
00226
00236 virtual EXTRTMETHOD long read (OSOCTET* pDestBuf, size_t maxToRead);
00237
00247 virtual EXTRTMETHOD long readBlocking
00248 (OSOCTET* pDestBuf, size_t toReadBytes);
00249
00259 virtual EXTRTMETHOD int reset ();
00260
00271 virtual int setPosition (size_t pos);
00272
00283 virtual EXTRTMETHOD int skip (size_t n);
00284
00285 } ;
00286
00287 #endif