EPICS ARCHIVER V4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | List of all members
GroupInfo Class Reference

A Group of channels. More...

#include <GroupInfo.h>

Inheritance diagram for GroupInfo:
NamedBase Guardable Named

Public Member Functions

 GroupInfo (const std::string &name)
 Constructor.
 
virtual ~GroupInfo ()
 Destructor.
 
OrderedMutexgetMutex ()
 Guardable interface.
 
void addChannel (Guard &group_guard, ArchiveChannel *channel)
 Add channel to this group. More...
 
const stdList< class
ArchiveChannel * > & 
getChannels (Guard &group_guard) const
 Return current list of group members.
 
void disable (Guard &group_guard, ArchiveChannel *cause, const epicsTime &when)
 Disable all channels of this group. More...
 
void enable (Guard &group_guard, ArchiveChannel *cause, const epicsTime &when)
 Enable all channels of this group. More...
 
bool isEnabled (Guard &group_guard) const
 Check if enable.
 
size_t getNumConnected (Guard &group_guard) const
 
void incConnected (Guard &group_guard, ArchiveChannel &pv)
 Invoked by ArchiveChannel to update connection count. More...
 
void decConnected (Guard &group_guard, ArchiveChannel &pv)
 Invoked by ArchiveChannel to update connection count. More...
 
void addToFUX (Guard &group_guard, FUX::Element *doc)
 Append this group to a FUX document. More...
 
- Public Member Functions inherited from NamedBase
 NamedBase (const char *name)
 Create a Named thing with given name. More...
 
const stdString & getName () const
 

Detailed Description

A Group of channels.

Each channel, identified by an ArchiveChannel, belongs to at least one group. GroupInfo handles one such group. A channel can disable its group.

This is double-linked: Each ArchiveChannel indicates membership to several groups so that a channel can disable its groups. Each GroupInfo knows all it's members in order to disable them.

Member Function Documentation

void GroupInfo::addChannel ( Guard group_guard,
ArchiveChannel channel 
)

Add channel to this group.

NOP if already group member.

void GroupInfo::addToFUX ( Guard group_guard,
FUX::Element doc 
)

Append this group to a FUX document.

void GroupInfo::decConnected ( Guard group_guard,
ArchiveChannel pv 
)

Invoked by ArchiveChannel to update connection count.

void GroupInfo::disable ( Guard group_guard,
ArchiveChannel cause,
const epicsTime &  when 
)

Disable all channels of this group.

void GroupInfo::enable ( Guard group_guard,
ArchiveChannel cause,
const epicsTime &  when 
)

Enable all channels of this group.

size_t GroupInfo::getNumConnected ( Guard group_guard) const
inline
Returns
Returns # of channels in group that are connected.
void GroupInfo::incConnected ( Guard group_guard,
ArchiveChannel pv 
)

Invoked by ArchiveChannel to update connection count.


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