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