This file contains the various service factories and macros for registering services. More...
#include "arcane/utils/NotSupportedException.h"#include "arcane/utils/TraceInfo.h"#include "arcane/utils/ExternalRef.h"#include "arcane/core/IApplication.h"#include "arcane/core/ISession.h"#include "arcane/core/ISubDomain.h"#include "arcane/core/ServiceBuildInfo.h"#include "arcane/core/IServiceFactory.h"#include "arcane/core/ServiceRegisterer.h"#include "arcane/core/ServiceInfo.h"#include "arcane/core/IService.h"#include "arcane/core/ServiceProperty.h"#include "arcane/core/ServiceInstance.h"Go to the source code of this file.
Classes | |
| class | Arcane::Internal::DotNetServiceInstance |
| Base class for a service instance in C#. More... | |
| class | Arcane::Internal::ServiceInstanceT< InterfaceType > |
| Service instance. More... | |
| class | Arcane::Internal::ServiceFactoryInfo |
| Information about the manufacturing of a service or a module. More... | |
| class | Arcane::Internal::IServiceInterfaceFactory< InterfaceType > |
| Interface for a factory function (functor) that creates a service instance corresponding to the InterfaceType interface. More... | |
| class | Arcane::Internal::ServiceFactory2TV2< InterfaceType > |
| Service factory. More... | |
| class | Arcane::Internal::ServiceInterfaceFactory< ServiceType, InterfaceType > |
| Factory for the ServiceType service for the InterfaceType interface. More... | |
| class | Arcane::Internal::IServiceInstanceAdder |
| class | Arcane::Internal::SingletonServiceFactoryBase |
| Base class for factories for singleton services. More... | |
| class | Arcane::Internal::SingletonServiceFactory< ServiceType, Interfaces > |
| Factory for the singleton service of type ServiceType implementing the Interfaces interfaces. More... | |
| class | Arcane::Internal::SingletonServiceFactory< ServiceType, Interfaces >::Helper |
| Utility class allowing the creation of an IServiceInstance for each interface in Interfaces. More... | |
| class | Arcane::Internal::ServiceInterfaceRegisterer< InterfaceType > |
| Class allowing the registration of a factory for a service implementing the InterfaceType interface. More... | |
| class | Arcane::Internal::ServiceAllInterfaceRegisterer< ServiceType > |
| Class allowing the creation and registration of factories for a service. More... | |
Namespaces | |
| namespace | Arcane |
| -- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -- | |
| namespace | Arcane::Internal |
| Internal types of Arcane. | |
Macros | |
| #define | ARCANE_SERVICE_INTERFACE(ainterface) |
| Macro to declare an interface when registering a service. | |
| #define | ARCANE_SERVICE_INTERFACE_NS(ainterface_ns, ainterface) |
| Registers an interface with a namespace name. | |
| #define | ARCANE_REGISTER_SERVICE(aclass, a_service_property, ...) |
| Macro for registering a service. | |
| #define | ARCANE_REGISTER_AXL_SERVICE(aclass, a_service_properties) |
| Macro for registering a service derived from an AXL file. | |
| #define | ARCANE_REGISTER_APPLICATION_FACTORY(aclass, ainterface, aname) |
| Registers a factory service for the class aclass. | |
| #define | ARCANE_REGISTER_SUB_DOMAIN_FACTORY(aclass, ainterface, aname) |
| Registers a factory service for the class aclass. | |
| #define | ARCANE_REGISTER_SUB_DOMAIN_FACTORY4(aclass, ainterface_ns, ainterface, aname) |
| Registers a factory service for the class aclass. | |
| #define | ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY(aclass, ainterface, aname) |
| Registers a factory service for the class aclass. | |
| #define | ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY4(aclass, ainterface_ns, ainterface, aname) |
| Registers a factory service for the class aclass. | |
This file contains the various service factories and macros for registering services.
Most types in this file are internal to Arcane. The only element useful for a user is the ARCANE_REGISTER_SERVICE() macro, which allows a service to be registered.
Definition in file ServiceFactory.h.
| #define ARCANE_REGISTER_APPLICATION_FACTORY | ( | aclass, | |
| ainterface, | |||
| aname ) |
Registers a factory service for the class aclass.
The service is registered under the name aname and implements the ainterface interface.
Definition at line 636 of file ServiceFactory.h.
| #define ARCANE_REGISTER_AXL_SERVICE | ( | aclass, | |
| a_service_properties ) |
Macro for registering a service derived from an AXL file.
This macro is internal to Arcane and should not be used directly
Definition at line 600 of file ServiceFactory.h.
| #define ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY | ( | aclass, | |
| ainterface, | |||
| aname ) |
Registers a factory service for the class aclass.
The service is registered under the name aname and implements the ainterface interface.
Definition at line 681 of file ServiceFactory.h.
| #define ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY4 | ( | aclass, | |
| ainterface_ns, | |||
| ainterface, | |||
| aname ) |
Registers a factory service for the class aclass.
The service is registered under the name aname and implements the ainterface interface.
Definition at line 696 of file ServiceFactory.h.
| #define ARCANE_REGISTER_SUB_DOMAIN_FACTORY | ( | aclass, | |
| ainterface, | |||
| aname ) |
Registers a factory service for the class aclass.
The service is registered under the name aname and implements the ainterface interface.
Definition at line 651 of file ServiceFactory.h.
| #define ARCANE_REGISTER_SUB_DOMAIN_FACTORY4 | ( | aclass, | |
| ainterface_ns, | |||
| ainterface, | |||
| aname ) |
Registers a factory service for the class aclass.
The service is registered under the name aname and implements the ainterface interface from the namespace ainterface_ns.
Definition at line 666 of file ServiceFactory.h.
| #define ARCANE_SERVICE_INTERFACE | ( | ainterface | ) |
Macro to declare an interface when registering a service.
This macro is used within the ARCANE_REGISTER_SERVICE macro.
The call is as follows:
ainterface is the name of the interface (without quotes). It may contain a namespace. For example:
Definition at line 538 of file ServiceFactory.h.
| #define ARCANE_SERVICE_INTERFACE_NS | ( | ainterface_ns, | |
| ainterface ) |
Registers an interface with a namespace name.
Definition at line 542 of file ServiceFactory.h.