pvAccessCPP  7.1.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
epics::pvAccess::Monitor Class Referenceabstract

Access to Monitor subscription and queue. More...

#include <client/pv/monitor.h>

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

Public Types

typedef MonitorRequester requester_type
 
typedef std::tr1::shared_ptr
< Destroyable
shared_pointer
 
typedef std::tr1::shared_ptr
< const Destroyable
const_shared_pointer
 
typedef std::tr1::weak_ptr
< Destroyable
weak_pointer
 
typedef std::tr1::weak_ptr
< const Destroyable
const_weak_pointer
 

Public Member Functions

 POINTER_DEFINITIONS (Monitor)
 
virtual epics::pvData::Status start ()=0
 Start monitoring. More...
 
virtual epics::pvData::Status stop ()=0
 Stop Monitoring. More...
 
virtual MonitorElementPtr poll ()=0
 If monitor has occurred return data. More...
 
virtual void release (MonitorElementPtr const &monitorElement)=0
 Release a MonitorElement that was returned by poll. More...
 
virtual void getStats (Stats &s) const
 
virtual void reportRemoteQueueStatus (epics::pvData::int32 freeElements)
 Report remote queue status. More...
 
virtual void destroy ()
 Destroy this instance.
 

Detailed Description

Access to Monitor subscription and queue.

Downstream interface to access a monitor queue (via poll() and release() )

Definition at line 69 of file monitor.h.

Member Function Documentation

virtual MonitorElementPtr epics::pvAccess::Monitor::poll ( )
pure virtual

If monitor has occurred return data.

Returns
monitorElement for modified data. Must call get to determine if data is available.

May recursively call MonitorRequester::unlisten()

Implemented in epics::pvAccess::MonitorFIFO.

virtual void epics::pvAccess::Monitor::release ( MonitorElementPtr const &  monitorElement)
pure virtual

Release a MonitorElement that was returned by poll.

A poll() must be called after the release() to check the presence of any modified data.

Parameters
monitorElement

Implemented in epics::pvAccess::MonitorFIFO.

virtual void epics::pvAccess::Monitor::reportRemoteQueueStatus ( epics::pvData::int32  freeElements)
inlinevirtual

Report remote queue status.

Parameters
freeElementsnumber of free elements.

Reimplemented in epics::pvAccess::MonitorFIFO.

Definition at line 114 of file monitor.h.

virtual epics::pvData::Status epics::pvAccess::Monitor::start ( )
pure virtual

Start monitoring.

Returns
completion status.

Implemented in epics::pvAccess::MonitorFIFO.

virtual epics::pvData::Status epics::pvAccess::Monitor::stop ( )
pure virtual

Stop Monitoring.

Returns
completion status.

Implemented in epics::pvAccess::MonitorFIFO.


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