00001 #ifndef CLASSLIB_IO_CHANNEL_OUTPUT_STREAM_H 00002 # define CLASSLIB_IO_CHANNEL_OUTPUT_STREAM_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "classlib/iotools/OutputStream.h" 00007 00008 namespace lat { 00009 //<<<<<< PUBLIC DEFINES >>>>>> 00010 //<<<<<< PUBLIC CONSTANTS >>>>>> 00011 //<<<<<< PUBLIC TYPES >>>>>> 00012 00013 class IOChannel; 00014 00015 //<<<<<< PUBLIC VARIABLES >>>>>> 00016 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00017 //<<<<<< CLASS DECLARATIONS >>>>>> 00018 00019 class IOChannelOutputStream : public OutputStream 00020 { 00021 public: 00022 IOChannelOutputStream (IOChannel *output); 00023 ~IOChannelOutputStream (void); 00024 00025 using OutputStream::write; 00026 virtual IOSize write (const void *from, IOSize n); 00027 virtual IOSize writev (const IOBuffer *from, IOSize buffers); 00028 virtual void close (void); 00029 00030 protected: 00031 IOChannel *m_output; //< Actual output 00032 }; 00033 00034 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00035 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00036 00037 } // namespace lat 00038 #endif // CLASSLIB_IO_CHANNEL_OUTPUT_STREAM_H