2 #include <QMutexLocker>
17 union db_access_val *pb = (
union db_access_val *) args.dbr;
20 if (ar && ar->debug()) {
21 printf(
"%s EpicsArray Event Handler called %ld(%ld)\n",
22 ca_name(args.chid), args.type, args.count);
25 QVector<double> res(args.count);
29 for (
int i=0; i<args.count; i++) {
30 res[i] = (&pb->shrtval)[i];
39 for (
int i=0; i<args.count; i++) {
40 res[i] = (&pb->longval)[i];
44 for (
int i=0; i<args.count; i++) {
45 res[i] = (&pb->fltval)[i];
49 for (
int i=0; i<args.count; i++) {
50 res[i] = (&pb->doubleval)[i];
54 printf(
"Array data type %ld not supported\n", args.type);
70 printf(
"EpicsArray::changeValue\n");
78 printf(
"EpicsArray::changeValue emit valueChanged()\n");
86 ca_array_put(DBR_DOUBLE, val.count(),
channelID(), val.data());
QVector< double > m_Value
static void event_handler(struct event_handler_args arg)
void changeValue(QVector< double > val)
virtual caEventCallBackFunc * get_event_handler()
EpicsArray(QString pvName, QObject *parent=0, int debug=0)
QVector< double > value()
void caput(QVector< double > val)
void ca_pend_io(double t)