00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: ObjectPairRefineConsumer.h 587 2004-12-03 15:06:33Z nch $ 00005 */ 00006 00007 /* 00008 * This is a object pair consumer that includes a Refine object 00009 * to determine how objects should be consumed. 00010 * 00011 * The refine class includes the object pair consumers (which themselves 00012 * contain ObjectPairWriters) to consume the object pairs depending if 00013 * the object are accepted or not. 00014 * 00015 * For this reason, this class does not need to provide an ObjectPairWriter, 00016 * since the writing of objects is handled by the ObjectPairConsumers in 00017 * the Refine class. 00018 */ 00019 00020 #ifndef OBJECTPAIRREFINECONSUMER_DEFINED 00021 #define OBJECTPAIRREFINECONSUMER_DEFINED 00022 00023 #include "String.h" 00024 00025 #include "ObjectPairConsumer.h" 00026 00027 class Refine; 00028 00029 00030 class ObjectPairRefineConsumer : public ObjectPairConsumer 00031 { 00032 public: 00033 ObjectPairRefineConsumer(String const & name, 00034 Refine * refine); 00035 virtual ~ObjectPairRefineConsumer() {}; 00036 virtual bool report(Object const * redObject, Object const * blueObject); 00037 virtual void finished(); 00038 00039 private: 00040 Refine * m_refine; 00041 00042 void reset(); 00043 00044 ObjectPairRefineConsumer(); 00045 ObjectPairRefineConsumer(ObjectPairRefineConsumer const &); 00046 ObjectPairRefineConsumer & operator=(ObjectPairRefineConsumer const &); 00047 }; 00048 00049 #endif // ifndef OBJECTPAIRREFINECONSUMER_DEFINED