This is Unofficial EPICS BASE Doxygen Site
epics::pvData::AlarmStatusFunc Class Reference

methods for AlarmStatus More...

#include "alarm.h"

Static Public Member Functions

static AlarmStatus getStatus (int value)
 
static StringArrayPtr getStatusNames ()
 

Detailed Description

methods for AlarmStatus

Definition at line 73 of file alarm.h.

Member Function Documentation

AlarmStatus epics::pvData::AlarmStatusFunc::getStatus ( int  value)
static

Get the status.

Parameters
valueGet the alarm status corresponding to the integer value.
Returns
The status.
Exceptions
ifstatus value is out of range.

Definition at line 70 of file alarm.cpp.

71 {
72  if(value<0 || value>7) {
73  throw std::logic_error(string("getStatus value is illegal"));
74  }
75  switch (value) {
76  case 0: return noStatus;
77  case 1: return deviceStatus;
78  case 2: return driverStatus;
79  case 3: return recordStatus;
80  case 4: return dbStatus;
81  case 5: return confStatus;
82  case 6: return undefinedStatus;
83  case 7: return clientStatus;
84  }
85  throw std::logic_error(string("should never get here"));
86 }
Definition: link.h:174
StringArrayPtr epics::pvData::AlarmStatusFunc::getStatusNames ( )
static

Get the array of status names.

Returns
The array of status names.

Definition at line 88 of file alarm.cpp.

89 {
90  static size_t statusCount = 8;
91  static StringArrayPtr statusNames;
92  static Mutex mutex;
93  Lock xx(mutex);
94  if(statusNames.get()==NULL) {
95  statusNames = StringArrayPtr(new StringArray());
96  statusNames->reserve(statusCount);
97  statusNames->push_back("NONE");
98  statusNames->push_back("DEVICE");
99  statusNames->push_back("DRIVER");
100  statusNames->push_back("RECORD");
101  statusNames->push_back("DB");
102  statusNames->push_back("CONF");
103  statusNames->push_back("UNDEFINED");
104  statusNames->push_back("CLIENT");
105  }
106  return statusNames;
107 }
#define NULL
Definition: catime.c:38
epicsMutex mutex
Definition: pvAccess.cpp:71
std::vector< std::string > StringArray
Definition: pvType.h:110
epicsMutex Mutex
Definition: lock.h:28
std::tr1::shared_ptr< StringArray > StringArrayPtr
Definition: pvType.h:111

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