2 #include <QMutexLocker>
18 SEVCHK(ca_create_subscription(DBR_GR_ENUM, 0,
m_ChannelID, DBE_VALUE|DBE_ALARM,
29 union db_access_val *pb = (
union db_access_val *) args.dbr;
31 struct dbr_gr_enum res;
32 memset(&res, 0xff,
sizeof(res));
38 printf(
"data type %ld not supported\n", args.type);
43 if (e && e->
debug()) {
44 printf(
"%s Epics Enumeration Event Handler called %ld = %d\n", ca_name(args.chid), args.type, res.value);
58 printf(
"EpicsEnumeration::changeValue\n");
66 if (
m_Value.value != newval.value) {
70 if (
m_Value.no_str != newval.no_str) {
73 for (
int i=0; i<
m_Value.no_str; i++) {
74 if (strncmp(
m_Value.strs[i],newval.strs[i],MAX_ENUM_STRING_SIZE)!=0) {
84 printf(
"valchanged:%d vlschanged:%d\n", valchanged, vlschanged);
113 for (
int i=0; i<
m_Value.no_str; i++) {
virtual ~EpicsEnumeration()
static void event_handler(struct event_handler_args arg)
virtual caEventCallBackFunc * get_event_handler()
EpicsEnumeration(QString pvName, QObject *parent=0)
void changeValue(struct dbr_gr_enum val)
void ca_pend_io(double t)
struct dbr_gr_enum m_Value