OSRTInputStream.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2010 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
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 (OSRTContext* mpContext, OSBOOL attachStream = FALSE);
00054 
00058    virtual EXTRTMETHOD ~OSRTInputStream ();
00059 
00070    virtual EXTRTMETHOD int close ();
00071 
00077    virtual EXTRTMETHOD size_t currentPos ();
00078 
00087    virtual EXTRTMETHOD int flush ();
00088 
00098    virtual OSRTCtxtPtr getContext () {
00099       return OSRTStream::getContext ();
00100    }
00101 
00108    virtual OSCTXT* getCtxtPtr () {
00109       return OSRTStream::getCtxtPtr ();
00110    }
00111 
00119    virtual char* getErrorInfo () {
00120       return OSRTStream::getErrorInfo ();
00121    }
00122 
00139    virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00140       return OSRTStream::getErrorInfo (pBuf, bufSize);
00141    }
00142 
00152    virtual int getStatus () const {
00153       return OSRTStream::getStatus ();
00154    }
00155 
00162    virtual EXTRTMETHOD OSBOOL isOpened ();
00163 
00173    virtual EXTRTMETHOD OSBOOL markSupported ();
00174 
00190    virtual EXTRTMETHOD int mark (size_t readAheadLimit);
00191 
00196    inline void printErrorInfo () { OSRTStream::printErrorInfo (); }
00197 
00202    inline void resetErrorInfo () { OSRTStream::resetErrorInfo (); }
00203 
00213    virtual EXTRTMETHOD long read (OSOCTET* pDestBuf, size_t maxToRead);
00214 
00224    virtual EXTRTMETHOD long readBlocking (OSOCTET* pDestBuf, size_t toReadBytes);
00225 
00235    virtual EXTRTMETHOD int reset ();
00236 
00247    virtual EXTRTMETHOD int skip (size_t n);
00248 
00249 } ;
00250 
00251 #endif /* _OSRTINPUTSTREAM_H_ */