00001 /* Copyright (c) 2006, Gennady Bystritsky <bystr@mac.com> 00002 * 00003 * Distributed under the MIT Licence. 00004 * This is free software. See 'LICENSE' for details. 00005 * You must read and accept the license prior to use. 00006 */ 00007 00008 #ifndef _SK_IO_FILEOUTPUTSTREAM_ 00009 #define _SK_IO_FILEOUTPUTSTREAM_ 00010 00011 #include <sk/io/FileDescriptorOutputStream.h> 00012 #include <sk/io/FileStreamCoupler.hxx> 00013 #include <sk/io/File.h> 00014 00015 namespace sk { 00016 namespace io { 00017 class FileOutputStream 00018 : public FileStreamCoupler<FileDescriptorOutputStream> 00019 { 00020 public: 00021 FileOutputStream(const sk::io::File& file); 00022 FileOutputStream(const sk::util::String& name); 00023 FileOutputStream(const sk::util::String& name, bool append); 00024 virtual ~FileOutputStream(); 00025 00026 // sk::util::Object re-implementation. 00027 const sk::util::Class getClass() const; 00028 00029 private: 00030 FileOutputStream(const FileOutputStream& other); 00031 FileOutputStream& operator = (const FileOutputStream& other); 00032 }; 00033 } 00034 } 00035 00036 #endif /* _SK_IO_FILEOUTPUTSTREAM_ */