FileReader.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2004 CSIRO ICT Centre
00003  *
00004  * $Id: FileReader.h 587 2004-12-03 15:06:33Z nch $
00005  */
00006 
00007 /*
00008  * Reads objects from a file.
00009  *
00010  * The FileObjectReader is used to hide the details of the
00011  * object being read. This allows this same class to be used
00012  * to read different kinds of objects (Object, Datum, ...) from
00013  * different file types (ascii, binary, ...).
00014  *
00015  * The FileObjectReader is owned by this class and is deleted 
00016  * by the destructor.
00017  */
00018 
00019 #ifndef FILEREADER_DEFINED
00020 #define FILEREADER_DEFINED
00021 
00022 #include "FileObjectReader.h"
00023 #include "ObjectReader.h"
00024 
00025 class Object;
00026 
00027 
00028 class FileReader : public ObjectReader
00029 {
00030   public:
00031     FileReader(FileObjectReader * obj, char const * name, bool isLarge=false);
00032     virtual ~FileReader();
00033 
00034     virtual void open();
00035     virtual void reopen();
00036     virtual void close();
00037     virtual Object * read() { return obj->read(filePtr); };
00038 
00039   protected:
00040     FileObjectReader * obj;
00041     FILE *             filePtr;
00042     char const *       fileName;
00043     bool               isLarge;
00044 
00045     FileReader(FileObjectReader * obj, bool isLarge=false);
00046 
00047   private:
00048     FileReader();
00049     FileReader(FileReader const & other);
00050     FileReader & operator=(FileReader const &);
00051 };
00052 
00053 #endif // ifndef FILEREADER_DEFINED
00054 
Generated on Mon Oct 4 10:39:55 2010 for Matching.kdevelop by  doxygen 1.6.3