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 _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