Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ServiceAndModuleFactoryMng Class Reference

Manager of service and module factories. More...

Inheritance diagram for Arcane::ServiceAndModuleFactoryMng:
Collaboration diagram for Arcane::ServiceAndModuleFactoryMng:

Classes

class  Impl

Public Member Functions

 ServiceAndModuleFactoryMng (ITraceMng *tm)
virtual ~ServiceAndModuleFactoryMng ()
 Destroys the manager.
virtual void createAllServiceRegistererFactories ()
 Creates all factories associated with a ServiceRegisterer.
virtual ServiceFactoryInfoCollection serviceFactoryInfos () const
 List of information about service factories.
virtual ServiceFactory2Collection serviceFactories2 () const
 List of information about module factories.
virtual ModuleFactoryInfoCollection moduleFactoryInfos () const
 List of service factories.
virtual void addGlobalFactory (IServiceFactoryInfo *sfi)
 Adds the service factory sfi. sfi must not be destroyed while this instance is in use. If sfi is already registered, no operation is performed.
virtual void addGlobalFactory (IModuleFactoryInfo *mfi)
 Adds the module factory mfi. mfi must not be destroyed while this instance is in use. If mfi is already registered, no operation is performed.
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IServiceAndModuleFactoryMng
virtual ~IServiceAndModuleFactoryMng ()=default
 Releases resources.

Private Member Functions

void _addFactoryFromServiceRegisterer (ServiceRegisterer *sr)
 Adds the factory specified by sr.

Private Attributes

std::set< ServiceRegisterer * > m_service_registerer_done_set
Implm_p

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Manager of service and module factories.

Definition at line 46 of file ServiceAndModuleFactoryMng.cc.

Constructor & Destructor Documentation

◆ ServiceAndModuleFactoryMng()

Arcane::ServiceAndModuleFactoryMng::ServiceAndModuleFactoryMng ( ITraceMng * tm)

Definition at line 171 of file ServiceAndModuleFactoryMng.cc.

◆ ~ServiceAndModuleFactoryMng()

Arcane::ServiceAndModuleFactoryMng::~ServiceAndModuleFactoryMng ( )
virtual

Destroys the manager.

Destroys the message manager and configuration managers.

Definition at line 186 of file ServiceAndModuleFactoryMng.cc.

Member Function Documentation

◆ _addFactoryFromServiceRegisterer()

void Arcane::ServiceAndModuleFactoryMng::_addFactoryFromServiceRegisterer ( ServiceRegisterer * sr)
private

Adds the factory specified by sr.

The factory can be for a service or a module. In the first case, it is added to m_service_factory_info. In the second case, it is added to m_module_factory_info.

Definition at line 288 of file ServiceAndModuleFactoryMng.cc.

References ARCANE_CHECK_POINTER2, ARCANE_FATAL, Arcane::IServiceInfo::factoryInfo(), Arcane::TraceAccessor::info(), Arcane::ServiceRegisterer::infoCreatorWithPropertyFunction(), Arcane::ServiceRegisterer::moduleFactoryWithPropertyFunction(), Arcane::ServiceRegisterer::moduleProperty(), Arcane::ServiceRegisterer::name(), and Arcane::ServiceRegisterer::serviceProperty().

Referenced by createAllServiceRegistererFactories().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addGlobalFactory() [1/2]

void Arcane::ServiceAndModuleFactoryMng::addGlobalFactory ( IModuleFactoryInfo * mfi)
virtual

Adds the module factory mfi. mfi must not be destroyed while this instance is in use. If mfi is already registered, no operation is performed.

Implements Arcane::IServiceAndModuleFactoryMng.

Definition at line 233 of file ServiceAndModuleFactoryMng.cc.

References Arcane::TraceAccessor::info(), and Arcane::IModuleFactoryInfo::moduleName().

Here is the call graph for this function:

◆ addGlobalFactory() [2/2]

void Arcane::ServiceAndModuleFactoryMng::addGlobalFactory ( IServiceFactoryInfo * sfi)
virtual

Adds the service factory sfi. sfi must not be destroyed while this instance is in use. If sfi is already registered, no operation is performed.

Implements Arcane::IServiceAndModuleFactoryMng.

Definition at line 222 of file ServiceAndModuleFactoryMng.cc.

References Arcane::TraceAccessor::info(), Arcane::IServiceInfo::localName(), and Arcane::IServiceFactoryInfo::serviceInfo().

Here is the call graph for this function:

◆ createAllServiceRegistererFactories()

void Arcane::ServiceAndModuleFactoryMng::createAllServiceRegistererFactories ( )
virtual

Creates all factories associated with a ServiceRegisterer.

This method can be called multiple times if you wish to register new available services, for example, after a dynamic library load.

Implements Arcane::IServiceAndModuleFactoryMng.

Definition at line 244 of file ServiceAndModuleFactoryMng.cc.

References _addFactoryFromServiceRegisterer(), ARCANE_FATAL, Arcane::ServiceRegisterer::firstService(), Arcane::TraceAccessor::log(), Arcane::ServiceRegisterer::name(), Arcane::ServiceRegisterer::nbService(), and Arcane::ServiceRegisterer::nextService().

Here is the call graph for this function:

◆ moduleFactoryInfos()

ModuleFactoryInfoCollection Arcane::ServiceAndModuleFactoryMng::moduleFactoryInfos ( ) const
virtual

List of service factories.

Implements Arcane::IServiceAndModuleFactoryMng.

Definition at line 213 of file ServiceAndModuleFactoryMng.cc.

◆ serviceFactories2()

ServiceFactory2Collection Arcane::ServiceAndModuleFactoryMng::serviceFactories2 ( ) const
virtual

List of information about module factories.

Implements Arcane::IServiceAndModuleFactoryMng.

Definition at line 204 of file ServiceAndModuleFactoryMng.cc.

◆ serviceFactoryInfos()

ServiceFactoryInfoCollection Arcane::ServiceAndModuleFactoryMng::serviceFactoryInfos ( ) const
virtual

List of information about service factories.

Implements Arcane::IServiceAndModuleFactoryMng.

Definition at line 195 of file ServiceAndModuleFactoryMng.cc.

Member Data Documentation

◆ m_p

Impl* Arcane::ServiceAndModuleFactoryMng::m_p
private

Definition at line 73 of file ServiceAndModuleFactoryMng.cc.

◆ m_service_registerer_done_set

std::set<ServiceRegisterer*> Arcane::ServiceAndModuleFactoryMng::m_service_registerer_done_set
private

Definition at line 72 of file ServiceAndModuleFactoryMng.cc.


The documentation for this class was generated from the following file: