Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
BasicService.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/* BasicService.h (C) 2000-2025 */
9/* */
10/* Base class of a service linked to a subdomain. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_BASICSERVICE_H
13#define ARCANE_CORE_BASICSERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/MeshAccessor.h"
18#include "arcane/core/AbstractService.h"
19#include "arcane/core/CommonVariables.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30/*!
31 * \brief Base class of a service linked to a subdomain.
32 *
33 * \ingroup Service
34 */
35class ARCANE_CORE_EXPORT BasicService
36: public AbstractService
37, public MeshAccessor
38, public CommonVariables
39{
40 protected:
41
42 explicit BasicService(const ServiceBuildInfo&);
43
44 public:
45
46 ~BasicService() override; //!< Releases resources.
47
48 public:
49
50 virtual ISubDomain* subDomain() { return m_sub_domain; }
51
52 private:
53
54 ISubDomain* m_sub_domain = nullptr;
55};
56
57/*---------------------------------------------------------------------------*/
58/*---------------------------------------------------------------------------*/
59
60} // namespace Arcane
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65#endif
AbstractService(const ServiceBuildInfo &)
Constructor from a ServiceBuildInfo.
CommonVariables(IModule *c)
Constructs the references of the common variables for the module c.
Interface of the subdomain manager.
Definition ISubDomain.h:75
Structure containing the information to create a service.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --