Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Session.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/* Session.h (C) 2000-2014 */
9/* */
10/* Class implementing a session. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_SESSION_H
13#define ARCANE_IMPL_SESSION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
19#include "arcane/core/ISession.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class IApplication;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
37class ARCANE_IMPL_EXPORT Session
38: public TraceAccessor
39, public ISession
40{
41 private:
42
43 class Impl;
44
45 public:
46
47 Session(IApplication*);
48 virtual ~Session();
49
50 public:
51
52 virtual void build();
53 virtual void initialize() {}
54
55 virtual IBase* objectParent() const;
56 virtual String objectNamespaceURI() const;
57 virtual String objectLocalName() const;
58 virtual VersionInfo objectVersion() const;
59
60 virtual IServiceMng* serviceMng() const;
61 virtual IRessourceMng* ressourceMng() const;
62 virtual IApplication* application() const;
63 virtual ITraceMng* traceMng() const;
64 virtual const String& fileName() const;
65 virtual ISubDomain* createSubDomain(const SubDomainBuildInfo& sdbi);
66 virtual SubDomainCollection subDomains();
67 virtual void doAbort();
68 virtual void endSession(int ret_val)
69 {
70 ARCANE_UNUSED(ret_val);
71 }
72 virtual void writeExecInfoFile() {}
73 virtual bool checkIsValidCaseVersion(const String& version);
74
75 public:
76
77 const char* msgClassName() const { return "Session"; }
78
79 protected:
80
81 IApplication* _application() const;
82 virtual void _initSubDomain(ISubDomain* sd)
83 {
84 ARCANE_UNUSED(sd);
85 }
86
87 private:
88
90
91 private:
92
93 void _readCaseDocument();
94};
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99} // namespace Arcane
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104#endif
Application interface.
Interface of the base class for main arcane objects.
Definition IBase.h:32
Interface of a resource manager.
Service manager interface.
Definition IServiceMng.h:32
Interface for a case execution session.
Definition ISession.h:38
Interface of the subdomain manager.
Definition ISubDomain.h:75
virtual void build()
Constructs the instance members. The instance is not usable until this method has been called....
Definition Session.cc:115
virtual void writeExecInfoFile()
Writes the execution information file.
Definition Session.h:72
Impl * m_p
Implementation.
Definition Session.h:89
virtual void initialize()
Initializes the instance. The instance is not usable until this method has been called.
Definition Session.h:53
virtual void endSession(int ret_val)
Ends the session with the return code ret_val.
Definition Session.h:68
Parameters necessary for building a subdomain.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
Information about a version.
Definition VersionInfo.h:47
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Collection< ISubDomain * > SubDomainCollection
Collection of subdomains.