Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:15:10

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2024 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_ICLASSMANAGER_H
0012 #define GAUDIKERNEL_ICLASSMANAGER_H
0013 
0014 // Include files
0015 #include <GaudiKernel/IInterface.h>
0016 #include <string>
0017 
0018 // Forward class declaration
0019 class ISvcLocator;
0020 
0021 /** @class IClassManager IClassManager.h GaudiKernel/IClassManager.h
0022 
0023     The IClassManager is the interface implemented by the generic Factory in the
0024     Application Manager to support class management functions.
0025 
0026     @author Pere Mato
0027 */
0028 class GAUDI_API IClassManager : virtual public IInterface {
0029 public:
0030   DeclareInterfaceID( IClassManager, 2, 0 );
0031 
0032   /// Declare a sharable library to be used for creating instances of a given algorithm type.
0033   virtual StatusCode loadModule( const std::string& module, bool fireIncident = true ) = 0; // Sharable library name
0034 };
0035 
0036 #endif // GAUDIKERNEL_ICLASSMANAGER_H