pvAccessCPP
7.1.7
|
Interface for locating channel providers. More...
#include <client/pv/pvAccess.h>
Public Types | |
typedef std::tr1::shared_ptr < ChannelProviderRegistry > | shared_pointer |
typedef std::tr1::shared_ptr < const ChannelProviderRegistry > | const_shared_pointer |
typedef std::tr1::weak_ptr < ChannelProviderRegistry > | weak_pointer |
typedef std::tr1::weak_ptr < const ChannelProviderRegistry > | const_weak_pointer |
typedef std::vector< std::string > | stringVector_t |
typedef std::set< std::string > | provider_name_set |
typedef ChannelProvider::shared_pointer(* | factoryfn_t )(const std::tr1::shared_ptr< Configuration > &) |
Public Member Functions | |
ChannelProvider::shared_pointer | getProvider (std::string const &providerName) |
Get a shared instance of the provider with the specified name. More... | |
ChannelProvider::shared_pointer | createProvider (std::string const &providerName, const std::tr1::shared_ptr< Configuration > &conf=std::tr1::shared_ptr< Configuration >()) |
Creates a new instanceof the provider with the specified name. More... | |
virtual ChannelProviderFactory::shared_pointer | getFactory (std::string const &providerName) |
Fetch provider factor with the specified name. More... | |
virtual void | getProviderNames (provider_name_set &names) |
Find currently registered provider names. | |
virtual bool | add (const ChannelProviderFactory::shared_pointer &fact, bool replace=true) |
Add new factory. More... | |
template<class Provider > | |
ChannelProviderFactory::shared_pointer | add (const std::string &name, bool replace=true) |
Add a new Provider which will be built using SimpleChannelProviderFactory<Provider> | |
ChannelProviderFactory::shared_pointer | add (const std::string &name, factoryfn_t, bool replace=true) |
template<class Provider > | |
ChannelProviderFactory::shared_pointer | addSingleton (const std::string &name, const std::tr1::shared_ptr< const Configuration > &conf=std::tr1::shared_ptr< const Configuration >(), bool replace=true) |
Add a new Provider which will be built using SingletonChannelProviderFactory<Provider> | |
ChannelProviderFactory::shared_pointer | addSingleton (const ChannelProvider::shared_pointer &provider, bool replace=true) |
Add a pre-created Provider instance. More... | |
ChannelProviderFactory::shared_pointer | remove (const std::string &name) |
Attempt to remove a factory with the given name. Return Factory which was removed, or NULL if not found. | |
virtual bool | remove (const ChannelProviderFactory::shared_pointer &factory) |
Attempt to remove a factory. Return true if Factory was previously registered, and now removed. | |
virtual void | clear () |
Drop all factories. | |
Static Public Member Functions | |
static ChannelProviderRegistry::shared_pointer | build () |
Create a custom registry. | |
static ChannelProviderRegistry::shared_pointer | clients () |
The global registry for "clients". More... | |
static ChannelProviderRegistry::shared_pointer | servers () |
The global registry for "servers". More... | |
Friends | |
struct | CompatRegistry |
Interface for locating channel providers.
Definition at line 1433 of file pvAccess.h.
|
virtual |
Add new factory.
if replace=false and name already in use, return false with no change in other cases insert provided factory and return true.
ChannelProviderFactory::shared_pointer epics::pvAccess::ChannelProviderRegistry::addSingleton | ( | const ChannelProvider::shared_pointer & | provider, |
bool | replace = true |
||
) |
Add a pre-created Provider instance.
Only a weak ref to this instance is kept, so the instance must be kept active through some external means
|
static |
The global registry for "clients".
Register providers which will be used within this process. Typically providers which access data outside of the process. Associated with EPICS_PVA_PROVIDER_NAMES
ChannelProvider::shared_pointer epics::pvAccess::ChannelProviderRegistry::createProvider | ( | std::string const & | providerName, |
const std::tr1::shared_ptr< Configuration > & | conf = std::tr1::shared_ptr< Configuration >() |
||
) |
Creates a new instanceof the provider with the specified name.
providerName | The name of the provider. |
|
virtual |
Fetch provider factor with the specified name.
providerName | The name of the provider. |
ChannelProvider::shared_pointer epics::pvAccess::ChannelProviderRegistry::getProvider | ( | std::string const & | providerName | ) |
Get a shared instance of the provider with the specified name.
providerName | The name of the provider. |
|
static |
The global registry for "servers".
Register providers which will be used outside of this process (via ServerContext). Typically providers which access data within the process. Associated with EPICS_PVAS_PROVIDER_NAMES