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 _RTXCPPOUTPUTSTREAMIF_H_
00029 #define _RTXCPPOUTPUTSTREAMIF_H_
00030
00031 #include "rtxsrc/rtxCppStreamIF.h"
00032
00036 class EXTERNRTX OSOutputStreamIF : public OSStreamIF {
00037 public:
00041 virtual ~OSOutputStreamIF ();
00042
00053 virtual int close () = 0;
00054
00063 virtual int flush () = 0;
00064
00074 virtual int getStatus () const = 0;
00075
00082 virtual OSBOOL isOpened () = 0;
00083
00095 virtual long write (const OSOCTET* pdata, size_t size) = 0;
00096
00097 } ;
00098
00099 class EXTERNRTX OSOutputStreamPtr {
00100 OSOutputStreamIF* mPtr;
00101 public:
00102 inline OSOutputStreamPtr (OSOutputStreamIF* ptr) : mPtr (ptr) {}
00103 inline ~OSOutputStreamPtr () { delete mPtr; }
00104
00105 inline operator OSOutputStreamIF* () { return mPtr; }
00106 inline OSOutputStreamIF* operator-> () { return mPtr; }
00107 } ;
00108
00109 #endif