00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: ObjectConsumer.cpp 1809 2006-02-10 15:10:00Z rsc $ 00005 */ 00006 00007 #include <iostream> 00008 #include "String.h" 00009 00010 #include "ObjectConsumer.h" 00011 #include "ObjectWriter.h" 00012 00013 class Object; 00014 00015 00016 ObjectConsumer::ObjectConsumer(String const & name, 00017 ObjectWriter * writer) 00018 : m_name(name), 00019 m_writer(writer), 00020 m_count(0) 00021 { 00022 if (m_writer != 0) 00023 m_writer->open(); 00024 } 00025 00026 ObjectConsumer::~ObjectConsumer() 00027 { 00028 if (m_writer != 0) 00029 delete m_writer; 00030 m_writer = 0; 00031 } 00032 00033 void ObjectConsumer::finished() 00034 { 00035 if (m_writer != 0) 00036 m_writer->close(); 00037 #ifndef SILENT 00038 std::cout << getName() << " processed " << m_count << " objects." << std::endl; 00039 #endif 00040 }