Arcane  v3.14.10.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-2022 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-2015 */
9/* */
10/* Interface d'un gestionnaire de fabriques de services et modules. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ISERVICEANDMODULEFACTORYMNG_H
13#define ARCANE_ISERVICEANDMODULEFACTORYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*!
30 * \internal
31 * \brief Interface d'un gestionnaire de fabriques de services et modules.
32 */
33class ARCANE_CORE_EXPORT IServiceAndModuleFactoryMng
34{
35 public:
36
37 virtual ~IServiceAndModuleFactoryMng() {} //!< Libère les ressources.
38
39 public:
40
41 /*!
42 * \brief Créé toutes les fabriques associées à des ServiceRegisterer.
43 *
44 * Cette méthode peut être appelée plusieurs fois si on souhaite
45 * enregistrer les nouveaux services disponibles par exemple
46 * après un chargement dynamique de bibliothèque.
47 */
49
50 public:
51
52 //! Liste des informations sur les fabriques des services
54 //! Liste des informations sur les fabriques des modules
56 //! Liste des fabriques de service.
58
59 /*!
60 * \brief Ajoute la fabrique de service \a sfi.
61 * \a sfi ne doit pas être détruit tant que cette instance est utilisée.
62 * Si \a sfi est déjà enregistréé, aucune opération n'est effectuée.
63 */
65
66 /*!
67 * \brief Ajoute la fabrique de module \a mfi.
68 * \a mfi ne doit pas être détruit tant que cette instance est utilisée.
69 * Si \a mfi est déjà enregistréé, aucune opération n'est effectuée.
70 */
71 virtual void addGlobalFactory(IModuleFactoryInfo* mfi) =0;
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77ARCANE_END_NAMESPACE
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82#endif
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 ~IServiceAndModuleFactoryMng()
Libère les ressources.
virtual ServiceFactory2Collection serviceFactories2() const =0
Liste des informations sur les fabriques des modules.
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.
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.