![]() |
This is Unofficial EPICS BASE Doxygen Site
|
#include "pvAccess.h"
Public Types | |
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 | |
POINTER_DEFINITIONS (ChannelProviderRegistry) | |
virtual | ~ChannelProviderRegistry () |
ChannelProvider::shared_pointer | getProvider (std::string const &providerName) |
ChannelProvider::shared_pointer | createProvider (std::string const &providerName, const std::tr1::shared_ptr< Configuration > &conf=std::tr1::shared_ptr< Configuration >()) |
virtual ChannelProviderFactory::shared_pointer | getFactory (std::string const &providerName) |
virtual void | getProviderNames (provider_name_set &names) |
virtual bool | add (const ChannelProviderFactory::shared_pointer &fact, bool replace=true) |
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> More... | |
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> More... | |
ChannelProviderFactory::shared_pointer | addSingleton (const ChannelProvider::shared_pointer &provider, bool replace=true) |
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. More... | |
virtual bool | remove (const ChannelProviderFactory::shared_pointer &factory) |
Attempt to remove a factory. Return true if Factory was previously registered, and now removed. More... | |
virtual void | clear () |
Drop all factories. More... | |
Static Public Member Functions | |
static ChannelProviderRegistry::shared_pointer | build () |
Create a custom registry. More... | |
static ChannelProviderRegistry::shared_pointer | clients () |
static ChannelProviderRegistry::shared_pointer | servers () |
Friends | |
struct | CompatRegistry |
Interface for locating channel providers.
Definition at line 1433 of file pvAccess.h.
typedef ChannelProvider::shared_pointer(* epics::pvAccess::ChannelProviderRegistry::factoryfn_t) (const std::tr1::shared_ptr< Configuration > &) |
Definition at line 1496 of file pvAccess.h.
typedef std::set<std::string> epics::pvAccess::ChannelProviderRegistry::provider_name_set |
Definition at line 1477 of file pvAccess.h.
typedef std::vector<std::string> epics::pvAccess::ChannelProviderRegistry::stringVector_t |
Definition at line 1437 of file pvAccess.h.
|
inlinevirtual |
Definition at line 1439 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.
Definition at line 81 of file ChannelAccessFactory.cpp.
|
inline |
Add a new Provider which will be built using SimpleChannelProviderFactory<Provider>
Definition at line 1489 of file pvAccess.h.
ChannelProviderFactory::shared_pointer epics::pvAccess::ChannelProviderRegistry::add | ( | const std::string & | name, |
factoryfn_t | fn, | ||
bool | replace = true |
||
) |
Definition at line 124 of file ChannelAccessFactory.cpp.
|
inline |
Add a new Provider which will be built using SingletonChannelProviderFactory<Provider>
Definition at line 1502 of file pvAccess.h.
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
Definition at line 159 of file ChannelAccessFactory.cpp.
|
static |
Create a custom registry.
Definition at line 40 of file ChannelAccessFactory.cpp.
|
virtual |
|
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
Definition at line 235 of file ChannelAccessFactory.cpp.
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. |
Definition at line 53 of file ChannelAccessFactory.cpp.
|
virtual |
Fetch provider factor with the specified name.
providerName | The name of the provider. |
Definition at line 62 of file ChannelAccessFactory.cpp.
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. |
Definition at line 45 of file ChannelAccessFactory.cpp.
|
virtual |
epics::pvAccess::ChannelProviderRegistry::POINTER_DEFINITIONS | ( | ChannelProviderRegistry | ) |
ChannelProviderFactory::shared_pointer epics::pvAccess::ChannelProviderRegistry::remove | ( | const std::string & | name | ) |
Attempt to remove a factory with the given name. Return Factory which was removed, or NULL if not found.
Definition at line 166 of file ChannelAccessFactory.cpp.
|
virtual |
Attempt to remove a factory. Return true if Factory was previously registered, and now removed.
Definition at line 176 of file ChannelAccessFactory.cpp.
|
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
Definition at line 242 of file ChannelAccessFactory.cpp.
|
friend |
Definition at line 1531 of file pvAccess.h.