00001 #ifndef _RDA_VALUE_CHANGE_LISTENER_
00002 #define _RDA_VALUE_CHANGE_LISTENER_
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <rda/IOPoint.h>
00012 #include <rda/Exception.h>
00013 #include <rda/Data.h>
00014 #include <rda/ClientInfo.h>
00015
00089 class rdaValueChangeListener
00090 {
00091 public:
00092
00096 virtual const rdaClientInfo* getClientInfo() = 0;
00097
00101 virtual bool isOnChange() = 0;
00102
00125 virtual void valueUpdated(const rdaData& oldValue, const rdaData& newValue,
00126 bool hasChanged) = 0;
00127
00141 virtual void ioFailed(const rdaIOError& error) = 0;
00142
00144
00145
00146
00147
00148
00165 static void flush(const rdaData& stamp);
00166
00175
00186 virtual void valueUpdated(bool value, bool hasChanged) = 0;
00197 virtual void valueUpdated(signed char value, bool hasChanged) = 0;
00208 virtual void valueUpdated(short value, bool hasChanged) = 0;
00219 virtual void valueUpdated(long value, bool hasChanged) = 0;
00230 virtual void valueUpdated(longlong value, bool hasChanged) = 0;
00241 virtual void valueUpdated(float value, bool hasChanged) = 0;
00252 virtual void valueUpdated(double value, bool hasChanged) = 0;
00263 virtual void valueUpdated(const char* value, bool hasChanged) = 0;
00264
00276 virtual void
00277 valueUpdated(const bool* value, unsigned long size, bool hasChanged) = 0;
00289 virtual void
00290 valueUpdated(const signed char* value, unsigned long size, bool hasChanged) = 0;
00302 virtual void
00303 valueUpdated(const short* value, unsigned long size, bool hasChanged) = 0;
00315 virtual void
00316 valueUpdated(const long* value, unsigned long size, bool hasChanged) = 0;
00328 virtual void
00329 valueUpdated(const longlong* value, unsigned long size, bool hasChanged) = 0;
00341 virtual void
00342 valueUpdated(const float* value, unsigned long size, bool hasChanged) = 0;
00354 virtual void
00355 valueUpdated(const double* value, unsigned long size, bool hasChanged) = 0;
00367 virtual void
00368 valueUpdated(const char** value, unsigned long size, bool hasChanged) = 0;
00379 virtual void
00380 valueUpdated(const rdaData& value, bool hasChanged) = 0;
00399 virtual void
00400 ioFailed(const char* cat, int code, const char* msg, bool newError) = 0;
00401
00403
00404 protected:
00405
00406 rdaValueChangeListener() {}
00407 virtual ~rdaValueChangeListener() {}
00408
00409 };
00410
00411 #endif