| # Gaudi Framework, version v21r7 |

Home |  | Generated: 22 Jan 2010

# ConfigurableDb::_CfgDb Class Reference

List of all members.

## Public Member Functions
def | __init__
def | add
def | duplicates
## Private Attributes
| _duplicates
## Static Private Attributes
dictionary | __slots__

## Detailed Description

    A singleton class holding informations about automatically generated
    Configurables.
     --> package holding that Configurable
     --> library holding the components related to that Configurable
     --> python module holding the Configurable
     --> a dictionary of duplicates

Definition at line 18 of file ConfigurableDb.py.

## Member Function Documentation

def ConfigurableDb::_CfgDb::__init__ | ( |  | self | ) |

Definition at line 32 of file ConfigurableDb.py.

    00032                       :
    00033         object.__init__(self)
    00034         self._duplicates = {}
    00035         return
    00036
        def add( self, configurable, package, module, lib ):

def ConfigurableDb::_CfgDb::add | ( |  | self,
|  |  | configurable,
|  |  | package,
|  |  | module,
|  |  | lib |
| ) |  |  |

    Method to populate the Db.
    It is called from the auto-generated Xyz_confDb.py files (genconf.cpp)
    @param configurable: the name of the configurable being added
    @param package: the name of the package which holds this Configurable
    @param module: the name of the python module holding the Configurable
    @param lib: the name of the library holding the component(s) (ie: the
        C++ Gaudi component which is mapped by the Configurable)

Definition at line 37 of file ConfigurableDb.py.

    00037                                                        :
    00038         """Method to populate the Db.
    00039         It is called from the auto-generated Xyz_confDb.py files (genconf.cpp)
    00040         @param configurable: the name of the configurable being added
    00041         @param package: the name of the package which holds this Configurable
    00042         @param module: the name of the python module holding the Configurable
    00043         @param lib: the name of the library holding the component(s) (ie: the
    00044                     C++ Gaudi component which is mapped by the Configurable)
    00045         """
    00046         cfg = { 'package' : package,
    00047                 'module'  : module,
    00048                 'lib'     : lib }
    00049         if self.has_key( configurable ):
    00050             ## check if it comes from the same library...
    00051             if cfg['lib'] != self[configurable]['lib']:
    00052                 log.debug( "dup!! [%s] p=%s m=%s lib=%s",
    00053                            configurable, package, module, lib )
    00054                 if self._duplicates.has_key(configurable):
    00055                     self._duplicates[configurable] += [ cfg ]
    00056                 else:
    00057                     self._duplicates[configurable]  = [ cfg ]
    00058                     pass
    00059         else:
    00060             log.debug( "added [%s] p=%s m=%s lib=%s",
    00061                        configurable, package, module, lib )
    00062             self[configurable] = cfg
    00063             pass
    00064         return
    00065
        def duplicates(self):

def ConfigurableDb::_CfgDb::duplicates | ( |  | self | ) |

Definition at line 66 of file ConfigurableDb.py.

    00066                         :
    00067         return self._duplicates
    00068
        pass # class _CfgDb

## Member Data Documentation

dictionary ConfigurableDb::_CfgDb::__slots__`[static, private]`

Initial value:

    {
            '_duplicates' : { },
            }

Definition at line 28 of file ConfigurableDb.py.

ConfigurableDb::_CfgDb::_duplicates`[private]`

Definition at line 34 of file ConfigurableDb.py.

The documentation for this class was generated from the following file:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r7/GaudiKernel/python/GaudiKernel/ConfigurableDb.py