00001 #ifndef CDBBDBSHARED_PARTITION_LISTENER_P_HH 00002 #define CDBBDBSHARED_PARTITION_LISTENER_P_HH 00003 00004 // File and Version Information: 00005 // $Id: CdbBdbSPartitionListenerP.ddl,v 1.2 2002/09/23 22:41:11 gapon Exp $ 00006 00007 #include "BdbUtil/Bdb.hh" 00008 00009 #include "CdbBase/CdbCommon.hh" 00010 00011 /// Base class for a persistent Listener 00012 /** 00013 * This is an abstract persistent class providing the listening methods 00014 * to be called when the state of a partition changes. 00015 */ 00016 class CdbBdbSPartitionListenerP : public BdbPersObj { 00017 00018 public: 00019 00020 /// Destructor 00021 00022 virtual ~CdbBdbSPartitionListenerP( ); 00023 00024 /// Close a partition 00025 /** 00026 * The partition closure time will be taken from a persistent partition 00027 * object corresponding to the specified (the partition) identifier. The idea 00028 * behind this is that the partition closing operation is made of two 00029 * steps done sequentially: 00030 * 00031 * - close a persistent partition object at the MASTER or a SLAVE database 00032 * - update the PartitionLayout. 00033 * 00034 * This actually highlights one important idea that the only reliable 00035 * source of a partition's "openness" is the persistent partition object 00036 * itself. 00037 * 00038 * The method will return CdbStatus::NotFound if the partition was not 00039 * found in the layout. Other possible completion statuses are as usual. 00040 * 00041 * This pure virtual method is supposed to be implemented by a subclass. 00042 */ 00043 virtual CdbStatus close( d_UShort theId /**< the partition's identifier */ 00044 ) = 0; 00045 }; 00046 00047 #endif /* CDBBDBSHARED_PARTITION_LISTENER_P_HH */
1.3-rc3