![]() |
ATLAS Offline Software
|
a service to manage and verify CLID assignments in athena. More...
#include <ClassIDSvc.h>
Public Member Functions | |
IClassIDSvc interfaces. | |
| virtual CLID | nextAvailableID () const override |
| get next available CLID More... | |
| virtual bool | isIDInUse (const CLID &id) const override |
| check if id is used More... | |
| virtual bool | isNameInUse (const std::string &name) const override |
| check if id is used More... | |
| virtual StatusCode | getTypeNameOfID (const CLID &id, std::string &typeName) const override |
| get type name associated with clID (if any) More... | |
| virtual StatusCode | getTypeInfoNameOfID (const CLID &id, std::string &typeInfoName) const override |
| get user assigned type-info name associated with clID More... | |
| virtual StatusCode | getIDOfTypeName (const std::string &typeName, CLID &id) const override |
| get id associated with type name (if any) More... | |
| virtual StatusCode | getIDOfTypeInfoName (const std::string &typeInfoName, CLID &id) const override |
| get id associated with type-info name (if any) More... | |
| virtual StatusCode | setTypeForID (const CLID &id, const std::string &typeName, const std::string &typeInfoName="") override |
| associate type name, package info and type-info name with clID More... | |
Debugging methods. | |
| void | dump () const |
| dump to MsgStream contents of in memory DB More... | |
Private Types | |
| typedef std::pair< std::string, std::string > | TypeName |
| typedef std::unordered_map< CLID, TypeName > | CLIDMap |
| typedef std::unordered_map< std::string, CLID > | NameMap |
Gaudi methods. | |
| virtual StatusCode | initialize () override |
| Gaudi Service Implementation. More... | |
| virtual StatusCode | reinitialize () override |
| virtual StatusCode | finalize () override |
| dump CLIDmap to outputFileName; More... | |
| void | handle (const Incident &inc) override |
| implement IIncidentListener More... | |
| ClassIDSvc (const std::string &name, ISvcLocator *svc) | |
| Standard Constructor. More... | |
| std::vector< CLID > | sortedIDs () const |
| Return all registered IDs in sorted order. More... | |
| StatusCode | fillDB () |
| get clids from CLIDDB and from registry entries More... | |
| bool | processCLIDDB (const std::string &fileName) |
| load clid/names from a "db" file More... | |
| bool | getRegistryEntries (const std::string &moduleName) |
| load clid/names from a DLL registry More... | |
| StatusCode | uncheckedSetTypePackageForID (const CLID &id, const std::string &typeName, const std::string &typeInfoName) |
| associate type name with clID w/o checking CLID range More... | |
| bool | maybeRescan () const |
| Test to see if anything new has been added to the registry. More... | |
Properties | |
| typedef std::mutex | mutex_t |
| typedef std::lock_guard< mutex_t > | lock_t |
| Gaudi::Property< std::vector< std::string > > | m_DBFiles |
| Gaudi::Property< std::string > | m_outputFileName |
| CLIDMap | m_clidMap |
| NameMap | m_nameMap |
| NameMap | m_tiNameMap |
| DirSearchPath | m_clidDBPath |
| The path is which clid db files are to be searched (DATAPATH) More... | |
| mutex_t | m_mutex |
a service to manage and verify CLID assignments in athena.
(clid, class_name) entries are loaded at init from the list of files specifies in "CLIDDBFiles", and from the CLID_Registry of every library. Optionally the resulting m_clidMap can be dumped to "OutputFileName" at finalize time.
Definition at line 36 of file ClassIDSvc.h.
|
private |
Definition at line 40 of file ClassIDSvc.h.
|
private |
Definition at line 133 of file ClassIDSvc.h.
|
private |
Definition at line 132 of file ClassIDSvc.h.
|
private |
Definition at line 41 of file ClassIDSvc.h.
|
private |
Definition at line 39 of file ClassIDSvc.h.
| ClassIDSvc::ClassIDSvc | ( | const std::string & | name, |
| ISvcLocator * | svc | ||
| ) |
Standard Constructor.
Definition at line 276 of file ClassIDSvc.cxx.
| void ClassIDSvc::dump | ( | ) | const |
|
private |
get clids from CLIDDB and from registry entries
Process the various clid dbs according to user's request.
Definition at line 298 of file ClassIDSvc.cxx.
|
overridevirtual |
|
overridevirtual |
get id associated with type-info name (if any)
Definition at line 162 of file ClassIDSvc.cxx.
|
overridevirtual |
|
private |
|
overridevirtual |
get user assigned type-info name associated with clID
get type name associated with clID (if any)
Definition at line 116 of file ClassIDSvc.cxx.
|
overridevirtual |
|
override |
|
overridevirtual |
check if id is used
Definition at line 79 of file ClassIDSvc.cxx.
|
overridevirtual |
check if id is used
Definition at line 87 of file ClassIDSvc.cxx.
|
private |
Test to see if anything new has been added to the registry.
Definition at line 453 of file ClassIDSvc.cxx.
|
overridevirtual |
get next available CLID
| std::runtime_error | if no CLID can be allocated virtual CLID nextAvailableID() const; |
| std::runtime_error | if no CLID can be allocated |
Definition at line 60 of file ClassIDSvc.cxx.
|
private |
load clid/names from a "db" file
Definition at line 322 of file ClassIDSvc.cxx.
|
overridevirtual |
Definition at line 237 of file ClassIDSvc.cxx.
|
overridevirtual |
associate type name, package info and type-info name with clID
associate type name with clID
Definition at line 182 of file ClassIDSvc.cxx.
|
private |
|
private |
associate type name with clID w/o checking CLID range
Definition at line 398 of file ClassIDSvc.cxx.
|
private |
The path is which clid db files are to be searched (DATAPATH)
Definition at line 129 of file ClassIDSvc.h.
|
private |
Definition at line 124 of file ClassIDSvc.h.
|
private |
Definition at line 117 of file ClassIDSvc.h.
|
mutableprivate |
Definition at line 134 of file ClassIDSvc.h.
|
private |
Definition at line 125 of file ClassIDSvc.h.
|
private |
Definition at line 121 of file ClassIDSvc.h.
|
private |
Definition at line 126 of file ClassIDSvc.h.
1.8.18