00001 #ifndef CDBROOREADONLY_HH 00002 #define CDBROOREADONLY_HH 00003 00004 // File and Version Information: 00005 // $Id: CdbRooReadonly.hh,v 1.2 2004/12/20 20:18:24 gapon Exp $ 00006 00007 #include "CdbBase/CdbCommon.hh" 00008 00009 /// This utility class provides common definitions for the classes of this package 00010 /** 00011 * The one role of this class is to supply a static method forcing 00012 * loading (at link time) the concrete fatories & implementations 00013 * of abstract classes defined at core packages. 00014 * 00015 * The other role is to provide the technology and implementation names 00016 * associated with this implementation. 00017 * 00018 * @see Cdb 00019 */ 00020 class CdbRooReadonly { 00021 00022 public: 00023 00024 /// Force loading... 00025 /** 00026 * Calling this method from clients code will provoke the instantiation 00027 * of concrete factories. 00028 */ 00029 static void forceLoad( ); 00030 00031 /// Implemented technology name 00032 /** 00033 * This name refferes to the technology implemented with this 00034 * specific implementation. 00035 */ 00036 static const char* technology( ); 00037 00038 /// Implementation name 00039 /** 00040 * This is a unique name identifying this particular implementation of 00041 * of the technology above. Note, that this name is required to be unique 00042 * only withing the scope of the corresponding technology. 00043 */ 00044 static const char* implementation( ); 00045 }; 00046 00047 #endif // CDBROOREADONLY_HH
1.3-rc3