Arcane  v3.16.8.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ServiceBuildInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* ServiceBuildInfo.h (C) 2000-2025 */
9/* */
10/* Structure contenant les informations pour créer un service. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_SERVICEBUILDINFO_H
13#define ARCANE_CORE_SERVICEBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/VersionInfo.h"
18
21#include "arcane/core/MeshHandle.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
42class ARCANE_CORE_EXPORT ServiceBuildInfoBase
43{
44 public:
45
52
59
66
73 explicit ServiceBuildInfoBase(ISubDomain* sd);
74
81
87 explicit ServiceBuildInfoBase(const MeshHandle& mesh_handle);
88
94 ServiceBuildInfoBase(ISubDomain* sd, const MeshHandle& mesh_handle);
95
104
113
121 ARCCORE_DEPRECATED_2020("Use ServiceBuildInfoBase(const MeshHandle&) instead")
123
125
126 public:
127
133 IApplication* application() const { return m_application; }
134
140 ISession* session() const { return m_session; }
141
147 ISubDomain* subDomain() const { return m_sub_domain; }
148
154 IMesh* mesh() const;
155
161 const MeshHandle& meshHandle() const { return m_mesh_handle; }
162
168 ICaseOptions* caseOptions() const { return m_case_options; }
169
173 IBase* serviceParent() const { return m_service_parent; }
174
176 eServiceType creationType() const { return m_creation_type; }
177
178 protected:
179 private:
180
181 IApplication* m_application = nullptr;
182 ISession* m_session = nullptr;
183 ISubDomain* m_sub_domain = nullptr;
184 MeshHandle m_mesh_handle;
185 ICaseOptions* m_case_options = nullptr;
186 IBase* m_service_parent = nullptr;
187 eServiceType m_creation_type = ST_None;
188};
189
190/*---------------------------------------------------------------------------*/
191/*---------------------------------------------------------------------------*/
196class ARCANE_CORE_EXPORT ServiceBuildInfo
198{
199 public:
200
201 ServiceBuildInfo(IServiceInfo* service_info, const ServiceBuildInfoBase& base);
202
203 public:
204
206 IServiceInfo* serviceInfo() const { return m_service_info; }
207
208 private:
209
210 IServiceInfo* m_service_info;
211};
212
213/*---------------------------------------------------------------------------*/
214/*---------------------------------------------------------------------------*/
215
216} // End namespace Arcane
217
218/*---------------------------------------------------------------------------*/
219/*---------------------------------------------------------------------------*/
220
221#endif
222
Déclarations des types généraux de Arcane.
Ce fichier contient les différentes types et classes pour spécifier les propriétés d'un service.
Interface de l'application.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:31
Interface d'une liste d'options du jeu de données.
Interface des informations d'un service ou d'un module.
Interface d'une session d'exécution d'un cas.
Definition ISession.h:37
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Handle sur un maillage.
Definition MeshHandle.h:47
IMesh * mesh() const
Accès au IMesh associé.
IBase * serviceParent() const
Accès à l'instance parente qui a créée cette instance.
ServiceBuildInfoBase(IApplication *app)
Service associé à une application IApplication.
const MeshHandle & meshHandle() const
Accès au handle de maillage MeshHandle associé.
ISession * session() const
Accès au ISession associé.
IApplication * application() const
Accès à l'application IApplication associé.
ISubDomain * subDomain() const
Accès au ISubDomain associé.
ICaseOptions * caseOptions() const
Accès au ICaseOptions associé.
eServiceType creationType() const
Type du service pouvant être créé par cette instance.
IServiceInfo * serviceInfo() const
Accès au IServiceInfo associé
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eServiceType
Type du service.