ClassIDSvc Node1 ClassIDSvc + nextAvailableID() + isIDInUse() + isNameInUse() + getTypeNameOfID() + getTypeInfoNameOfID() + getIDOfTypeName() + getIDOfTypeInfoName() + setTypeForID() + dump() * mutex_t * lock_t * m_DBFiles * m_outputFileName * m_clidDBPath * nextAvailableID() * isIDInUse() * isNameInUse() * getTypeNameOfID() * getTypeInfoNameOfID() * getIDOfTypeName() * getIDOfTypeInfoName() * setTypeForID() * dump() * initialize() * reinitialize() * finalize() * handle() * ClassIDSvc() * sortedIDs() * fillDB() * processCLIDDB() * getRegistryEntries() * uncheckedSetTypePackageForID() * maybeRescan() Node2 extends< Service, IClass IDSvc, IIncidentListener > Node2->Node1 Node3 std::unordered_map < std::string, CLID > + elements Node3->Node1 -m_nameMap -m_tiNameMap Node4 std::string Node4->Node3 +keys Node5 std::basic_string< char > Node5->Node4 Node6 std::unordered_map < CLID, TypeName > + keys + elements Node6->Node1 -m_clidMap Node7 std::mutex Node7->Node1 -m_mutex