00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: ObjectReader.h 587 2004-12-03 15:06:33Z nch $ 00005 */ 00006 00007 /* 00008 * A reader for an object. 00009 * 00010 * Default behaviour is to do nothing. 00011 * 00012 * This class defines the interface ObjectReaders must support. 00013 */ 00014 00015 #ifndef OBJECTREADER_DEFINED 00016 #define OBJECTREADER_DEFINED 00017 00018 #include "Object.h" 00019 00020 00021 class ObjectReader 00022 { 00023 public: 00024 virtual ~ObjectReader() {}; 00025 00026 virtual void open()=0; 00027 virtual void reopen()=0; 00028 virtual void close()=0; 00029 virtual Object * read()=0; 00030 00031 protected: 00032 ObjectReader() {}; 00033 00034 private: 00035 ObjectReader(ObjectReader const & other); 00036 ObjectReader & operator=(ObjectReader const &); 00037 }; 00038 00039 #endif // ifndef OBJECTREADER_DEFINED 00040