![]() |
|
|||
File indexing completed on 2025-02-21 10:00:30
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2021 CERN for the benefit of the LHCb and ATLAS collaborations * 0003 * * 0004 * This software is distributed under the terms of the Apache version 2 licence, * 0005 * copied verbatim in the file "LICENSE". * 0006 * * 0007 * In applying this licence, CERN does not waive the privileges and immunities * 0008 * granted to it by virtue of its status as an Intergovernmental Organization * 0009 * or submit itself to any jurisdiction. * 0010 \***********************************************************************************/ 0011 #ifndef GAUDIKERNEL_ICLASSIDSVC_H 0012 #define GAUDIKERNEL_ICLASSIDSVC_H 0013 0014 #include <string> 0015 0016 #include "GaudiKernel/ClassID.h" 0017 #include "GaudiKernel/IService.h" 0018 #include "GaudiKernel/StatusCode.h" 0019 0020 /** @class IClassIDSvc 0021 * @brief interface to the CLID database 0022 * @author Paolo Calafiura <pcalafiura@lbl.gov> - ATLAS Collaboration 0023 */ 0024 0025 class IClassIDSvc : virtual public IService { 0026 public: 0027 /// InterfaceID 0028 DeclareInterfaceID( IClassIDSvc, 1, 0 ); 0029 0030 /// get next available CLID 0031 /// @throws std::runtime_error if no CLID can be allocated 0032 virtual CLID nextAvailableID() const = 0; 0033 /// check if id is used 0034 virtual bool isIDInUse( const CLID& id ) const = 0; 0035 /// check if name is used 0036 virtual bool isNameInUse( const std::string& name ) const = 0; 0037 /// get user assigned type name associated with clID 0038 virtual StatusCode getTypeNameOfID( const CLID& id, std::string& typeName ) const = 0; 0039 /// get user assigned type-info name associated with clID 0040 virtual StatusCode getTypeInfoNameOfID( const CLID& id, std::string& typeInfoName ) const = 0; 0041 /// get id associated with type name (if any) 0042 virtual StatusCode getIDOfTypeName( const std::string& typeName, CLID& id ) const = 0; 0043 /// get id associated with type-info name (if any) 0044 virtual StatusCode getIDOfTypeInfoName( const std::string& typeInfoName, CLID& id ) const = 0; 0045 /// associate type name and type-info name with clID 0046 virtual StatusCode setTypeForID( const CLID&, const std::string& typeName, const std::string& typeInfoName = "" ) = 0; 0047 }; 0048 0049 #endif // GAUDIKERNEL_ICLASSIDSVC_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |