|
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