|
29 | 29 | CLASS DECLARATION
|
30 | 30 | ******************************************************************************/
|
31 | 31 |
|
32 |
| -class CloudWrapperBaseInterface { |
33 |
| - public: |
34 |
| - virtual bool isChangedLocally() = 0; |
35 |
| -}; |
36 |
| - |
37 |
| -class CloudWrapperBase : public Property, public CloudWrapperBaseInterface { |
| 32 | +class CloudWrapperBase : public Property { |
38 | 33 | public:
|
39 | 34 | virtual bool isChangedLocally() = 0;
|
40 | 35 | };
|
41 | 36 |
|
42 | 37 | template<typename T>
|
43 |
| -class CloudWrapperProperty : public PropertyPrimitive<T>, public CloudWrapperBaseInterface { |
| 38 | +class CloudWrapperProperty : public CloudWrapperBase { |
44 | 39 | public:
|
45 | 40 | CloudWrapperProperty(T& value)
|
46 |
| - : PropertyPrimitive<T>(value), _primitive_value(value) { } |
| 41 | + : _primitive_value(value), _value(value), _cloud_value(value) { } |
47 | 42 |
|
48 | 43 | bool isDifferentFromCloud() override {
|
49 |
| - return _primitive_value != PropertyPrimitive<T>::_cloud_value; |
| 44 | + return _primitive_value != _cloud_value; |
50 | 45 | }
|
51 | 46 |
|
52 | 47 | void fromCloudToLocal() override {
|
53 |
| - _primitive_value = PropertyPrimitive<T>::_cloud_value; |
| 48 | + _primitive_value = _cloud_value; |
54 | 49 | }
|
55 | 50 | void fromLocalToCloud() override {
|
56 |
| - PropertyPrimitive<T>::_cloud_value = _primitive_value; |
| 51 | + _cloud_value = _primitive_value; |
57 | 52 | }
|
58 | 53 |
|
59 | 54 | CborError appendAttributesToCloud(CborEncoder *encoder) override {
|
60 |
| - return PropertyPrimitive<T>::appendAttribute(_primitive_value, "", encoder); |
| 55 | + return appendAttribute(_primitive_value, "", encoder); |
61 | 56 | }
|
62 | 57 | void setAttributesFromCloud() override {
|
63 |
| - PropertyPrimitive<T>::setAttribute(PropertyPrimitive<T>::_cloud_value, ""); |
| 58 | + setAttribute(_cloud_value, ""); |
64 | 59 | }
|
65 | 60 |
|
66 | 61 | bool isChangedLocally() override {
|
67 |
| - return _primitive_value != PropertyPrimitive<T>::_value; |
| 62 | + return _primitive_value != _value; |
68 | 63 | }
|
69 | 64 | protected:
|
70 |
| - T &_primitive_value; |
| 65 | + T &_primitive_value, |
| 66 | + _value, |
| 67 | + _cloud_value; |
71 | 68 | };
|
72 | 69 |
|
73 | 70 |
|
|
0 commit comments