Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IBase.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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 of a base object. */
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
31class ARCANE_CORE_EXPORT IBase
32{
33 public:
34
35 virtual ~IBase() = default;
36
37 public:
38
45 virtual void build() = 0;
46
53 virtual void initialize() = 0;
54
55 public:
56
58 virtual IBase* objectParent() const = 0;
59
61 virtual String objectNamespaceURI() const = 0;
62
64 virtual String objectLocalName() const = 0;
65
67 virtual VersionInfo objectVersion() const = 0;
68
69 public:
70
72 virtual ITraceMng* traceMng() const = 0;
73
75 virtual IRessourceMng* ressourceMng() const = 0;
76
78 virtual IServiceMng* serviceMng() const = 0;
79
80 public:
81};
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
86extern "C++" ARCANE_CORE_EXPORT String
87arcaneNamespaceURI();
88
89/*---------------------------------------------------------------------------*/
90/*---------------------------------------------------------------------------*/
91
92} // namespace Arcane
93
94/*---------------------------------------------------------------------------*/
95/*---------------------------------------------------------------------------*/
96
97#endif
Declarations of Arcane's general types.
Interface of the base class for main arcane objects.
Definition IBase.h:32
virtual void build()=0
Constructs the instance members. The instance is not usable until this method has been called....
virtual ~IBase()=default
Frees resources.
virtual VersionInfo objectVersion() const =0
Service version number.
virtual ITraceMng * traceMng() const =0
Trace manager.
virtual String objectLocalName() const =0
Local name of the object.
virtual void initialize()=0
Initializes the instance. The instance is not usable until this method has been called.
virtual IRessourceMng * ressourceMng() const =0
Resource manager.
virtual String objectNamespaceURI() const =0
Namespace of the object.
virtual IServiceMng * serviceMng() const =0
Service manager.
virtual IBase * objectParent() const =0
Parent of this object.
Interface of a resource manager.
Service manager interface.
Definition IServiceMng.h:32
Information about a version.
Definition VersionInfo.h:47
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --