Arcane  v3.14.10.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-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/* ServiceBuildInfo.h (C) 2000-2022 */
9/* */
10/* Structure contenant les informations pour créer un service. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_SERVICEBUILDINFO_H
13#define ARCANE_SERVICEBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/VersionInfo.h"
18
19#include "arcane/ArcaneTypes.h"
20#include "arcane/ServiceProperty.h"
21#include "arcane/MeshHandle.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
42class ARCANE_CORE_EXPORT ServiceBuildInfoBase
43{
44 public:
45
59
65 explicit ServiceBuildInfoBase(ISession* session);
66
74
81
88
95
104
113
121 ARCCORE_DEPRECATED_2020("Use ServiceBuildInfoBase(const MeshHandle&) instead")
122 explicit ServiceBuildInfoBase(IMesh* mesh);
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
Interface de l'application.
Interface de la classe de base des objets principaux arcane.
Definition IBase.h:38
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:44
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Handle sur un maillage.
Definition MeshHandle.h:47
Informations pour créer un service.
IBase * serviceParent() const
Accès à l'instance parente qui a créée cette instance.
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.
Structure contenant les informations pour créer un service.
IServiceInfo * serviceInfo() const
Accès au IServiceInfo associé
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eServiceType
Type du service.