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 _RTXCPPSTREAM_H_
00029 #define _RTXCPPSTREAM_H_
00030
00031 #include "rtxsrc/rtxCppException.h"
00032 #include "rtxsrc/rtxCppContext.h"
00033 #include "rtxsrc/rtxCppStreamIF.h"
00034
00038 class EXTERNRTX OSStreamException : public OSRTLException {
00039 public:
00041 OSStreamException (int stat) : OSRTLException(stat) {}
00042
00044 OSStreamException (OSContext* pContext, int stat) :
00045 OSRTLException(pContext, stat) {}
00046
00048 OSStreamException (const OSStreamException& o) :
00049 OSRTLException(o) {}
00050 } ;
00051
00055 class EXTERNRTX OSStream : public OSStreamIF {
00056 protected:
00057 OSCtxtPtr mpContext;
00058 OSBOOL mbAttached;
00059
00060 OSStream (OSContext* pContext, OSBOOL attachStream = FALSE);
00061 OSStream (OSStream& original);
00062
00071 OSStream ();
00072
00073 public:
00077 virtual ~OSStream ();
00078
00087 virtual void close ();
00088
00095 virtual void flush ();
00096
00106 virtual OSCtxtPtr getContext () {
00107 return mpContext;
00108 }
00109
00116 virtual OSCTXT* getCtxtPtr () {
00117 return mpContext->getPtr();
00118 }
00119
00125 virtual OSBOOL isOpened ();
00126 } ;
00127
00128 #endif