00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: ActiveObject.h 587 2004-12-03 15:06:33Z nch $ 00005 */ 00006 00007 /* 00008 * ActiveObject is a simple class used by ActiveList classes to 00009 * keep track of whether an object has been matched yet. It is nothing 00010 * more than a container for a object and a boolean "matched" flag. 00011 */ 00012 00013 #ifndef ACTIVEOBJECT_DEFINED 00014 #define ACTIVEOBJECT_DEFINED 00015 00016 #include "Object.h" 00017 00018 class ActiveObject 00019 { 00020 public: 00021 ActiveObject(Object const * obj); 00022 ActiveObject(Object const * obj, bool matched); 00023 ActiveObject(ActiveObject const & other); 00024 ~ActiveObject() {}; 00025 00026 void markMatched() { matched = true; }; 00027 bool isMatched() const { return matched; }; 00028 Object const * getObject() const { return object; }; 00029 00030 private: 00031 Object const * object; 00032 bool matched; 00033 00034 ActiveObject(); 00035 ActiveObject & operator=(ActiveObject const &); 00036 }; 00037 00038 00039 #endif // ifndef ACTIVEOBJECT_DEFINED