00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: ObjectPairConsumer.cpp 1812 2006-02-13 16:00:09Z rsc $ 00005 */ 00006 00007 #include <iostream> 00008 #include "String.h" 00009 00010 #include "ObjectPairConsumer.h" 00011 #include "ObjectPairWriter.h" 00012 00013 class Object; 00014 00015 00016 ObjectPairConsumer::ObjectPairConsumer(String const & name, 00017 ObjectPairWriter * writer) 00018 : m_writer(writer), 00019 m_count(0), 00020 m_name(name) 00021 { 00022 if (m_writer != 0) 00023 m_writer->open(); 00024 } 00025 00026 ObjectPairConsumer::~ObjectPairConsumer() 00027 { 00028 if (m_writer != 0) 00029 delete m_writer; 00030 m_writer = 0; 00031 } 00032 00033 void ObjectPairConsumer::finished() 00034 { 00035 if (m_writer != 0) 00036 m_writer->close(); 00037 #ifndef SILENT 00038 std::cout << getName() << " processed " << m_count << " object pairs." 00039 << std::endl; 00040 #else 00041 if (getName().rfind("accept") != std::string::npos) 00042 { 00043 std::cout << "found " << m_count << " object pairs (" 00044 << m_count*2 << " inc. reverse matches)." << std::endl; 00045 } 00046 #endif 00047 }