statusCodes.h File Reference

#include <cadef.h>
#include <map>
#include <vector>
#include <iostream>
#include <sstream>
#include <cafeDataType.h>

Go to the source code of this file.

Classes

class  CAFEGlobalAlarmCondition
class  CAFEGlobalAlarmSeverity
class  CAFEStatusInfo
class  CAFEStatusCode
class  CAFEStatusSeverity
class  CAFEStatus

Enumerations

enum  CAFE_CS_STATE {
  ICAFE_CS_NEVER_CONN = ICAFE_STATUS_CS, ICAFE_CS_PREV_CONN, ICAFE_CS_CONN, ICAFE_CS_CLOSED,
  ICAFE_CS_DISCONN, ICAFE_CS_UNKNOWN
}
enum  CAFE_CFT_STATE {
  ICAFE_TYPENOTCONN = ICAFE_STATUS_CFT, ICAFE_RULE_FALSE, ICAFE_BADCOUNT, ICAFE_CALLBACK_NOT_YET_INVOKED,
  ICAFE_WAITING_FOR_PREV_CALLBACK, ICAFE_CACHE_EMPTY, ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT, ICAFE_MONITOR_DELAYED_AS_CONN_DOWN,
  ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE, ICAFE_SET_AND_GET_MISMATCH
}
enum  CAFE_CC_STATE {
  ICAFE_CA_OP_GET = ICAFE_STATUS_CA_OP, ICAFE_CA_OP_PUT, ICAFE_CA_OP_CREATE_CHANNEL, ICAFE_CA_OP_ADD_EVENT,
  ICAFE_CA_OP_CLEAR_EVENT, ICAFE_CA_OP_OTHER, ICAFE_CA_OP_CONN_UP, ICAFE_CA_OP_CONN_DOWN
}
enum  CAFE_ERROR_STATE {
  ECAFE_NODATA = ICAFE_STATUS_ERROR, ECAFE_INVALID_TYPE, ECAFE_BADCOUNT, ECAFE_BADSTR,
  ECAFE_BADTYPE, ECAFE_NO_CONVERT, ECAFE_NULLCONTEXT, ECAFE_NULLCHID,
  ECAFE_NULLEVID, ECAFE_UNKNOWN_COLLECTION, ECAFE_EMPTY_COLLECTION, ECAFE_COLLECTION_PREV_DEF,
  ECAFE_COLLECTION_INVALID_MEMBER, ECAFE_RULE_FALSE, ECAFE_UNKNOWN_GROUP, ECAFE_EMPTY_GROUP,
  ECAFE_GROUP_PREV_DEF, ECAFE_INVALID_HANDLE, ECAFE_INVALID_GROUP_HANDLE, ECAFE_NORDACCESS,
  ECAFE_NOWTACCESS, ECAFE_TIMEOUT, ECAFE_CANNOT_OPEN_FILE, ECAFE_INVALID_SWITCH_CASE,
  ECAFE_PVALIAS_PREV_DEF, ECAFE_PVALIAS_INVALID, ECAFE_PVNAME_PREV_DEF_AS_PVALIAS, ECAFE_DEVICE_ATTRIB_NOT_FOUND,
  ECAFE_HASH_UNIQUEID_EXISTS, ECAFE_WRONG_CA_CONTEXT, ECAFE_INVALID_CAFENUM_POLICY_TYPE, ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED,
  ECAFE_INVALID_ENUM_INDEX, ECAFE_PVGROUP_GROUPHANDLE_MISMATCH, ECAFE_TIMEOUT_SET_AND_MATCH, ECAFE_HANDLE_MISMATCH_SET_AND_MATCH,
  ECAFE_INCONSISTENT_CONTAINER_CORRECTED
}
enum  CAFE_FILE_ERROR { ECAFE_LOAD_COLLECTION = ICAFE_FILE_ERROR, ECAFE_LOAD_GROUP }
enum  CAFE_SERVICE_ERROR { ECAFE_BPM_DATA_IS_INVALID = ICAFE_SERVICE_ERROR }
enum  CAFE_BITSHUFFLE_ERROR { ECAFE_BITSHUFF_DECOMPRESS = ICAFE_BITSHUFFLE_ERROR, ECAFE_BITSHUFF_ALLOCMEM, ECAFE_BITSHUFF_REALLOCMEM, ECAFE_BITSHUFF_BADCOUNT }
enum  CAFE_BSREAD_ERROR { ECAFE_BSREAD_MULTIPART_MESS_NODATA = ICAFE_BSREAD_BASE, ECAFE_BSREAD_PARSEFAIL_MAINHEADER, ECAFE_BSREAD_PARSEFAIL_DATAHEADER, ECAFE_BSREAD_ZMQSTREAM_NULL }
enum  CAFE_ERRNO_ERROR {
  ERRNO_EINTR = ICAFE_ERRNO_BASE+4, ERRNO_EAGAIN = ICAFE_ERRNO_BASE+11, ERRNO_EFAULT = ICAFE_ERRNO_BASE+14, ERRNO_EINVAL = ICAFE_ERRNO_BASE+22,
  ERRNO_ENOTSOCK = ICAFE_ERRNO_BASE+88, ERRNO_EPROTONOSUPPORT = ICAFE_ERRNO_BASE+93
}
enum  EPICS_GLOBAL_ALARM_CONDITION {
  STAT_NO_ALARM = 0, STAT_READ, STAT_WRITE, STAT_HIHI,
  STAT_HIGH, STAT_LOLO, STAT_LOW, STAT_STATE,
  STAT_COS, STAT_COMM, STAT_TIMEOUT, STAT_HWLIMIT,
  STAT_CALC, STAT_SCAN, STAT_LINK, STAT_SOFT,
  STAT_BAD_SUB, STAT_UDF, STAT_DISABLE, STAT_SIMM,
  STAT_READ_ACCESS, STAT_WRITE_ACCESS
}
enum  EPICS_GLOBAL_ALARM_SEVERITY { SEV_NO_ALARM = 0, SEV_MINOR, SEV_MAJOR, SEV_INVALID }

Variables

const unsigned short ICAFE_STATUS_BASE = 600
const unsigned short ICAFE_STATUS_CS = ICAFE_STATUS_BASE
const unsigned short ICAFE_STATUS_CFT = 700
const unsigned short ICAFE_STATUS_CA_OP = 800
const unsigned short ICAFE_STATUS_ERROR = 1000
const unsigned short ICAFE_FILE_ERROR = 1100
const unsigned short ICAFE_SERVICE_ERROR = 1200
const unsigned short ICAFE_BITSHUFFLE_ERROR = 1300
const unsigned short ICAFE_BSREAD_BASE = 1500
const unsigned short ICAFE_ERRNO_BASE = 5000
const unsigned short ICAFE_SUCCESS = ECA_NORMAL
const unsigned short ICAFE_NORMAL = ECA_NORMAL

Detailed Description

class StatusInfo - contains user defined messages (>ICAFE_STATUS_BASE) and ca_message() output string

class StatusMap - contains ECA and ECAFE error strings plus ICAFE info strings

class Status - contains both above classes by composition

Author:
Jan Chrin, PSI
Date:
Release: Feb. 2015 Revised: May 2017 Added CAFEGlobalAlarmStatus and CAFEGlobalAlarmSeverity
Version:
CAFE 1.1.0

JC, Dec. 2015, additional methods to CAFEStatus


Enumeration Type Documentation

Enumerator:
ECAFE_BITSHUFF_DECOMPRESS 
ECAFE_BITSHUFF_ALLOCMEM 
ECAFE_BITSHUFF_REALLOCMEM 
ECAFE_BITSHUFF_BADCOUNT 
Enumerator:
ECAFE_BSREAD_MULTIPART_MESS_NODATA 
ECAFE_BSREAD_PARSEFAIL_MAINHEADER 
ECAFE_BSREAD_PARSEFAIL_DATAHEADER 
ECAFE_BSREAD_ZMQSTREAM_NULL 
Enumerator:
ICAFE_CA_OP_GET 
ICAFE_CA_OP_PUT 
ICAFE_CA_OP_CREATE_CHANNEL 
ICAFE_CA_OP_ADD_EVENT 
ICAFE_CA_OP_CLEAR_EVENT 
ICAFE_CA_OP_OTHER 
ICAFE_CA_OP_CONN_UP 
ICAFE_CA_OP_CONN_DOWN 
Enumerator:
ICAFE_TYPENOTCONN 
ICAFE_RULE_FALSE 
ICAFE_BADCOUNT 
ICAFE_CALLBACK_NOT_YET_INVOKED 
ICAFE_WAITING_FOR_PREV_CALLBACK 
ICAFE_CACHE_EMPTY 
ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT 
ICAFE_MONITOR_DELAYED_AS_CONN_DOWN 
ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE 
ICAFE_SET_AND_GET_MISMATCH 
Enumerator:
ICAFE_CS_NEVER_CONN 
ICAFE_CS_PREV_CONN 
ICAFE_CS_CONN 
ICAFE_CS_CLOSED 
ICAFE_CS_DISCONN 
ICAFE_CS_UNKNOWN 
Enumerator:
ERRNO_EINTR 
ERRNO_EAGAIN 
ERRNO_EFAULT 
ERRNO_EINVAL 
ERRNO_ENOTSOCK 
ERRNO_EPROTONOSUPPORT 
Enumerator:
ECAFE_NODATA 
ECAFE_INVALID_TYPE 
ECAFE_BADCOUNT 
ECAFE_BADSTR 
ECAFE_BADTYPE 
ECAFE_NO_CONVERT 
ECAFE_NULLCONTEXT 
ECAFE_NULLCHID 
ECAFE_NULLEVID 
ECAFE_UNKNOWN_COLLECTION 
ECAFE_EMPTY_COLLECTION 
ECAFE_COLLECTION_PREV_DEF 
ECAFE_COLLECTION_INVALID_MEMBER 
ECAFE_RULE_FALSE 
ECAFE_UNKNOWN_GROUP 
ECAFE_EMPTY_GROUP 
ECAFE_GROUP_PREV_DEF 
ECAFE_INVALID_HANDLE 
ECAFE_INVALID_GROUP_HANDLE 
ECAFE_NORDACCESS 
ECAFE_NOWTACCESS 
ECAFE_TIMEOUT 
ECAFE_CANNOT_OPEN_FILE 
ECAFE_INVALID_SWITCH_CASE 
ECAFE_PVALIAS_PREV_DEF 
ECAFE_PVALIAS_INVALID 
ECAFE_PVNAME_PREV_DEF_AS_PVALIAS 
ECAFE_DEVICE_ATTRIB_NOT_FOUND 
ECAFE_HASH_UNIQUEID_EXISTS 
ECAFE_WRONG_CA_CONTEXT 
ECAFE_INVALID_CAFENUM_POLICY_TYPE 
ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED 
ECAFE_INVALID_ENUM_INDEX 
ECAFE_PVGROUP_GROUPHANDLE_MISMATCH 
ECAFE_TIMEOUT_SET_AND_MATCH 
ECAFE_HANDLE_MISMATCH_SET_AND_MATCH 
ECAFE_INCONSISTENT_CONTAINER_CORRECTED 
Enumerator:
ECAFE_LOAD_COLLECTION 
ECAFE_LOAD_GROUP 
Enumerator:
ECAFE_BPM_DATA_IS_INVALID 
Enumerator:
STAT_NO_ALARM 
STAT_READ 
STAT_WRITE 
STAT_HIHI 
STAT_HIGH 
STAT_LOLO 
STAT_LOW 
STAT_STATE 
STAT_COS 
STAT_COMM 
STAT_TIMEOUT 
STAT_HWLIMIT 
STAT_CALC 
STAT_SCAN 
STAT_LINK 
STAT_SOFT 
STAT_BAD_SUB 
STAT_UDF 
STAT_DISABLE 
STAT_SIMM 
STAT_READ_ACCESS 
STAT_WRITE_ACCESS 
Enumerator:
SEV_NO_ALARM 
SEV_MINOR 
SEV_MAJOR 
SEV_INVALID 

Variable Documentation

const unsigned short ICAFE_BITSHUFFLE_ERROR = 1300
const unsigned short ICAFE_BSREAD_BASE = 1500
const unsigned short ICAFE_ERRNO_BASE = 5000
const unsigned short ICAFE_FILE_ERROR = 1100
const unsigned short ICAFE_NORMAL = ECA_NORMAL

Referenced by HandleHelper::addMonitorAction(), CAFE_BSHELPER::bitshuffleDecompress(), CAFEBS::BSDataHolder::BSDataHolder(), Granules::channelExecuteGet(), Granules::channelExecuteGetCtrl(), Granules::channelExecuteGetCtrlNoWait(), Granules::channelExecuteGetNoWait(), Granules::channelExecutePut(), Granules::channelPrepareGet(), Granules::channelPrepareGetCtrl(), Granules::channelPreparePut(), ChannelRequestPolicy::ChannelRequestPolicy(), Granules::channelVerifyGet(), Granules::channelVerifyGetCtrl(), Granules::channelVerifyPut(), HandleHelper::checkConsistency(), HandleHelper::clearMonitorAction(), Instant< CTYPE >::clientRequests(), Connect::close(), Connect::closeChannelKeepHandle(), Connect::closeChannels(), Connect::closeChannelsKeepHandles(), Connect::closeHandle(), Connect::closeHandles(), Connect::collectionDefine(), Connect::collectionFetch(), Connect::collectionList(), Connect::collectionMemberList(), Instant< CTYPE >::compareAndMatchMany(), ConduitGroup::ConduitGroup(), Connect::contextDestroy(), Connect::createHandleWithinGroup(), CAFEBS::DBPMKeeper::DBPMKeeper(), Connect::devicePositionMap(), Connect::devicePositionOrderedMultiMap(), Connect::devicePositionV(), HandleHelper::eraseMonitorAction(), Transpose< CTYPE >::get(), Transpose< CAFE_DATATYPE_UNION >::get(), Transpose< dbr_string_t >::get(), Instant< CTYPE >::get(), ConduitGroup::get(), CAFE::get(), HandleHelper::getAlarmStatusSeverity(), HandleHelper::getAlarmStatusSeverityAsString(), Instant< CTYPE >::getCache(), getCache(), CAFE::getCache(), CAFE::getCacheDouble(), CAFE::getCacheFromPulseID(), CAFE::getCacheNoWait(), getCachePVArrayNoWait(), getCacheString(), CAFE::getCacheString(), HandleHelper::getCafeDbrType(), HandleHelper::getChannelAttribute(), HandleHelper::getChannelDevice(), PolicyHelper::getChannelGetActionWhenMonitorPolicy(), PolicyHelper::getChannelGetCacheWaitPolicy(), Connect::getChannelInfo(), HandleHelper::getChannelRegalia(), PolicyHelper::getChannelRequestDataTypePolicy(), PolicyHelper::getChannelRequestPolicyGet(), PolicyHelper::getChannelRequestPolicyPut(), HandleHelper::getChannelRequestStatusGet(), HandleHelper::getChannelRequestStatusGetClassName(), HandleHelper::getChannelRequestStatusGetCtrl(), HandleHelper::getChannelRequestStatusGetSTSACK(), PolicyHelper::getChannelTimeoutPolicyGet(), PolicyHelper::getChannelTimeoutPolicyPut(), Transpose< CTYPE >::getCtrl(), Transpose< dbr_string_t >::getCtrl(), CAFE::getCtrl(), CAFE::getCtrlCache(), HandleHelper::getDataTypeNative(), HandleHelper::getDataTypeRequest(), HandleHelper::getEnumFromString(), HandleHelper::getMonitorAction(), HandleHelper::getMonitorHandlesAndActions(), HandleHelper::getMonitorPolicyInWaitingVector(), HandleHelper::getMonitorPolicyVector(), HandleHelper::getNelem(), HandleHelper::getPulseID(), getPulseID(), Conduit::getPVCtrlHolder(), Connect::getPVData(), Conduit::getPVDataHolder(), PolicyHelper::getSelfGoverningTimeout(), PolicyHelper::getSGSelfGoverningTimeout(), PolicyHelper::getSGTimeout(), PolicyHelper::getSGTimeoutMax(), PolicyHelper::getSGTimeoutMin(), PolicyHelper::getSGTimeoutRange(), HandleHelper::getStringFromEnum(), PolicyHelper::getTimeout(), PolicyHelper::getTimeoutMax(), PolicyHelper::getTimeoutMin(), PolicyHelper::getTimeoutRange(), HandleHelper::getTimeStamp(), CAFE::getWFAsString(), CAFE::getWFAsStringCache(), CAFE::groupAttach(), Connect::groupClose(), Connect::groupCombine(), Connect::groupDefine(), CAFE::groupFetch(), CAFE::groupGet(), Connect::groupHandleErase(), Connect::groupList(), Connect::groupMemberList(), Connect::groupOpen(), CAFE::groupSet(), ChannelDeviceAttribute::init(), HandleHelper::isEnum(), main(), Instant< CTYPE >::matchMany(), Connect::monitorPulseID(), Connect::monitorStart(), Connect::monitorStop(), Connect::monitorStopPulseID(), Connect::open(), PVGroup::print(), HandleHelper::printHandle(), HandleHelper::printHandles(), HandleHelper::printHandlesV(), PVGroup::printIfError(), PolicyHelper::printSGTimeout(), Connect::printStatus(), Connect::printStatusIfError(), PolicyHelper::printTimeout(), Transpose< CTYPE >::put(), ConduitGroup::put(), Transpose< CTYPE >::putString(), Transpose< dbr_string_t >::putString(), PVGroup::PVGroup(), CAFEBS::BSDataHolder::reconnect(), CAFE::resetCallbackGet(), CAFE::resetCallbackPut(), Instant< CTYPE >::set(), CAFE::set(), Instant< CTYPE >::setAndGet(), Instant< dbr_short_t >::setAndGetDbrString(), Instant< dbr_short_t >::setAndGetString(), Instant< CTYPE >::setAndMatch(), Instant< CTYPE >::setAndMatchMany(), HandleHelper::setCafeDbrType(), HandleHelper::setCafeDbrTypeV(), HandleHelper::setChannelDeviceAttribute(), PolicyHelper::setChannelGetActionWhenMonitorPolicy(), PolicyHelper::setChannelGetCacheWaitPolicy(), PolicyHelper::setChannelRequestDataTypePolicy(), PolicyHelper::setChannelRequestPolicyGet(), PolicyHelper::setChannelRequestPolicyPut(), PolicyHelper::setChannelTimeoutPolicyGet(), PolicyHelper::setChannelTimeoutPolicyPut(), Instant< CTYPE >::setMany(), Instant< dbr_short_t >::setManyString(), HandleHelper::setMapPulseIDBufferSize(), HandleHelper::setMapPulseIDBufferSizeAll(), HandleHelper::setNelem(), Connect::setPVAlias(), CAFE::setPVArray(), PolicyHelper::setSelfGoverningTimeout(), PolicyHelper::setSelfGoverningTimeoutGet(), PolicyHelper::setSelfGoverningTimeoutPut(), PolicyHelper::setSGSelfGoverningTimeout(), PolicyHelper::setSGSelfGoverningTimeoutGet(), PolicyHelper::setSGSelfGoverningTimeoutPut(), PolicyHelper::setSGTimeout(), PolicyHelper::setSGTimeoutToDefault(), HandleHelper::setSTS(), PolicyHelper::setTimeout(), PolicyHelper::setTimeoutToDefault(), Connect::terminate(), CAFE_BSHELPER::unfoldPreBlob(), Connect::updateAccessRead(), Connect::updateAccessWrite(), CAFE::waitForBundledEvents(), Granules::waitForGetCtrlEvent(), Granules::waitForGetEvent(), Granules::waitForManyGetEvents(), CAFE::waitForPut(), Granules::waitForPutEvent(), z_bsread(), and z_bsread_dbpm().

const unsigned short ICAFE_SERVICE_ERROR = 1200
const unsigned short ICAFE_STATUS_BASE = 600

Referenced by CAFEStatusInfo::message().

const unsigned short ICAFE_STATUS_CA_OP = 800
const unsigned short ICAFE_STATUS_CFT = 700
const unsigned short ICAFE_STATUS_CS = ICAFE_STATUS_BASE
const unsigned short ICAFE_STATUS_ERROR = 1000
const unsigned short ICAFE_SUCCESS = ECA_NORMAL

Generated on 28 May 2018 for CAFE by  doxygen 1.6.1