Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members  

FileOutputStream

00001 /*
00002  * NOTE: "zlib/libpng" style License
00003  *
00004  *                 ----=== s t d n e t ===----
00005  *
00006  * Copyright (c) 2002 Warwick Molloy   w-molloy@users.sf.net
00007  *
00008  * Copyright (c) 2002 Stdnet Community
00009  * HTTP://Sourceforge.net/projects/stdnet
00010  *
00011  * All references to "software" refer to the stdnet.
00012  *
00013  * This software is provided 'as-is', without any express or
00014  * implied warranty. In no event will the authors be held liable
00015  * for any damages arising from the use of this software.
00016  *
00017  * Permission is granted to anyone to use this software for any
00018  * purpose, including commercial applications, and to alter it
00019  * and redistribute it freely, subject to the following
00020  * restrictions:
00021  *
00022  * 1.  The origin of this software must not be misrepresented;
00023  *     you must not claim that you wrote the original software.
00024  *     If you use this software in a product, an acknowledgment
00025  *     in the product documentation would be appreciated but
00026  *     is not required.
00027  *
00028  * 2.  Altered source versions must be plainly marked as such,
00029  *     and must not be misrepresented as being the original
00030  *     software.
00031  *
00032  * 3.  This notice may not be removed or altered from any source
00033  *     distribution.
00034  */
00035 
00036 #ifndef __io_FileOutputStream__
00037 #define __io_FileOutputStream__
00038 
00039 #include <stdnet/config.h>
00040 #include <stdnet/system/Object>
00041 #include <stdnet/io/OutputStream>
00042 
00043 namespace stdbase {
00044     namespace io {
00045 
00046 class FileOutputStream :
00047         public system::Object,
00048         public OutputStream
00049 {
00050 protected:
00051     FileOutputStream( ::stdbase::system::StringRef name );
00052     FileOutputStream( const ::stdbase::system::platform::FileDescriptor & fd);
00053 
00054     virtual ~FileOutputStream();
00055 
00056 public:
00057     static system::reference< FileOutputStream >
00058         create( stdbase::system::StringRef name );
00059     
00060     static system::reference< FileOutputStream >
00061         create( const system::platform::FileDescriptor & _fd);
00062  
00067     virtual void write( int b) throw (IOException);
00068 
00076     virtual void write( byte b[], int len) throw (IOException);
00077 
00082     virtual void flush() throw (IOException);
00083 
00088     virtual void close() throw (IOException);
00089 
00090 private:
00091     ::stdbase::system::platform::FileDescriptor    * file;
00092 };
00093 
00094 typedef ::stdbase::system::reference<FileOutputStream>  FileOutputStreamRef;
00095 
00096     } // -- end namespace io --
00097 } // ------ end namespace stdbase --
00098 
00099 #endif      //  __io_FileOutputStream__
00100 

Generated at Tue Aug 13 14:19:39 2002 for stdnet2 by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001