diff options
author | Johannes Schanda <schanda@itestra.de> | 2013-09-06 16:11:42 +0200 |
---|---|---|
committer | Philip Rauwolf <rauwolf@itestra.de> | 2013-09-11 09:56:50 +0200 |
commit | 69b6e39162e50916ce3b3e80ad0c2e4d9b4c4b25 (patch) | |
tree | a04a4f326b36d83fb7f68ba19269b61871adcada | |
parent | 8dbea02e1879c1c4be481999126ec0b522c05fb5 (diff) | |
download | genivi-common-api-dbus-runtime-69b6e39162e50916ce3b3e80ad0c2e4d9b4c4b25.tar.gz |
Corrected bug in ObservableReadony attributes
- Observable attribute must always pass through the out signature, so
add to readony attribute
-rw-r--r-- | src/CommonAPI/DBus/DBusAttribute.h | 8 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusProxy.cpp | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/CommonAPI/DBus/DBusAttribute.h b/src/CommonAPI/DBus/DBusAttribute.h index eb77384..4967702 100644 --- a/src/CommonAPI/DBus/DBusAttribute.h +++ b/src/CommonAPI/DBus/DBusAttribute.h @@ -32,9 +32,10 @@ class DBusReadonlyAttribute: public _AttributeType { typedef typename _AttributeType::ValueType ValueType; typedef typename _AttributeType::AttributeAsyncCallback AttributeAsyncCallback; - DBusReadonlyAttribute(_DBusProxyType& dbusProxy, const char* getMethodName): + DBusReadonlyAttribute(_DBusProxyType& dbusProxy, const char* setMethodSignature, const char* getMethodName): dbusProxy_(dbusProxy), - getMethodName_(getMethodName) { + getMethodName_(getMethodName), + setMethodSignature_(setMethodSignature) { assert(getMethodName); } @@ -52,6 +53,7 @@ class DBusReadonlyAttribute: public _AttributeType { protected: _DBusProxyType& dbusProxy_; const char* getMethodName_; + const char* setMethodSignature_; }; template <typename _AttributeType, typename _DBusProxyType = DBusProxy> @@ -188,7 +190,7 @@ class DBusAttribute: public DBusReadonlyAttribute<_AttributeType> { typedef typename _AttributeType::AttributeAsyncCallback AttributeAsyncCallback; DBusAttribute(_DBusProxyType& dbusProxy, const char* setMethodName, const char* setMethodSignature, const char* getMethodName): - DBusReadonlyAttribute<_AttributeType>(dbusProxy, getMethodName), + DBusReadonlyAttribute<_AttributeType>(dbusProxy, setMethodSignature, getMethodName), setMethodName_(setMethodName), setMethodSignature_(setMethodSignature) { assert(setMethodName); diff --git a/src/CommonAPI/DBus/DBusProxy.cpp b/src/CommonAPI/DBus/DBusProxy.cpp index fe7679a..990021c 100644 --- a/src/CommonAPI/DBus/DBusProxy.cpp +++ b/src/CommonAPI/DBus/DBusProxy.cpp @@ -41,7 +41,7 @@ DBusProxy::DBusProxy(const std::string& commonApiAddress, dbusInterfaceName_(dbusInterfaceName), dbusProxyStatusEvent_(this), availabilityStatus_(AvailabilityStatus::UNKNOWN), - interfaceVersionAttribute_(*this, "getInterfaceVersion"), + interfaceVersionAttribute_(*this, "getInterfaceVersion", "uu"), dbusServiceRegistry_(dbusConnection->getDBusServiceRegistry()) { const std::string commonApiDomain = split(commonApiAddress, ':')[0]; |