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 271 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 293 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 |
|
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 448 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 317 of file ClassIDSvc.cxx.
|
overridevirtual |
Definition at line 232 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 393 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.