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