pvAccessCPP 7.1.8
Loading...
Searching...
No Matches
pvas::StaticProvider Class Reference

A Provider based on a list of SharedPV instance. More...

#include <server/pva/server.h>

Classes

struct  ChannelBuilder
 Interface for something which can provide Channels. aka A "PV". Typically a SharedPV. More...
 

Public Types

typedef std::tr1::shared_ptr< StaticProvidershared_pointer
 
typedef std::tr1::shared_ptr< const StaticProviderconst_shared_pointer
 
typedef std::tr1::weak_ptr< StaticProviderweak_pointer
 
typedef std::tr1::weak_ptr< const StaticProviderconst_weak_pointer
 
typedef builders_t::const_iterator const_iterator
 

Public Member Functions

 StaticProvider (const std::string &name)
 Build a new, empty, provider.
 
void close (bool destroy=false)
 Call Channelbuilder::close(destroy) for all currently added ChannelBuilders.
 
void add (const std::string &name, const std::tr1::shared_ptr< ChannelBuilder > &builder)
 Add a PV (eg. SharedPV) to this provider.
 
std::tr1::shared_ptr< ChannelBuilderremove (const std::string &name)
 Remove a PV.
 
std::tr1::shared_ptr< epics::pvAccess::ChannelProviderprovider () const
 Fetch the underlying ChannelProvider. Usually to build a ServerContext around.
 
const_iterator begin () const
 
const_iterator end () const
 

Detailed Description

A Provider based on a list of SharedPV instance.

SharedPV instances may be added/removed at any time. So it is only "static" in the sense that the list of PV names is known to StaticProvider at all times.

See also
Server API shared_ptr Ownership

Definition at line 105 of file server.h.

Member Typedef Documentation

◆ const_iterator

builders_t::const_iterator pvas::StaticProvider::const_iterator

Definition at line 128 of file server.h.

◆ const_shared_pointer

std::tr1::shared_ptr<const StaticProvider> pvas::StaticProvider::const_shared_pointer

Definition at line 107 of file server.h.

◆ const_weak_pointer

std::tr1::weak_ptr<const StaticProvider> pvas::StaticProvider::const_weak_pointer

Definition at line 107 of file server.h.

◆ shared_pointer

std::tr1::shared_ptr<StaticProvider> pvas::StaticProvider::shared_pointer

Definition at line 107 of file server.h.

◆ weak_pointer

std::tr1::weak_ptr<StaticProvider> pvas::StaticProvider::weak_pointer

Definition at line 107 of file server.h.

Constructor & Destructor Documentation

◆ StaticProvider()

pvas::StaticProvider::StaticProvider ( const std::string & name)
explicit

Build a new, empty, provider.

Parameters
nameProvider Name. Only relevant if registerAsServer() is called, then must be unique in this process.

Member Function Documentation

◆ close()

void pvas::StaticProvider::close ( bool destroy = false)

Call Channelbuilder::close(destroy) for all currently added ChannelBuilders.

See also
SharedPV::close()
Note
Provider locking rules apply (
See also
provider_roles_requester_locking).

◆ remove()

std::tr1::shared_ptr< ChannelBuilder > pvas::StaticProvider::remove ( const std::string & name)

Remove a PV.

Closes any open Channels to it.

Returns
the PV which has been removed.
Note
Provider locking rules apply (
See also
provider_roles_requester_locking).

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