Arcane  v3.16.6.0
Documentation développeur
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/*---------------------------------------------------------------------------*/
30class ARCANE_CORE_EXPORT IBase
31{
32 public:
33
34 virtual ~IBase() = default;
35
36 public:
37
44 virtual void build() = 0;
45
52 virtual void initialize() = 0;
53
54 public:
55
57 virtual IBase* objectParent() const = 0;
58
60 virtual String objectNamespaceURI() const = 0;
61
63 virtual String objectLocalName() const = 0;
64
66 virtual VersionInfo objectVersion() const = 0;
67
68 public:
69
71 virtual ITraceMng* traceMng() const = 0;
72
74 virtual IRessourceMng* ressourceMng() const = 0;
75
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 -*-