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_FILEINPUTSTREAM_ 00009 #define _SK_IO_FILEINPUTSTREAM_ 00010 00011 #include <sk/io/FileDescriptorInputStream.h> 00012 #include <sk/io/FileStreamCoupler.hxx> 00013 #include <sk/util/String.h> 00014 #include <sk/io/File.h> 00015 00016 namespace sk { 00017 namespace io { 00018 class FileInputStream 00019 : public FileStreamCoupler<FileDescriptorInputStream> 00020 { 00021 public: 00022 FileInputStream(const sk::io::File& file); 00023 FileInputStream(const sk::util::String& name); 00024 virtual ~FileInputStream(); 00025 00026 // sk::util::Object re-implementation. 00027 const sk::util::Class getClass() const; 00028 00029 // sk::io::AbstractInputStream re-implementation. 00030 long long available() const; 00031 00032 private: 00033 FileInputStream(const FileInputStream& other); 00034 FileInputStream& operator = (const FileInputStream& other); 00035 }; 00036 } 00037 } 00038 00039 #endif /* _SK_IO_FILEINPUTSTREAM_ */