Program Listing for File alarm.h¶
↰ Return to documentation for file (src/property/pv/alarm.h)
/* alarm.h */
/*
* Copyright information and license terms for this software can be
* found in the file LICENSE that is included with the distribution
*/
#ifndef ALARM_H
#define ALARM_H
#include <string>
#include <pv/pvType.h>
#include <shareLib.h>
namespace epics { namespace pvData {
enum AlarmSeverity {
noAlarm,minorAlarm,majorAlarm,invalidAlarm,undefinedAlarm
};
enum AlarmStatus {
noStatus,deviceStatus,driverStatus,recordStatus,
dbStatus,confStatus,undefinedStatus,clientStatus
};
class epicsShareClass AlarmSeverityFunc {
public:
static AlarmSeverity getSeverity(int value);
static StringArrayPtr getSeverityNames();
};
class epicsShareClass AlarmStatusFunc {
public:
static AlarmStatus getStatus(int value);
static StringArrayPtr getStatusNames();
};
class epicsShareClass Alarm {
public:
Alarm() : severity(0),status(0), message(std::string("")) {}
//default constructors and destructor are OK
std::string getMessage() const {return message;}
void setMessage(std::string const &value) {message = value;}
AlarmSeverity getSeverity() const;
void setSeverity(AlarmSeverity value) {severity = value;}
AlarmStatus getStatus() const;
void setStatus(AlarmStatus value) { status = value;}
private:
int32 severity;
int32 status;
std::string message;
};
}}
#endif /* ALARM_H */