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 OSRTStreamIF {
00045 protected:
00046 OSRTCtxtHolder mCtxtHolder;
00047 OSBOOL mbAttached;
00048 int mStatus;
00049 int mInitStatus;
00050
00051 EXTRTMETHOD OSRTStream (OSRTContext* pContext, OSBOOL attachStream = FALSE);
00052 EXTRTMETHOD OSRTStream (OSRTStream& original);
00053
00060 EXTRTMETHOD OSRTStream ();
00061
00062 EXTRTMETHOD char* getErrorInfo (size_t* pBufSize);
00063
00064 public:
00068 virtual EXTRTMETHOD ~OSRTStream ();
00069
00080 virtual EXTRTMETHOD int close ();
00081
00090 virtual EXTRTMETHOD int flush ();
00091
00101 virtual OSRTCtxtPtr getContext () {
00102 return mCtxtHolder.getContext ();
00103 }
00104
00111 virtual OSCTXT* getCtxtPtr () {
00112 return mCtxtHolder.getCtxtPtr ();
00113 }
00114
00122 virtual char* getErrorInfo () {
00123 return mCtxtHolder.getErrorInfo ();
00124 }
00125
00142 virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00143 return mCtxtHolder.getErrorInfo (pBuf, bufSize);
00144 }
00145
00155 inline int getStatus () const {
00156 return mStatus;
00157 }
00158
00159 inline OSBOOL isInitialized () { return (OSBOOL)(mInitStatus == 0); }
00160
00166 virtual EXTRTMETHOD OSBOOL isOpened ();
00167
00172 inline void printErrorInfo () {
00173 mCtxtHolder.printErrorInfo ();
00174 }
00175
00180 inline void resetErrorInfo () {
00181 mCtxtHolder.resetErrorInfo ();
00182 }
00183
00184 } ;
00185
00188 #endif