pool::PersistencySvc::DatabaseRegistry Node1 pool::PersistencySvc ::DatabaseRegistry + DatabaseRegistry() + ~DatabaseRegistry() + registerDatabaseHandler() + registerDatabaseHandler() + deregisterDatabaseHandler() + lookupByFID() + lookupByPFN() + lookupByLFN() + begin() + begin() + end() + end() + size() - registerDbHandler() Node2 std::map< std::string, pool::PersistencySvc ::DatabaseHandler * > Node2->Node1 -m_pfnToDb -m_fidToDb -m_lfnToDb Node3 pool::PersistencySvc ::DatabaseHandler - m_session + DatabaseHandler() + ~DatabaseHandler() + commitTransaction() + commitAndHoldTransaction() + rollBackTransaction() + disconnectTransaction() + containers() + container() + pfn() + fid() and 7 more... Node3->Node2 +elements Node13 std::set< pool::Persistency Svc::DatabaseHandler * > Node3->Node13 +keys Node4 pool::FileDescriptor + FileDescriptor() + FileDescriptor() + PFN() + setPFN() + FID() + setFID() + dbc() + dbc() + setDbc() Node4->Node3 -m_fileDescriptor Node5 std::string Node5->Node2 +keys Node5->Node4 -m_FID -m_PFN Node11 std::map< std::string, std::set< std::string > > Node5->Node11 +keys Node12 std::set< std::string > Node5->Node12 +keys Node8 pool::IStorageExplorer + queryInterface() + addRef() + release() + startSession() + endSession() + connect() + disconnect() + databaseSize() + containers() + associations() and 12 more... + interfaceID() # ~IStorageExplorer() Node8->Node3 -m_storageExplorer Node9 pool::IStorageSvc + queryInterface() + addRef() + release() + getContName() + allocate() + read() + update() + destroy() + getShape() + createShape() and 8 more... + interfaceID() + category() # ~IStorageSvc() Node9->Node3 -m_storageSvc Node11->Node1 -m_fidToLfns Node12->Node11 +elements Node13->Node1 -m_databases