14#include "arcane/utils/List.h" 
   16#include "arcane/IServiceInfo.h" 
   17#include "arcane/ServiceFactory.h" 
   18#include "arcane/ServiceInstance.h" 
   83  : m_service_info(si){}
 
   92    Int32 v = std::atomic_fetch_add(&m_nb_ref,-1);
 
 
   98  void destroyInstance()
 
  100    m_true_instance.reset();
 
  103  IServiceInfo* serviceInfo()
 const override { 
return m_service_info; }
 
  106  void addInstance(ServiceInstanceRef instance)
 override 
  108    m_instances.add(instance);
 
  111  IServiceInfo* m_service_info;
 
  112  List<ServiceInstanceRef> m_instances;
 
  113  ServiceInstanceRef m_true_instance;
 
  114  std::atomic<Int32> m_nb_ref = 0;
 
 
  127  x->setTrueInstance(si);
 
 
  146  Int32 v = std::atomic_fetch_add(&m_nb_ref,-1);
 
 
Interface des informations d'un service ou d'un module.
Interface d'une instance de service singleton.
void removeReference() override
Supprime une référence.
void addReference() override
Ajoute une référence.
Instances des services singletons.
ServiceInstanceCollection interfaceInstances() override
Liste des instances des interfaces implémentées par le singleton.
void removeReference() override
Supprime une référence.
void addReference() override
Ajoute une référence.
Ref< ISingletonServiceInstance > createSingletonServiceInstance(const ServiceBuildInfoBase &sbib) override
Créé un service singleton.
Référence à une instance.
Informations pour créer un service.
Référence sur une instance de service.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.
Collection< ServiceInstanceRef > ServiceInstanceCollection
Collection d'instances de services.
std::int32_t Int32
Type entier signé sur 32 bits.