OSRTStream.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 _OSRTSTREAM_H_ 00029 #define _OSRTSTREAM_H_ 00030 00031 #include "rtxsrc/OSRTCtxtHolder.h" 00032 #include "rtxsrc/OSRTStreamIF.h" 00033 00044 class EXTRTCLASS OSRTStream : public OSRTCtxtHolder, public OSRTStreamIF { 00045 protected: 00046 OSBOOL mbAttached; 00047 int mStatus; 00048 int mInitStatus; 00049 00050 EXTRTMETHOD OSRTStream (OSRTContext* pContext, OSBOOL attachStream = FALSE); 00051 EXTRTMETHOD OSRTStream (OSRTStream& original); 00052 00059 EXTRTMETHOD OSRTStream (); 00060 00061 EXTRTMETHOD char* getErrorInfo (size_t* pBufSize); 00062 public: 00066 virtual EXTRTMETHOD ~OSRTStream (); 00067 00078 virtual EXTRTMETHOD int close (); 00079 00088 virtual EXTRTMETHOD int flush (); 00089 00099 virtual OSRTCtxtPtr getContext () { 00100 return OSRTCtxtHolder::getContext (); 00101 } 00102 00109 virtual OSCTXT* getCtxtPtr () { 00110 return OSRTCtxtHolder::getCtxtPtr (); 00111 } 00112 00120 virtual char* getErrorInfo () { 00121 return OSRTCtxtHolder::getErrorInfo (); 00122 } 00123 00140 virtual char* getErrorInfo (char* pBuf, size_t& bufSize) { 00141 return OSRTCtxtHolder::getErrorInfo (pBuf, bufSize); 00142 } 00143 00153 inline int getStatus () const { 00154 return mStatus; 00155 } 00156 00157 inline OSBOOL isInitialized () { return (OSBOOL)(mInitStatus == 0); } 00158 00164 virtual EXTRTMETHOD OSBOOL isOpened (); 00165 00170 inline void printErrorInfo () { 00171 OSRTCtxtHolder::printErrorInfo (); 00172 } 00173 00178 inline void resetErrorInfo () { 00179 OSRTCtxtHolder::resetErrorInfo (); 00180 } 00181 00182 } ; 00183 00186 #endif