pvAccessCPP  7.1.5
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
epics::pvAccess::DefaultChannelRequester Struct Reference

Used when ChannelProvider::createChannel() is passed a NULL ChannelRequester. More...

#include <client/pv/pvAccess.h>

Inheritance diagram for epics::pvAccess::DefaultChannelRequester:
Inheritance graph
[legend]
Collaboration diagram for epics::pvAccess::DefaultChannelRequester:
Collaboration graph
[legend]

Public Types

typedef Channel operation_type
 

Public Member Functions

virtual std::string getRequesterName ()
 The requester must have a name. More...
 
virtual void channelCreated (const epics::pvData::Status &status, Channel::shared_pointer const &channel)
 The request made with ChannelProvider::createChannel() is satisfied. More...
 
virtual void channelStateChange (Channel::shared_pointer const &channel, Channel::ConnectionState connectionState)
 Called occasionally after channelCreated() with Status::isOk() to give notification of connection state changes. More...
 
 POINTER_DEFINITIONS (ChannelRequester)
 
 POINTER_DEFINITIONS (Requester)
 
virtual std::tr1::shared_ptr< const PeerInfogetPeerInfo ()
 Return information on connected peer if applicable. More...
 
virtual void message (std::string const &message, MessageType messageType=errorMessage)
 Push notification.
 

Static Public Member Functions

static ChannelRequester::shared_pointer build ()
 

Static Public Attributes

static size_t num_instances
 

Detailed Description

Used when ChannelProvider::createChannel() is passed a NULL ChannelRequester.

Definition at line 1209 of file pvAccess.h.

Member Function Documentation

◆ channelCreated()

virtual void epics::pvAccess::DefaultChannelRequester::channelCreated ( const epics::pvData::Status &  status,
Channel::shared_pointer const &  channel 
)
virtual

The request made with ChannelProvider::createChannel() is satisfied.

Will be called at most once for each call to createChannel().

The Channel passed here must be the same as was returned by createChannel(), if it has returned. Note that this method may be called before createChanel() returns.

Status::isOk() indicates that the Channel is valid. Calls to Channel methods can be made from this method, and later until Channel::destroy() is called.

!Status::isOk() indicates that the Channel is not available. No calls to the Channel are permitted. channelStateChange() will never be called.

Caller must hold no locks.

Parameters
statusCompletion status.
channelThe channel.

Implements epics::pvAccess::ChannelRequester.

◆ channelStateChange()

virtual void epics::pvAccess::DefaultChannelRequester::channelStateChange ( Channel::shared_pointer const &  channel,
Channel::ConnectionState  connectionState 
)
virtual

Called occasionally after channelCreated() with Status::isOk() to give notification of connection state changes.

Caller must hold no locks.

Parameters
cThe channel.
connectionStateThe new connection state.

Implements epics::pvAccess::ChannelRequester.

◆ getPeerInfo()

virtual std::tr1::shared_ptr<const PeerInfo> epics::pvAccess::ChannelRequester::getPeerInfo ( )
virtualinherited

Return information on connected peer if applicable.

A server-type ChannelProvider will use this method to discover if a remote client has provided credentials which may be used in access control decisions.

Default implementation returns NULL.

isConnected()==true and getPeerInfo()==NULL when the ChannelProvider does not provide information about the peer. This should be treated as an unauthenticated, anonymous, peer.

The returned instance must not change, and a different instance should be returned if/when peer information changes (eg. after reconnect).

May return !NULL when !isConnected(). getPeerInfo() must be called before testing isConnected() in situations where connection state is being polled.

◆ getRequesterName()

virtual std::string epics::pvAccess::DefaultChannelRequester::getRequesterName ( )
virtual

The requester must have a name.

Returns
The requester's name.

Implements epics::pvAccess::Requester.


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