This is Unofficial EPICS BASE Doxygen Site
epics::pvAccess::ConfigurationFactory Class Reference

#include "configuration.h"

Public Member Functions

 POINTER_DEFINITIONS (ConfigurationFactory)
 

Static Public Member Functions

static ConfigurationProvider::shared_pointer getProvider ()
 
static void registerConfiguration (const std::string &name, Configuration::shared_pointer const &configuration)
 
static Configuration::shared_pointer getConfiguration (const std::string &name)
 

Detailed Description

Configuration factory.

Definition at line 256 of file configuration.h.

Member Function Documentation

static Configuration::shared_pointer epics::pvAccess::ConfigurationFactory::getConfiguration ( const std::string &  name)
inlinestatic

Definition at line 275 of file configuration.h.

276  {
277  return getProvider()->getConfiguration(name);
278  }
static ConfigurationProvider::shared_pointer getProvider()
ConfigurationProvider::shared_pointer epics::pvAccess::ConfigurationFactory::getProvider ( )
static

Lazily creates configuration provider.

Parameters
namename of the configuration to register.
configurationconfiguration to register.
Returns
configuration provider

Definition at line 246 of file configuration.cpp.

247 {
248  Lock guard(conf_factory_mutex);
249  if(configurationProvider.get() == NULL)
250  {
251  configurationProvider.reset(new ConfigurationProviderImpl());
252  Configuration::shared_pointer systemConfig(new ConfigurationEnviron);
253  configurationProvider->registerConfiguration("system", systemConfig);
254  }
255  return configurationProvider;
256 }
A lock for multithreading.
Definition: lock.h:36
#define NULL
Definition: catime.c:38
ConfigurationProvider::shared_pointer configurationProvider
epics::pvAccess::ConfigurationFactory::POINTER_DEFINITIONS ( ConfigurationFactory  )
static void epics::pvAccess::ConfigurationFactory::registerConfiguration ( const std::string &  name,
Configuration::shared_pointer const &  configuration 
)
inlinestatic

Definition at line 271 of file configuration.h.

272  {
273  getProvider()->registerConfiguration(name, configuration);
274  }
static ConfigurationProvider::shared_pointer getProvider()

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