Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier ServiceFactory.h

Ce fichier contient les différentes fabriques de services et macro pour enregistrer les services. Plus de détails...

#include "arcane/utils/NotSupportedException.h"
#include "arcane/utils/TraceInfo.h"
#include "arcane/utils/ExternalRef.h"
#include "arcane/IApplication.h"
#include "arcane/ISession.h"
#include "arcane/ISubDomain.h"
#include "arcane/ServiceBuildInfo.h"
#include "arcane/IServiceFactory.h"
#include "arcane/ServiceRegisterer.h"
#include "arcane/ServiceInfo.h"
#include "arcane/IService.h"
#include "arcane/ServiceProperty.h"
#include "arcane/ServiceInstance.h"
+ Graphe des dépendances par inclusion de ServiceFactory.h:

Aller au code source de ce fichier.

Classes

class  Arcane::Internal::DotNetServiceInstance
 Classe de base d'une instance de service en C#. Plus de détails...
 
class  Arcane::Internal::ServiceInstanceT< InterfaceType >
 
class  Arcane::Internal::ServiceFactoryInfo
 
class  Arcane::Internal::IServiceInterfaceFactory< InterfaceType >
 
class  Arcane::Internal::ServiceFactory2TV2< InterfaceType >
 
class  Arcane::Internal::ServiceInterfaceFactory< ServiceType, InterfaceType >
 
class  Arcane::Internal::IServiceInstanceAdder
 
class  Arcane::Internal::SingletonServiceFactoryBase
 
class  Arcane::Internal::SingletonServiceFactory< ServiceType, Interfaces >
 
class  Arcane::Internal::ServiceInterfaceRegisterer< InterfaceType >
 
class  Arcane::Internal::ServiceAllInterfaceRegisterer< ServiceType >
 

Espaces de nommage

namespace  Arcane
 -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
 
namespace  Arcane::Internal
 Types interne à Arcane.
 

Macros

#define ARCANE_SERVICE_INTERFACE(ainterface)    Arcane::Internal::ServiceInterfaceRegisterer< ainterface >(#ainterface)
 Macro pour déclarer une interface lors de l'enregistrement d'un service.
 
#define ARCANE_SERVICE_INTERFACE_NS(ainterface_ns, ainterface)    Arcane::Internal::ServiceInterfaceRegisterer<ainterface_ns :: ainterface>(#ainterface_ns,#ainterface)
 Enregistre une interface avec un nom de namespace.
 
#define ARCANE_REGISTER_SERVICE(aclass, a_service_property, ...)
 Macro pour enregistrer un service.
 
#define ARCANE_REGISTER_AXL_SERVICE(aclass, a_service_properties)
 
#define ARCANE_REGISTER_APPLICATION_FACTORY(aclass, ainterface, aname)
 Enregistre un service de fabrique pour la classe aclass.
 
#define ARCANE_REGISTER_SUB_DOMAIN_FACTORY(aclass, ainterface, aname)
 Enregistre un service de fabrique pour la classe aclass.
 
#define ARCANE_REGISTER_SUB_DOMAIN_FACTORY4(aclass, ainterface_ns, ainterface, aname)
 Enregistre un service de fabrique pour la classe aclass.
 
#define ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY(aclass, ainterface, aname)
 Enregistre un service de fabrique pour la classe aclass.
 
#define ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY4(aclass, ainterface_ns, ainterface, aname)
 Enregistre un service de fabrique pour la classe aclass.
 

Description détaillée

Ce fichier contient les différentes fabriques de services et macro pour enregistrer les services.

La plupart des types de ce fichier sont internes à Arcane. Le seul élément utile pour un utilisateur est la macro ARCANE_REGISTER_SERVICE() qui permet d'enregistrer un service.

Définition dans le fichier ServiceFactory.h.

Documentation des macros

◆ ARCANE_REGISTER_APPLICATION_FACTORY

#define ARCANE_REGISTER_APPLICATION_FACTORY (   aclass,
  ainterface,
  aname 
)
Valeur :
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro pour déclarer une interface lors de l'enregistrement d'un service.
Propriétés de création d'un service.
#define ARCANE_REGISTER_SERVICE(aclass, a_service_property,...)
Macro pour enregistrer un service.
@ ST_Application
Le service s'utilise au niveau de l'application.

Enregistre un service de fabrique pour la classe aclass.

Le service est enregistré sous le nom aname et implémente l'interface ainterface.

Obsolète:
Utiliser ARCANE_REGISTER_SERVICE() à la place.

Définition à la ligne 572 du fichier ServiceFactory.h.

◆ ARCANE_REGISTER_AXL_SERVICE

#define ARCANE_REGISTER_AXL_SERVICE (   aclass,
  a_service_properties 
)
Valeur :
namespace\
{\
ARCANE_JOIN_WITH_LINE(arcaneCreateServiceInfo##aclass) (const Arcane::ServiceProperty& properties) \
{\
Arcane::ServiceInfo* si = Arcane::ServiceInfo::create(properties,__FILE__,__LINE__); \
aclass :: fillServiceInfo< aclass >(si); \
return si;\
}\
}\
Arcane::ServiceRegisterer ARCANE_EXPORT ARCANE_JOIN_WITH_LINE(globalServiceRegisterer##aclass) \
(& ARCANE_JOIN_WITH_LINE(arcaneCreateServiceInfo##aclass),a_service_properties)
Interface des informations d'un service ou d'un module.
Enregistreur de service et modules.

Définition à la ligne 538 du fichier ServiceFactory.h.

◆ ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY

#define ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY (   aclass,
  ainterface,
  aname 
)
Valeur :
@ ST_CaseOption
Le service s'utilise au niveau du jeu de données.

Enregistre un service de fabrique pour la classe aclass.

Le service est enregistré sous le nom aname et implémente l'interface ainterface.

Obsolète:
Utiliser ARCANE_REGISTER_SERVICE() à la place.

Définition à la ligne 614 du fichier ServiceFactory.h.

◆ ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY4

#define ARCANE_REGISTER_CASE_OPTIONS_NOAXL_FACTORY4 (   aclass,
  ainterface_ns,
  ainterface,
  aname 
)
Valeur :
ARCANE_SERVICE_INTERFACE_NS(ainterface_ns,ainterface) )
#define ARCANE_SERVICE_INTERFACE_NS(ainterface_ns, ainterface)
Enregistre une interface avec un nom de namespace.

Enregistre un service de fabrique pour la classe aclass.

Le service est enregistré sous le nom aname et implémente l'interface ainterface.

Obsolète:
Utiliser ARCANE_REGISTER_SERVICE() à la place.

Définition à la ligne 628 du fichier ServiceFactory.h.

◆ ARCANE_REGISTER_SUB_DOMAIN_FACTORY

#define ARCANE_REGISTER_SUB_DOMAIN_FACTORY (   aclass,
  ainterface,
  aname 
)
Valeur :
@ ST_SubDomain
Le service s'utilise au niveau du sous-domaine.

Enregistre un service de fabrique pour la classe aclass.

Le service est enregistré sous le nom aname et implémente l'interface ainterface.

Obsolète:
Utiliser ARCANE_REGISTER_SERVICE() à la place.

Définition à la ligne 586 du fichier ServiceFactory.h.

◆ ARCANE_REGISTER_SUB_DOMAIN_FACTORY4

#define ARCANE_REGISTER_SUB_DOMAIN_FACTORY4 (   aclass,
  ainterface_ns,
  ainterface,
  aname 
)
Valeur :

Enregistre un service de fabrique pour la classe aclass.

Le service est enregistré sous le nom aname et implémente l'interface ainterface du namespace ainterface_ns.

Obsolète:
Utiliser ARCANE_REGISTER_SERVICE() à la place.

Définition à la ligne 600 du fichier ServiceFactory.h.

◆ ARCANE_SERVICE_INTERFACE

#define ARCANE_SERVICE_INTERFACE (   ainterface)     Arcane::Internal::ServiceInterfaceRegisterer< ainterface >(#ainterface)

Macro pour déclarer une interface lors de l'enregistrement d'un service.

Cette macro s'utilise dans la macro ARCANE_REGISTER_SERVICE.

L'appel est comme suit:

ainterface est le nom de l'interface (sans les guillemets). Il peut contenir un namespace. Par exemple:

Interface d'un service de test unitaire.
Definition IUnitTest.h:34

Définition à la ligne 475 du fichier ServiceFactory.h.

◆ ARCANE_SERVICE_INTERFACE_NS

#define ARCANE_SERVICE_INTERFACE_NS (   ainterface_ns,
  ainterface 
)     Arcane::Internal::ServiceInterfaceRegisterer<ainterface_ns :: ainterface>(#ainterface_ns,#ainterface)

Enregistre une interface avec un nom de namespace.

Définition à la ligne 479 du fichier ServiceFactory.h.