Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IServiceInfo.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/* IServiceInfo.h (C) 2000-2025 */
9/* */
10/* Interface of service information. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ISERVICEINFO_H
13#define ARCANE_CORE_ISERVICEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
32class ARCANE_CORE_EXPORT IServiceInfo
33{
34 public:
35
36 static const Integer Dim1 = 1;
37 static const Integer Dim2 = 2;
38 static const Integer Dim3 = 4;
39
40 public:
41
42 virtual ~IServiceInfo() = default;
43
44 public:
45
47 virtual String localName() const = 0;
48
50 virtual String namespaceURI() const = 0;
51
53 virtual VersionInfo version() const = 0;
54
56 virtual Real axlVersion() const = 0;
57
59 virtual bool allowDimension(Integer n) const = 0;
60
64 virtual void addImplementedInterface(const String& name) = 0;
65
68
70 virtual const String& caseOptionsFileName() const = 0;
71
74
77
81 virtual String tagName(const String& lang) const = 0;
82
84 virtual IServiceFactoryInfo* factoryInfo() const = 0;
85
91 virtual int usageType() const = 0;
92
94 virtual const FileContent& axlContent() const = 0;
95};
96
97/*---------------------------------------------------------------------------*/
98/*---------------------------------------------------------------------------*/
99
100} // namespace Arcane
101
102/*---------------------------------------------------------------------------*/
103/*---------------------------------------------------------------------------*/
104
105#endif
Declarations of Arcane's general types.
Description and content of a file.
Definition FileContent.h:33
Information about a service factory.
Interface for service or module information.
virtual String localName() const =0
Local part of the service name.
virtual int usageType() const =0
Indicates where the service can be used.
virtual Real axlVersion() const =0
Version of the axl file describing this service.
virtual IServiceFactoryInfo * factoryInfo() const =0
Information on factories available for this service.
virtual bool allowDimension(Integer n) const =0
Indicates if the service is usable in dimension n.
virtual VersionInfo version() const =0
Service version.
virtual ServiceFactory2Collection factories() const =0
List of service factories.
virtual Internal::ISingletonServiceFactory * singletonFactory() const =0
Factory for singleton services (nullptr if not supported).
virtual String namespaceURI() const =0
Service name namespace.
virtual ~IServiceInfo()=default
Frees resources.
virtual const FileContent & axlContent() const =0
Content of the AXL file associated with this service or module.
virtual void addImplementedInterface(const String &name)=0
Adds the name interface name to the interfaces implemented by this service.
virtual const String & caseOptionsFileName() const =0
Name of the file containing the dataset (null if none).
virtual StringCollection implementedInterfaces() const =0
List of names of classes implemented by this service.
virtual String tagName(const String &lang) const =0
Name of the service XML element for the language lang. If lang is null, returns the default name.
Information about a version.
Definition VersionInfo.h:47
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
Collection< String > StringCollection
Collection of strings.
Definition UtilsTypes.h:506
Collection< Internal::IServiceFactory2 * > ServiceFactory2Collection
Collection of service factories.
double Real
Type representing a real number.