Arcane  v3.16.4.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IServiceAndModuleFactoryMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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 d'un gestionnaire de fabriques de services et modules. */
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 * \internal
29 * \brief Interface d'un gestionnaire de fabriques de services et modules.
30 */
31class ARCANE_CORE_EXPORT IServiceAndModuleFactoryMng
32{
33 public:
34
35 virtual ~IServiceAndModuleFactoryMng() = default; //!< Libère les ressources.
36
37 public:
38
39 /*!
40 * \brief Créé toutes les fabriques associées à des ServiceRegisterer.
41 *
42 * Cette méthode peut être appelée plusieurs fois si on souhaite
43 * enregistrer les nouveaux services disponibles par exemple
44 * après un chargement dynamique de bibliothèque.
45 */
47
48 public:
49
50 //! Liste des informations sur les fabriques des services
52 //! Liste des informations sur les fabriques des modules
54 //! Liste des fabriques de service.
56
57 /*!
58 * \brief Ajoute la fabrique de service \a sfi.
59 * \a sfi ne doit pas être détruit tant que cette instance est utilisée.
60 * Si \a sfi est déjà enregistréé, aucune opération n'est effectuée.
61 */
62 virtual void addGlobalFactory(IServiceFactoryInfo* sfi) = 0;
63
64 /*!
65 * \brief Ajoute la fabrique de module \a mfi.
66 * \a mfi ne doit pas être détruit tant que cette instance est utilisée.
67 * Si \a mfi est déjà enregistréé, aucune opération n'est effectuée.
68 */
69 virtual void addGlobalFactory(IModuleFactoryInfo* mfi) = 0;
70};
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75} // namespace Arcane
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80#endif
Déclarations des types généraux de Arcane.
Informations sur la fabrique d'un module.
virtual void addGlobalFactory(IModuleFactoryInfo *mfi)=0
Ajoute la fabrique de module mfi. mfi ne doit pas être détruit tant que cette instance est utilisée....
virtual ServiceFactoryInfoCollection serviceFactoryInfos() const =0
Liste des informations sur les fabriques des services.
virtual ModuleFactoryInfoCollection moduleFactoryInfos() const =0
Liste des fabriques de service.
virtual void createAllServiceRegistererFactories()=0
Créé toutes les fabriques associées à des ServiceRegisterer.
virtual ServiceFactory2Collection serviceFactories2() const =0
Liste des informations sur les fabriques des modules.
virtual ~IServiceAndModuleFactoryMng()=default
Libère les ressources.
virtual void addGlobalFactory(IServiceFactoryInfo *sfi)=0
Ajoute la fabrique de service sfi. sfi ne doit pas être détruit tant que cette instance est utilisée....
Informations sur la fabrique d'un service.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< IServiceFactoryInfo * > ServiceFactoryInfoCollection
Collection d'informations sur les fabriques de service.
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection de fabriques de service.
Collection< IModuleFactoryInfo * > ModuleFactoryInfoCollection
Collection d'informations sur les fabriques de module.