ConduitGroup Class Reference

#include <conduitGroup.h>

List of all members.

Public Member Functions

virtual ~ConduitGroup ()
 ConduitGroup ()
 ConduitGroup (const char *_groupName, ca_client_context *_ccc, CA_SYNC_GID _groupID, unsigned int _nMember, unsigned int *_handle)
int get (void) const
int put (void) const
ca_client_context * getClientContext (void) const
const char * getGroupName (void) const
string getGroupNameAsString (void) const
CA_SYNC_GID getGroupID (void) const
unsigned int getNMember (void) const
intgetStatus (void) const
bool * getRule (void) const
bool getRule (unsigned int i) const
unsigned int getGroupHandle (void) const
ChannelTimeoutPolicy getChannelTimeoutPolicySGPut (void) const
ChannelTimeoutPolicy getChannelTimeoutPolicySGGet (void) const

Public Attributes

std::string groupName
unsigned int groupHandle
CA_SYNC_GID groupID
intmStatus
bool * mRule
unsigned intmHandle

Private Attributes

unsigned int nMember
ca_client_context * ccc
double timeout_sg_pend_io
ChannelTimeoutPolicy channelTimeoutPolicySGGet
ChannelTimeoutPolicy channelTimeoutPolicySGPut
union db_access_val ** dataBuffer

Static Private Attributes

static unsigned int groupHandleNext = 0

Friends

struct change_channelTimeoutPolicySGPut
struct change_channelTimeoutPolicySGGet
struct change_timeout_sg_pend_io
struct change_sg_rule
class Connect
std::ostream & operator<< (std::ostream &os, const ConduitGroup &e)

Detailed Description

Principal constructor has:

Parameters:
_groupName assigned group name
_ccc ca_client_context
_groupID unique group identifier (CA_SYNC_GID)
_nMember number of members in group
_memberCC CAFEConduit object representing each group member
_groupStatus groupStatus: error indicates >0 members have an error

Constructor & Destructor Documentation

ConduitGroup::~ConduitGroup ( void   )  [virtual]

ConduitGroup destructor
Good place to clean up!

ConduitGroup::ConduitGroup ( void   ) 

ConduitGroup constructor

ConduitGroup::ConduitGroup ( const char *  _groupName,
ca_client_context *  _ccc,
CA_SYNC_GID  _groupID,
unsigned int  _nMember,
unsigned int _mHandle 
)

ConduitGroup constructor has:

Parameters:
_groupName assigned group name
_ccc ca_client_context
_groupID unique group identifier (CA_SYNC_GID)
_nMember number of members in group
_mHandle handlt to Conduit object

References ccc, channelTimeoutPolicySGGet, channelTimeoutPolicySGPut, DEFAULT_TIMEOUT_SG_PEND_IO, groupHandle, groupHandleNext, groupID, groupName, ICAFE_NORMAL, mHandle, mRule, mStatus, nMember, ChannelTimeoutPolicy::setDefaultTimeout(), ChannelTimeoutPolicy::setTimeout(), and timeout_sg_pend_io.


Member Function Documentation

int ConduitGroup::get ( void   )  const

Retrieves PV data through channel access into the CAFEConduit::dataBuffer

Returns:
ICAFE_NORMAL if OK

References __METHOD__, channelTimeoutPolicySGGet, cs, ChannelTimeoutPolicy::getTimeout(), groupID, groupName, ICAFE_NORMAL, mHandle, mStatus, nMember, and CAFEStatus::report().

ChannelTimeoutPolicy ConduitGroup::getChannelTimeoutPolicySGGet ( void   )  const [inline]
ChannelTimeoutPolicy ConduitGroup::getChannelTimeoutPolicySGPut ( void   )  const [inline]
ca_client_context* ConduitGroup::getClientContext ( void   )  const [inline]

References ccc.

unsigned int ConduitGroup::getGroupHandle ( void   )  const [inline]

References groupHandle.

CA_SYNC_GID ConduitGroup::getGroupID ( void   )  const [inline]

References groupID.

const char* ConduitGroup::getGroupName ( void   )  const [inline]

References groupName.

string ConduitGroup::getGroupNameAsString ( void   )  const [inline]

References groupName.

unsigned int ConduitGroup::getNMember ( void   )  const [inline]

References nMember.

bool ConduitGroup::getRule ( unsigned int  i  )  const [inline]

References mRule.

bool* ConduitGroup::getRule ( void   )  const [inline]

References mRule.

int* ConduitGroup::getStatus ( void   )  const [inline]

References mStatus.

int ConduitGroup::put ( void   )  const

Sets PV data from the Conduit::dataBuffer through channel access

Returns:
ICAFE_NORMAL if OK

References __METHOD__, channelTimeoutPolicySGPut, cs, ChannelTimeoutPolicy::getTimeout(), groupID, ICAFE_NORMAL, mHandle, mStatus, nMember, and CAFEStatus::report().


Friends And Related Function Documentation

friend struct change_channelTimeoutPolicySGGet [friend]
friend struct change_channelTimeoutPolicySGPut [friend]
friend struct change_sg_rule [friend]
friend struct change_timeout_sg_pend_io [friend]
friend class Connect [friend]
std::ostream& operator<< ( std::ostream &  os,
const ConduitGroup e 
) [friend]

Member Data Documentation

ca_client_context* ConduitGroup::ccc [private]

Referenced by ConduitGroup(), and getClientContext().

union db_access_val** ConduitGroup::dataBuffer [write, private]

Referenced by ConduitGroup(), and getGroupHandle().

unsigned int ConduitGroup::groupHandleNext = 0 [static, private]

Referenced by ConduitGroup(), and Connect::terminate().

CA_SYNC_GID ConduitGroup::groupID

Referenced by ConduitGroup(), get(), getGroupID(), and put().

Referenced by ConduitGroup(), get(), and put().

unsigned int ConduitGroup::nMember [private]

Referenced by ConduitGroup(), get(), getNMember(), and put().


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

Generated on 3 May 2017 for CAFE by  doxygen 1.6.1