This is Unofficial EPICS BASE Doxygen Site
epics::pvAccess::DefaultChannelRequester Struct Reference

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

#include "pvAccess.h"

+ Inheritance diagram for epics::pvAccess::DefaultChannelRequester:
+ Collaboration diagram for epics::pvAccess::DefaultChannelRequester:

Public Member Functions

virtual ~DefaultChannelRequester ()
 
virtual std::string getRequesterName () OVERRIDE FINAL
 
virtual void channelCreated (const epics::pvData::Status &status, Channel::shared_pointer const &channel) OVERRIDE FINAL
 
virtual void channelStateChange (Channel::shared_pointer const &channel, Channel::ConnectionState connectionState) OVERRIDE FINAL
 
- Public Member Functions inherited from epics::pvAccess::ChannelRequester
 POINTER_DEFINITIONS (ChannelRequester)
 
 ChannelRequester ()
 
virtual ~ChannelRequester ()
 
virtual std::tr1::shared_ptr< const PeerInfogetPeerInfo ()
 Return information on connected peer if applicable. More...
 
- Public Member Functions inherited from epics::pvAccess::Requester
 POINTER_DEFINITIONS (Requester)
 
virtual ~Requester ()
 
virtual void message (std::string const &message, MessageType messageType=errorMessage)
 

Static Public Member Functions

static ChannelRequester::shared_pointer build ()
 

Additional Inherited Members

- Public Types inherited from epics::pvAccess::ChannelRequester
typedef Channel operation_type
 
- Static Public Attributes inherited from epics::pvAccess::ChannelRequester
static size_t num_instances
 

Detailed Description

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

Definition at line 1209 of file pvAccess.h.

Constructor & Destructor Documentation

virtual epics::pvAccess::DefaultChannelRequester::~DefaultChannelRequester ( )
inlinevirtual

Definition at line 1211 of file pvAccess.h.

1211 {}

Member Function Documentation

ChannelRequester::shared_pointer epics::pvAccess::DefaultChannelRequester::build ( )
static

Definition at line 444 of file pvAccess.cpp.

445 {
446  ChannelRequester::shared_pointer ret(new DefaultChannelRequester);
447  return ret;
448 }
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.

Definition at line 432 of file pvAccess.cpp.

433 {
434  if(!status.isSuccess()) {
435  std::ostringstream strm;
436  status.dump(strm);
437  throw std::runtime_error(strm.str());
438  }
439 }
void dump(std::ostream &o) const
Definition: status.cpp:83
bool isSuccess() const
Definition: status.h:103
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.

Definition at line 441 of file pvAccess.cpp.

442 { /* no-op */ }
std::string epics::pvAccess::DefaultChannelRequester::getRequesterName ( )
virtual

The requester must have a name.

Returns
The requester's name.

Implements epics::pvAccess::Requester.

Definition at line 430 of file pvAccess.cpp.

430 { return "DefaultChannelRequester"; }

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