Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CdbBdbSPartitionListenerP.ddl

Go to the documentation of this file.
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 */

Generated on Mon Dec 5 18:22:02 2005 for CDB by doxygen1.3-rc3