OSRTInputStream.h
Go to the documentation of this file.00001 /* 00002 * Copyright (c) 2003-2017 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 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 /* _OSRTINPUTSTREAM_H_ */