Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ServiceBuildInfo.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/* ServiceBuildInfo.h (C) 2000-2025 */
9/* */
10/* Structure containing the information to create a 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/*---------------------------------------------------------------------------*/
31
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/*---------------------------------------------------------------------------*/
192
197class ARCANE_CORE_EXPORT ServiceBuildInfo
199{
200 public:
201
202 ServiceBuildInfo(IServiceInfo* service_info, const ServiceBuildInfoBase& base);
203
204 public:
205
207 IServiceInfo* serviceInfo() const { return m_service_info; }
208
209 private:
210
211 IServiceInfo* m_service_info;
212};
213
214/*---------------------------------------------------------------------------*/
215/*---------------------------------------------------------------------------*/
216
217} // End namespace Arcane
218
219/*---------------------------------------------------------------------------*/
220/*---------------------------------------------------------------------------*/
221
222#endif
Declarations of Arcane's general types.
This file contains the various types and classes for specifying service properties.
Application interface.
Interface of the base class for main arcane objects.
Definition IBase.h:32
Interface for a list of data set options.
Interface for service or module information.
Interface for a case execution session.
Definition ISession.h:38
Interface of the subdomain manager.
Definition ISubDomain.h:75
Handle on a mesh.
Definition MeshHandle.h:48
IMesh * mesh() const
Access to the associated IMesh.
IBase * serviceParent() const
Access to the parent instance that created this instance.
ServiceBuildInfoBase(IApplication *app)
Service associated with an application IApplication.
const MeshHandle & meshHandle() const
Access to the associated mesh handle MeshHandle.
ISession * session() const
Access to the associated ISession.
IApplication * application() const
Access to the associated IApplication.
ISubDomain * subDomain() const
Access to the associated ISubDomain.
ICaseOptions * caseOptions() const
Access to the associated ICaseOptions.
eServiceType creationType() const
Type of service that can be created by this instance.
IServiceInfo * serviceInfo() const
Access to the associated IServiceInfo.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
eServiceType
Service type.