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