Arcane  v3.16.6.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IBase.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/* IBase.h (C) 2000-2025 */
9/* */
10/* Interface d'un objet de base. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IBASE_H
13#define ARCANE_CORE_IBASE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Interface de la classe de base des objets principaux arcane
29 */
30class ARCANE_CORE_EXPORT IBase
31{
32 public:
33
34 virtual ~IBase() = default; //!< Libère les ressources
35
36 public:
37
38 /*!
39 * \brief Construit les membres de l'instance.
40 * L'instance n'est pas utilisable tant que cette méthode n'a pas été
41 * appelée. Cette méthode doit être appelée avant initialize().
42 * \warning Cette méthode ne doit être appelée qu'une seule fois.
43 */
44 virtual void build() = 0;
45
46 /*!
47 * \brief Initialise l'instance.
48 * L'instance n'est pas utilisable tant que cette méthode n'a pas été
49 * appelée.
50 * \warning Cette méthode ne doit être appelée qu'une seule fois.
51 */
52 virtual void initialize() = 0;
53
54 public:
55
56 //! Parent de cet objet
57 virtual IBase* objectParent() const = 0;
58
59 //! Namespace de l'objet.
60 virtual String objectNamespaceURI() const = 0;
61
62 //! Nom local de l'objet.
63 virtual String objectLocalName() const = 0;
64
65 //! Numéro de version du service.
66 virtual VersionInfo objectVersion() const = 0;
67
68 public:
69
70 //! Gestionnaire de traces
71 virtual ITraceMng* traceMng() const = 0;
72
73 //! Gestionnaire de ressources
74 virtual IRessourceMng* ressourceMng() const = 0;
75
76 //! Gestionnaire de services
77 virtual IServiceMng* serviceMng() const = 0;
78
79 public:
80};
81
82/*---------------------------------------------------------------------------*/
83/*---------------------------------------------------------------------------*/
84
85extern "C++" ARCANE_CORE_EXPORT String
86arcaneNamespaceURI();
87
88/*---------------------------------------------------------------------------*/
89/*---------------------------------------------------------------------------*/
90
91} // namespace Arcane
92
93/*---------------------------------------------------------------------------*/
94/*---------------------------------------------------------------------------*/
95
96#endif
97
Déclarations des types généraux de Arcane.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:31
virtual void build()=0
Construit les membres de l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas é...
virtual ~IBase()=default
Libère les ressources.
virtual VersionInfo objectVersion() const =0
Numéro de version du service.
virtual ITraceMng * traceMng() const =0
Gestionnaire de traces.
virtual String objectLocalName() const =0
Nom local de l'objet.
virtual void initialize()=0
Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.
virtual IRessourceMng * ressourceMng() const =0
Gestionnaire de ressources.
virtual String objectNamespaceURI() const =0
Namespace de l'objet.
virtual IServiceMng * serviceMng() const =0
Gestionnaire de services.
virtual IBase * objectParent() const =0
Parent de cet objet.
Interface d'un gestionnaire de ressource.
Interface du gestionnaire de services.
Definition IServiceMng.h:31
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
Informations sur une version.
Definition VersionInfo.h:46
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-