Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
ServiceBuildInfo.cc
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.cc (C) 2000-2020 */
9/* */
10/* Service information. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/utils/ArcanePrecomp.h"
15
16#include "arcane/core/ServiceBuildInfo.h"
17#include "arcane/core/ISession.h"
18#include "arcane/core/ISubDomain.h"
19#include "arcane/core/IApplication.h"
20#include "arcane/core/IMesh.h"
21#include "arcane/core/ICaseOptions.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
34: m_application(app)
35, m_service_parent(app)
36, m_creation_type(ST_Application)
37{
38}
39
40/*---------------------------------------------------------------------------*/
41/*---------------------------------------------------------------------------*/
42
45: m_session(session)
46, m_service_parent(session)
47, m_creation_type(ST_Session)
48{
49}
50
51/*---------------------------------------------------------------------------*/
52/*---------------------------------------------------------------------------*/
53
59
60/*---------------------------------------------------------------------------*/
61/*---------------------------------------------------------------------------*/
62
68
69/*---------------------------------------------------------------------------*/
70/*---------------------------------------------------------------------------*/
71
73ServiceBuildInfoBase(ISubDomain* sd, const MeshHandle& mesh_handle)
74: m_sub_domain(sd)
75, m_mesh_handle(mesh_handle)
76, m_service_parent(m_sub_domain)
77, m_creation_type(ST_SubDomain)
78{
79}
80
81/*---------------------------------------------------------------------------*/
82/*---------------------------------------------------------------------------*/
83
85ServiceBuildInfoBase(const MeshHandle& mesh_handle)
86: ServiceBuildInfoBase(mesh_handle.subDomain(), mesh_handle)
87{
88}
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
95: m_sub_domain(sd)
96, m_mesh_handle(sd->defaultMeshHandle())
97, m_service_parent(sd)
98, m_creation_type(ST_SubDomain)
99{
100}
101
102/*---------------------------------------------------------------------------*/
103/*---------------------------------------------------------------------------*/
104
107: m_sub_domain(sd)
108, m_mesh_handle(co->meshHandle())
109, m_case_options(co)
110, m_service_parent(m_sub_domain)
111, m_creation_type(ST_CaseOption)
112{
113}
114
115/*---------------------------------------------------------------------------*/
116/*---------------------------------------------------------------------------*/
117
123
124/*---------------------------------------------------------------------------*/
125/*---------------------------------------------------------------------------*/
126
128mesh() const
129{
130 return m_mesh_handle.mesh();
131}
132
133/*---------------------------------------------------------------------------*/
134/*---------------------------------------------------------------------------*/
135
136/*---------------------------------------------------------------------------*/
137/*---------------------------------------------------------------------------*/
138
139ServiceBuildInfo::
140ServiceBuildInfo(IServiceInfo* service_info, const ServiceBuildInfoBase& sbib)
142, m_service_info(service_info)
143{
144}
145
146/*---------------------------------------------------------------------------*/
147/*---------------------------------------------------------------------------*/
148
149} // End namespace Arcane
150
151/*---------------------------------------------------------------------------*/
152/*---------------------------------------------------------------------------*/
Application interface.
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
Information for creating a service.
IMesh * mesh() const
Access to the associated IMesh.
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.
ISubDomain * subDomain() const
Access to the associated ISubDomain.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
@ ST_Application
The service is used at the application level.
@ ST_CaseOption
The service is used at the dataset level.
@ ST_Session
The service is used at the session level.
@ ST_SubDomain
The service is used at the subdomain level.