Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
IServiceAndModuleFactoryMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IServiceAndModuleFactoryMng.h (C) 2000-2025 */
9/* */
10/* Interface of a service and module factory manager. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ISERVICEANDMODULEFACTORYMNG_H
13#define ARCANE_CORE_ISERVICEANDMODULEFACTORYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28/*!
29 * \internal
30 * \brief Interface of a service and module factory manager.
31 */
32class ARCANE_CORE_EXPORT IServiceAndModuleFactoryMng
33{
34 public:
35
36 virtual ~IServiceAndModuleFactoryMng() = default; //!< Releases resources.
37
38 public:
39
40 /*!
41 * \brief Creates all factories associated with a ServiceRegisterer.
42 *
43 * This method can be called multiple times if you wish to register new available services, for example,
44 * after a dynamic library load.
45 */
47
48 public:
49
50 //! List of information about service factories
52 //! List of information about module factories
54 //! List of service factories.
56
57 /*!
58 * \brief Adds the service factory \a sfi.
59 * \a sfi must not be destroyed while this instance is in use.
60 * If \a sfi is already registered, no operation is performed.
61 */
62 virtual void addGlobalFactory(IServiceFactoryInfo* sfi) = 0;
63
64 /*!
65 * \brief Adds the module factory \a mfi.
66 * \a mfi must not be destroyed while this instance is in use.
67 * If \a mfi is already registered, no operation is performed.
68 */
69 virtual void addGlobalFactory(IModuleFactoryInfo* mfi) = 0;
70};
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75} // namespace Arcane
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80#endif
Declarations of Arcane's general types.
Information about a module factory.
virtual void addGlobalFactory(IModuleFactoryInfo *mfi)=0
Adds the module factory mfi. mfi must not be destroyed while this instance is in use....
virtual ServiceFactoryInfoCollection serviceFactoryInfos() const =0
List of information about service factories.
virtual ModuleFactoryInfoCollection moduleFactoryInfos() const =0
List of service factories.
virtual void createAllServiceRegistererFactories()=0
Creates all factories associated with a ServiceRegisterer.
virtual ServiceFactory2Collection serviceFactories2() const =0
List of information about module factories.
virtual ~IServiceAndModuleFactoryMng()=default
Releases resources.
virtual void addGlobalFactory(IServiceFactoryInfo *sfi)=0
Adds the service factory sfi. sfi must not be destroyed while this instance is in use....
Information about a service factory.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Collection< IServiceFactoryInfo * > ServiceFactoryInfoCollection
Collection of service factory information.
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection of service factories.
Collection< IModuleFactoryInfo * > ModuleFactoryInfoCollection
Collection of module factory information.