This is Unofficial EPICS BASE Doxygen Site
PDBSingleMonitor Struct Reference

#include "pdbsingle.h"

+ Inheritance diagram for PDBSingleMonitor:
+ Collaboration diagram for PDBSingleMonitor:

Public Member Functions

 POINTER_DEFINITIONS (PDBSingleMonitor)
 
 PDBSingleMonitor (const PDBSinglePV::shared_pointer &pv, const requester_t::shared_pointer &requester, const epics::pvData::PVStructure::shared_pointer &pvReq)
 
virtual ~PDBSingleMonitor ()
 
virtual void onStart () OVERRIDE FINAL
 
virtual void onStop () OVERRIDE FINAL
 
virtual void requestUpdate () OVERRIDE FINAL
 
virtual void destroy () OVERRIDE FINAL
 
- Public Member Functions inherited from BaseMonitor
 POINTER_DEFINITIONS (BaseMonitor)
 
shared_pointer shared_from_this ()
 
 BaseMonitor (epicsMutex &lock, const requester_t::weak_pointer &requester, const epics::pvData::PVStructure::shared_pointer &pvReq)
 
virtual ~BaseMonitor ()
 
const epics::pvData::PVStructurePtrgetValue ()
 
void connect (guard_t &guard, const epics::pvData::PVStructurePtr &value)
 
bool post (guard_t &guard, const epics::pvData::BitSet &updated, no_overflow)
 post update if queue not full, if full return false w/o overflow More...
 
bool post (guard_t &guard)
 post update of pending changes. eg. call from requestUpdate() More...
 
bool post (guard_t &guard, const epics::pvData::BitSet &updated, const epics::pvData::BitSet &overflowed)
 post update with changed and overflowed masks (eg. when updates were lost in some upstream queue) More...
 
bool post (guard_t &guard, const epics::pvData::BitSet &updated)
 post update with changed More...
 
virtual void getStats (Stats &s) const
 
- Public Member Functions inherited from epics::pvAccess::Monitor
 POINTER_DEFINITIONS (Monitor)
 
virtual ~Monitor ()
 
virtual void reportRemoteQueueStatus (epics::pvData::int32 freeElements)
 
- Public Member Functions inherited from epics::pvAccess::Destroyable
 POINTER_DEFINITIONS (Destroyable)
 

Public Attributes

const PDBSinglePV::shared_pointer pv
 
- Public Attributes inherited from BaseMonitor
weak_pointer weakself
 
epicsMutex & lock
 

Static Public Attributes

static size_t num_instances
 

Additional Inherited Members

- Public Types inherited from BaseMonitor
typedef epics::pvAccess::MonitorRequester requester_t
 
typedef epicsGuard< epicsMutex > guard_t
 
typedef epicsGuardRelease< epicsMutex > unguard_t
 
- Public Types inherited from epics::pvAccess::Monitor
typedef MonitorRequester requester_type
 
- Protected Member Functions inherited from epics::pvAccess::Destroyable
virtual ~Destroyable ()
 

Detailed Description

Definition at line 138 of file pdbsingle.h.

Constructor & Destructor Documentation

PDBSingleMonitor::PDBSingleMonitor ( const PDBSinglePV::shared_pointer &  pv,
const requester_t::shared_pointer &  requester,
const epics::pvData::PVStructure::shared_pointer &  pvReq 
)

Definition at line 435 of file pdbsingle.cpp.

438  :BaseMonitor(pv->lock, requester, pvReq)
439  ,pv(pv)
440 {
441  epics::atomic::increment(num_instances);
442 }
Definition: tool_lib.h:67
const PDBSinglePV::shared_pointer pv
Definition: pdbsingle.h:142
const ChannelProcessRequester::weak_pointer requester
Definition: pvAccess.cpp:68
static size_t num_instances
Definition: pdbsingle.h:144
BaseMonitor(epicsMutex &lock, const requester_t::weak_pointer &requester, const epics::pvData::PVStructure::shared_pointer &pvReq)
Definition: pvahelper.h:94
PDBSingleMonitor::~PDBSingleMonitor ( )
virtual

Definition at line 444 of file pdbsingle.cpp.

445 {
446  destroy();
447  epics::atomic::decrement(num_instances);
448 }
virtual void destroy() OVERRIDE FINAL
Definition: pdbsingle.cpp:450
static size_t num_instances
Definition: pdbsingle.h:144

Member Function Documentation

void PDBSingleMonitor::destroy ( )
virtual

Destroy this instance.

Reimplemented from BaseMonitor.

Definition at line 450 of file pdbsingle.cpp.

451 {
453 }
virtual void destroy()
Definition: pvahelper.h:273
void PDBSingleMonitor::onStart ( )
virtual

Reimplemented from BaseMonitor.

Definition at line 455 of file pdbsingle.cpp.

456 {
457  pv->addMonitor(this);
458 }
Definition: tool_lib.h:67
void PDBSingleMonitor::onStop ( )
virtual

Reimplemented from BaseMonitor.

Definition at line 460 of file pdbsingle.cpp.

461 {
462  guard_t G(pv->lock);
463 
464  pv->removeMonitor(this);
465 }
epicsGuard< epicsMutex > guard_t
Definition: pvahelper.h:78
Definition: tool_lib.h:67
PDBSingleMonitor::POINTER_DEFINITIONS ( PDBSingleMonitor  )
void PDBSingleMonitor::requestUpdate ( )
virtual

called when within release() when the opportunity exists to end the overflow condition May do nothing, or lock and call post()

Reimplemented from BaseMonitor.

Definition at line 467 of file pdbsingle.cpp.

468 {
469  guard_t G(pv->lock);
470  post(G);
471 }
epicsGuard< epicsMutex > guard_t
Definition: pvahelper.h:78
Definition: tool_lib.h:67
bool post(guard_t &guard, const epics::pvData::BitSet &updated, no_overflow)
post update if queue not full, if full return false w/o overflow
Definition: pvahelper.h:136

Member Data Documentation

size_t PDBSingleMonitor::num_instances
static

Definition at line 144 of file pdbsingle.h.

const PDBSinglePV::shared_pointer PDBSingleMonitor::pv

Definition at line 142 of file pdbsingle.h.


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