![]() |
|
|
Bdb packages | Design docs | Source docs | Guidelines | Recent releases |
|
Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Compound Members File Members /BdbApplication/BdbDomain.hh
Go to the documentation of this file.00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: BdbDomain.hh,v 1.75 2001/12/05 22:09:30 patton Exp $ 00004 // 00005 // Description: 00006 // Class BdbDomain header file. This class represents a BaBar 00007 // Database domain. It provides a virtual function that manages 00008 // database update access depending on the authorization level. 00009 // 00010 // Environment: 00011 // Software developed for the BaBar Detector at the SLAC B-Factory. 00012 // 00013 // Author List: 00014 // David R. Quarrie Original Author 00015 // Igor A. Gaponenko Modified to support *DBFS* interface 00016 // 00017 // History: 00018 // 00019 //------------------------------------------------------------------------ 00020 #ifndef BDBDOMAIN_HH 00021 #define BDBDOMAIN_HH 00022 00023 //----------------- 00024 // BaBar Headers -- 00025 //----------------- 00026 #include "BaBar/BaBar.hh" 00027 00028 //--------------- 00029 // C++ Headers -- 00030 //--------------- 00031 #include "BdbUtil/Bdb.hh" 00032 00033 //------------------------------- 00034 // Collaborating Class Headers -- 00035 //------------------------------- 00036 #include "BdbUtil/BdbTString.hh" 00037 #include "BdbApplication/BdbDomainAuth.hh" 00038 #include "BdbApplication/BdbDomainDBFS.hh" 00039 #include "BdbDomainOODB/BdbDomainOODB.hh" 00040 #include "BdbDomainMgmt/BdbDomainName.hh" 00041 00042 00043 // Choose one of the following sections 00044 #if defined(USE_BDBAPPLICATION) 00045 #include "BdbApplMgmt/BdbApplication.hh" 00046 typedef BdbApplication BdbApplicationOrDomain 00047 #else 00048 class BdbDomain ; 00049 typedef BdbDomain BdbApplicationOrDomain ; 00050 #endif // USE_BDBAPPLICATION 00051 00052 class BdbAbsFSNamesStr ; 00053 class BdbAbsInhibitMgr; 00054 class BdbStatTimers ; 00055 class BdbImplDomainOODB ; 00056 00057 // --------------------- 00058 // -- Class Interface -- 00059 // --------------------- 00060 00061 class BdbDomain 00062 : public BdbDomainName , 00063 public BdbDomainAuth , 00064 public BdbDomainDBFS , 00065 public BdbDomainOODB 00066 { 00067 00068 //------------------ 00069 // Static Members -- 00070 //------------------ 00071 00072 public: 00073 00074 /** 00075 ** Return the currently active BdbDomain (or first one if 00076 ** 'domain activation' is not working.) 00077 **/ 00078 static BdbDomain* activeInstance( ); 00079 00080 // Default database parameters 00081 static d_ULong _defaultMaxContNr[]; 00082 static d_ULong _defaultMaxContSize[]; 00083 static d_ULong _defaultDirRange[] ; 00084 static d_ULong _defaultMinNoPrecrDbs[]; 00085 static d_ULong _defaultMaxNoPrecrDbs[]; 00086 static d_ULong _defaultPrecrNoConts[]; 00087 static d_ULong _defaultMaxDbSize[]; 00088 static d_ULong _defaultPrefContSize[]; 00089 static d_ULong _defaultHardContLimit[]; 00090 00091 private: 00092 00093 //-------------------- 00094 // Instance Members -- 00095 //-------------------- 00096 00097 public: 00098 00099 /** 00100 ** Destructor 00101 **/ 00102 virtual ~BdbDomain( ); 00103 00104 /*************** 00105 ** Selectors ** 00106 ***************/ 00107 00108 /*************** 00109 ** Modifiers ** 00110 ***************/ 00111 00112 /** 00113 ** Return access statistics timers 00114 **/ 00115 BdbStatTimers& statTimers() ; 00116 00117 /**************** 00118 ** Operations ** 00119 ****************/ 00120 00121 static BdbImplDomainOODB* createImplDomainOODB( BdbDomainName& domainName, 00122 BdbDomainOODB::TransReuse reuse ) ; 00123 00124 protected: 00125 00126 // Constructor(s) 00127 // this version of the ctor should be depricated before the next 00128 // release build, and is included for library compatibility 00129 BdbDomain( BdbDomainName::Domains theDomain ); 00130 00131 // When the preceeding ctor is depricated this ctor should have 00132 // as default 2nd argument of BdbDomainOODB::Required 00133 BdbDomain( BdbDomainName::Domains theDomain, 00134 BdbDomainOODB::TransReuse reuse ); 00135 00136 // Operations 00137 00138 private: 00139 00140 }; 00141 00142 #endif /* BDBDOMAIN_HH */
BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us
Page Owner: Jacek Becla
Last Update: October 04, 2002