diff options
Diffstat (limited to 'src/CommonAPI')
-rw-r--r-- | src/CommonAPI/DBus/DBusConfiguration.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusConnection.cpp | 67 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusDaemonProxy.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusInputStream.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusMainLoopContext.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusObjectManager.cpp | 8 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusObjectManagerStub.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusOutputStream.cpp | 2 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusProxy.cpp | 10 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusProxyAsyncCallbackHandler.h | 48 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusProxyBase.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusProxyHelper.h | 9 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusProxyManager.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusServiceRegistry.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusServiceRegistry.h | 2 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusStubAdapter.cpp | 4 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusStubAdapterHelper.h | 14 |
17 files changed, 100 insertions, 96 deletions
diff --git a/src/CommonAPI/DBus/DBusConfiguration.cpp b/src/CommonAPI/DBus/DBusConfiguration.cpp index 743fdaa..1fa9ae7 100644 --- a/src/CommonAPI/DBus/DBusConfiguration.cpp +++ b/src/CommonAPI/DBus/DBusConfiguration.cpp @@ -213,6 +213,8 @@ void DBusConfiguration::readConfigFile(std::ifstream& addressConfigFile) { } newFactoryFound = false; break; + case FileParsingState::UNDEFINED: + break; } } @@ -241,6 +243,8 @@ void DBusConfiguration::readConfigFile(std::ifstream& addressConfigFile) { case FileParsingState::PARSING_ADDRESS: readValue(readLine, serviceDetails); break; + case FileParsingState::UNDEFINED: + break; } break; } diff --git a/src/CommonAPI/DBus/DBusConnection.cpp b/src/CommonAPI/DBus/DBusConnection.cpp index 8f0bd86..61b31d7 100644 --- a/src/CommonAPI/DBus/DBusConnection.cpp +++ b/src/CommonAPI/DBus/DBusConnection.cpp @@ -79,37 +79,38 @@ void DBusConnection::resumeDispatching() const { } DBusConnection::DBusConnection(BusType busType) : - busType_(busType), - libdbusConnection_(NULL), - dbusConnectionStatusEvent_(this), + dispatchThread_(NULL), stopDispatching_(false), + mainLoopContext_(std::shared_ptr<MainLoopContext>(NULL)), + dispatchSource_(), + watchContext_(NULL), pauseDispatching_(false), - dispatchThread_(NULL), + libdbusConnection_(NULL), + busType_(busType), + dbusConnectionStatusEvent_(this), + libdbusSignalMatchRulesCount_(0), dbusObjectMessageHandler_(), - watchContext_(NULL), connectionNameCount_(), - dispatchSource_(), - mainLoopContext_(std::shared_ptr<MainLoopContext>(NULL)), - enforcerThread_(NULL), - libdbusSignalMatchRulesCount_(0) { + enforcerThread_(NULL) + { dbus_threads_init_default(); } DBusConnection::DBusConnection(::DBusConnection* libDbusConnection) : - busType_(WRAPPED), - libdbusConnection_(libDbusConnection), - dbusConnectionStatusEvent_(this), + dispatchThread_(NULL), stopDispatching_(false), + mainLoopContext_(std::shared_ptr<MainLoopContext>(NULL)), + dispatchSource_(), + watchContext_(NULL), pauseDispatching_(false), - dispatchThread_(NULL), + libdbusConnection_(libDbusConnection), + busType_(WRAPPED), + dbusConnectionStatusEvent_(this), + libdbusSignalMatchRulesCount_(0), dbusObjectMessageHandler_(), - watchContext_(NULL), connectionNameCount_(), - dispatchSource_(), - mainLoopContext_(std::shared_ptr<MainLoopContext>(NULL)), - enforcerThread_(NULL), - libdbusSignalMatchRulesCount_(0) { + enforcerThread_(NULL) { dbus_threads_init_default(); } @@ -454,29 +455,29 @@ bool DBusConnection::sendDBusMessage(const DBusMessage& dbusMessage, uint32_t* a } void DBusConnection::onLibdbusPendingCallNotifyThunk(::DBusPendingCall* libdbusPendingCall, void *userData) { - assert(userData); - assert(libdbusPendingCall); + assert(userData); + assert(libdbusPendingCall); - auto dbusMessageReplyAsyncHandler = reinterpret_cast<DBusMessageReplyAsyncHandler*>(userData); + auto dbusMessageReplyAsyncHandler = reinterpret_cast<DBusMessageReplyAsyncHandler*>(userData); - ::DBusMessage* libdbusMessage = dbus_pending_call_steal_reply(libdbusPendingCall); - const bool increaseLibdbusMessageReferenceCount = false; - DBusMessage dbusMessage(libdbusMessage, increaseLibdbusMessageReferenceCount); - CallStatus callStatus = CallStatus::SUCCESS; + ::DBusMessage* libdbusMessage = dbus_pending_call_steal_reply(libdbusPendingCall); + const bool increaseLibdbusMessageReferenceCount = false; + DBusMessage dbusMessage(libdbusMessage, increaseLibdbusMessageReferenceCount); + CallStatus callStatus = CallStatus::SUCCESS; - if (!dbusMessage.isMethodReturnType()) { - callStatus = CallStatus::REMOTE_ERROR; - } + if (!dbusMessage.isMethodReturnType()) { + callStatus = CallStatus::REMOTE_ERROR; + } - dbusMessageReplyAsyncHandler->onDBusMessageReply(callStatus, dbusMessage); + dbusMessageReplyAsyncHandler->onDBusMessageReply(callStatus, dbusMessage); - // libdbus calls the Cleanup method below - dbus_pending_call_unref(libdbusPendingCall); + // libdbus calls the Cleanup method below + dbus_pending_call_unref(libdbusPendingCall); } void DBusConnection::onLibdbusDataCleanup(void* userData) { - auto dbusMessageReplyAsyncHandler = reinterpret_cast<DBusMessageReplyAsyncHandler*>(userData); - delete dbusMessageReplyAsyncHandler; + auto dbusMessageReplyAsyncHandler = reinterpret_cast<DBusMessageReplyAsyncHandler*>(userData); + delete dbusMessageReplyAsyncHandler; } diff --git a/src/CommonAPI/DBus/DBusDaemonProxy.cpp b/src/CommonAPI/DBus/DBusDaemonProxy.cpp index 24d4d16..99ca10d 100644 --- a/src/CommonAPI/DBus/DBusDaemonProxy.cpp +++ b/src/CommonAPI/DBus/DBusDaemonProxy.cpp @@ -38,8 +38,8 @@ static const std::string commonApiParticipantId_ = "org.freedesktop.DBus-/org/fr DBusDaemonProxy::DBusDaemonProxy(const std::shared_ptr<DBusProxyConnection>& dbusConnection): DBusProxyBase(dbusConnection), - interfaceVersionAttribute_(1, 0), - nameOwnerChangedEvent_(*this, "NameOwnerChanged", "sss") { + nameOwnerChangedEvent_(*this, "NameOwnerChanged", "sss"), + interfaceVersionAttribute_(1, 0) { } void DBusDaemonProxy::init() { diff --git a/src/CommonAPI/DBus/DBusInputStream.cpp b/src/CommonAPI/DBus/DBusInputStream.cpp index 2d3b1df..53ae32d 100644 --- a/src/CommonAPI/DBus/DBusInputStream.cpp +++ b/src/CommonAPI/DBus/DBusInputStream.cpp @@ -10,11 +10,11 @@ namespace CommonAPI { namespace DBus { DBusInputStream::DBusInputStream(const CommonAPI::DBus::DBusMessage& message) : - message_(message), dataBegin_(message.getBodyData()), currentDataPosition_(0), dataLength_(message.getBodyLength()), - exception_(nullptr) { + exception_(nullptr), + message_(message) { } DBusInputStream::~DBusInputStream() {} diff --git a/src/CommonAPI/DBus/DBusMainLoopContext.cpp b/src/CommonAPI/DBus/DBusMainLoopContext.cpp index c1a581f..c093a67 100644 --- a/src/CommonAPI/DBus/DBusMainLoopContext.cpp +++ b/src/CommonAPI/DBus/DBusMainLoopContext.cpp @@ -96,9 +96,9 @@ void DBusWatch::addDependentDispatchSource(DispatchSource* dispatchSource) { DBusTimeout::DBusTimeout(::DBusTimeout* libdbusTimeout, std::weak_ptr<MainLoopContext>& mainLoopContext) : + dueTimeInMs_(TIMEOUT_INFINITE), libdbusTimeout_(libdbusTimeout), - mainLoopContext_(mainLoopContext), - dueTimeInMs_(TIMEOUT_INFINITE) { + mainLoopContext_(mainLoopContext) { } bool DBusTimeout::isReadyToBeMonitored() { diff --git a/src/CommonAPI/DBus/DBusObjectManager.cpp b/src/CommonAPI/DBus/DBusObjectManager.cpp index 3525585..bea40a1 100644 --- a/src/CommonAPI/DBus/DBusObjectManager.cpp +++ b/src/CommonAPI/DBus/DBusObjectManager.cpp @@ -23,8 +23,8 @@ namespace CommonAPI { namespace DBus { DBusObjectManager::DBusObjectManager(const std::shared_ptr<DBusProxyConnection>& dbusConnection): - dbusConnection_(dbusConnection), - rootDBusObjectManagerStub_(new DBusObjectManagerStub("/", dbusConnection)) { + rootDBusObjectManagerStub_(new DBusObjectManagerStub("/", dbusConnection)), + dbusConnection_(dbusConnection){ if (!dbusConnection->isObjectPathMessageHandlerSet()) { dbusConnection->setObjectPathMessageHandler( @@ -267,9 +267,9 @@ bool DBusObjectManager::onIntrospectableInterfaceDBusMessage(const DBusMessage& foundRegisteredObjects = true; } } else { - for (int i = 1; i < elems.size() - 1; i++) { + for (unsigned int i = 1; i < elems.size() - 1; i++) { std::string build; - for (int j = 1; j <= i; j++) { + for (unsigned int j = 1; j <= i; j++) { build = build + "/" + elems[j]; if (dbusMessage.hasObjectPath(build)) { if (nodeSet.find(elems[j + 1]) == nodeSet.end()) { diff --git a/src/CommonAPI/DBus/DBusObjectManagerStub.cpp b/src/CommonAPI/DBus/DBusObjectManagerStub.cpp index 5d0f721..6d08f8d 100644 --- a/src/CommonAPI/DBus/DBusObjectManagerStub.cpp +++ b/src/CommonAPI/DBus/DBusObjectManagerStub.cpp @@ -17,8 +17,8 @@ namespace DBus { DBusObjectManagerStub::DBusObjectManagerStub(const std::string& dbusObjectPath, const std::shared_ptr<DBusProxyConnection>& dbusConnection) : - dbusConnection_(dbusConnection), - dbusObjectPath_(dbusObjectPath) { + dbusObjectPath_(dbusObjectPath), + dbusConnection_(dbusConnection) { assert(!dbusObjectPath.empty()); assert(dbusObjectPath[0] == '/'); assert(dbusConnection); diff --git a/src/CommonAPI/DBus/DBusOutputStream.cpp b/src/CommonAPI/DBus/DBusOutputStream.cpp index b94c4d5..4dfc9fa 100644 --- a/src/CommonAPI/DBus/DBusOutputStream.cpp +++ b/src/CommonAPI/DBus/DBusOutputStream.cpp @@ -289,7 +289,7 @@ bool DBusOutputStream::hasError() const { */ void DBusOutputStream::flush() { const int toWrite = payload_.size(); - const bool success = dbusMessage_.setBodyLength(toWrite); + dbusMessage_.setBodyLength(toWrite); char* destinationDataPtr = dbusMessage_.getBodyData(); memcpy(destinationDataPtr, payload_.c_str(), toWrite); diff --git a/src/CommonAPI/DBus/DBusProxy.cpp b/src/CommonAPI/DBus/DBusProxy.cpp index 24e39a1..73fc54a 100644 --- a/src/CommonAPI/DBus/DBusProxy.cpp +++ b/src/CommonAPI/DBus/DBusProxy.cpp @@ -36,16 +36,16 @@ DBusProxy::DBusProxy(const std::shared_ptr<DBusFactory>& factory, const std::string& dbusObjectPath, const std::shared_ptr<DBusProxyConnection>& dbusConnection): DBusProxyBase(dbusConnection), - factory_(factory), + dbusProxyStatusEvent_(this), + availabilityStatus_(AvailabilityStatus::UNKNOWN), + interfaceVersionAttribute_(*this, "uu", "getInterfaceVersion"), + dbusServiceRegistry_(dbusConnection->getDBusServiceRegistry()), commonApiServiceId_(split(commonApiAddress, ':')[1]), commonApiParticipantId_(split(commonApiAddress, ':')[2]), dbusBusName_(dbusBusName), dbusObjectPath_(dbusObjectPath), dbusInterfaceName_(dbusInterfaceName), - dbusProxyStatusEvent_(this), - availabilityStatus_(AvailabilityStatus::UNKNOWN), - interfaceVersionAttribute_(*this, "uu", "getInterfaceVersion"), - dbusServiceRegistry_(dbusConnection->getDBusServiceRegistry()) { + factory_(factory) { } void DBusProxy::init() { diff --git a/src/CommonAPI/DBus/DBusProxyAsyncCallbackHandler.h b/src/CommonAPI/DBus/DBusProxyAsyncCallbackHandler.h index 74bb244..37c3ba6 100644 --- a/src/CommonAPI/DBus/DBusProxyAsyncCallbackHandler.h +++ b/src/CommonAPI/DBus/DBusProxyAsyncCallbackHandler.h @@ -28,31 +28,31 @@ namespace DBus { template <typename ... _ArgTypes> class DBusProxyAsyncCallbackHandler: public DBusProxyConnection::DBusMessageReplyAsyncHandler { public: - typedef std::function<void(CallStatus, _ArgTypes...)> FunctionType; + typedef std::function<void(CallStatus, _ArgTypes...)> FunctionType; - static inline std::unique_ptr<DBusProxyConnection::DBusMessageReplyAsyncHandler> create(FunctionType&& callback) { - return std::unique_ptr<DBusProxyConnection::DBusMessageReplyAsyncHandler>( - new DBusProxyAsyncCallbackHandler(std::move(callback))); - } + static inline std::unique_ptr<DBusProxyConnection::DBusMessageReplyAsyncHandler> create(FunctionType&& callback) { + return std::unique_ptr<DBusProxyConnection::DBusMessageReplyAsyncHandler>( + new DBusProxyAsyncCallbackHandler(std::move(callback))); + } - DBusProxyAsyncCallbackHandler() = delete; - DBusProxyAsyncCallbackHandler(FunctionType&& callback): - callback_(std::move(callback)) { - } + DBusProxyAsyncCallbackHandler() = delete; + DBusProxyAsyncCallbackHandler(FunctionType&& callback): + callback_(std::move(callback)) { + } - virtual std::future<CallStatus> getFuture() { - return promise_.get_future(); - } + virtual std::future<CallStatus> getFuture() { + return promise_.get_future(); + } - virtual void onDBusMessageReply(const CallStatus& dbusMessageCallStatus, const DBusMessage& dbusMessage) { - promise_.set_value(handleDBusMessageReply(dbusMessageCallStatus, dbusMessage, typename make_sequence<sizeof...(_ArgTypes)>::type())); - } + virtual void onDBusMessageReply(const CallStatus& dbusMessageCallStatus, const DBusMessage& dbusMessage) { + std::tuple<_ArgTypes...> argTuple; + promise_.set_value(handleDBusMessageReply(dbusMessageCallStatus, dbusMessage, typename make_sequence<sizeof...(_ArgTypes)>::type(), argTuple)); + } private: - template <int... _ArgIndices> - inline CallStatus handleDBusMessageReply(const CallStatus dbusMessageCallStatus, const DBusMessage& dbusMessage, index_sequence<_ArgIndices...>) const { - CallStatus callStatus = dbusMessageCallStatus; - std::tuple<_ArgTypes...> argTuple; + template <int... _ArgIndices> + inline CallStatus handleDBusMessageReply(const CallStatus dbusMessageCallStatus, const DBusMessage& dbusMessage, index_sequence<_ArgIndices...>, std::tuple<_ArgTypes...> argTuple) const { + CallStatus callStatus = dbusMessageCallStatus; if (dbusMessageCallStatus == CallStatus::SUCCESS) { if (!dbusMessage.isErrorType()) { @@ -65,12 +65,12 @@ class DBusProxyAsyncCallbackHandler: public DBusProxyConnection::DBusMessageRepl } } - callback_(callStatus, std::move(std::get<_ArgIndices>(argTuple))...); - return callStatus; - } + callback_(callStatus, std::move(std::get<_ArgIndices>(argTuple))...); + return callStatus; + } - std::promise<CallStatus> promise_; - const FunctionType callback_; + std::promise<CallStatus> promise_; + const FunctionType callback_; }; } // namespace DBus diff --git a/src/CommonAPI/DBus/DBusProxyBase.cpp b/src/CommonAPI/DBus/DBusProxyBase.cpp index e80224e..5e83875 100644 --- a/src/CommonAPI/DBus/DBusProxyBase.cpp +++ b/src/CommonAPI/DBus/DBusProxyBase.cpp @@ -11,8 +11,8 @@ namespace CommonAPI { namespace DBus { DBusProxyBase::DBusProxyBase(const std::shared_ptr<DBusProxyConnection>& dbusConnection) : - dbusConnection_(dbusConnection), - commonApiDomain_("local") { + commonApiDomain_("local"), + dbusConnection_(dbusConnection){ } DBusMessage DBusProxyBase::createMethodCall(const char* methodName, diff --git a/src/CommonAPI/DBus/DBusProxyHelper.h b/src/CommonAPI/DBus/DBusProxyHelper.h index 0a316be..336810d 100644 --- a/src/CommonAPI/DBus/DBusProxyHelper.h +++ b/src/CommonAPI/DBus/DBusProxyHelper.h @@ -182,7 +182,8 @@ template< CallStatus callStatus = CallStatus::NOT_AVAILABLE; - callCallbackOnNotAvailable(asyncCallback, typename make_sequence<sizeof...(_OutArgs)>::type()); + std::tuple<_OutArgs...> argTuple; + callCallbackOnNotAvailable(asyncCallback, typename make_sequence<sizeof...(_OutArgs)>::type(), argTuple); std::promise<CallStatus> promise; promise.set_value(callStatus); @@ -233,7 +234,8 @@ template< CallStatus callStatus = CallStatus::NOT_AVAILABLE; - callCallbackOnNotAvailable(asyncCallback, typename make_sequence<sizeof...(_OutArgs)>::type()); + std::tuple<_OutArgs...> argTuple; + callCallbackOnNotAvailable(asyncCallback, typename make_sequence<sizeof...(_OutArgs)>::type(),argTuple); std::promise<CallStatus> promise; promise.set_value(callStatus); @@ -268,9 +270,8 @@ template< template <int... _ArgIndices> static void callCallbackOnNotAvailable(std::function<void(CallStatus, _OutArgs...)> callback, - index_sequence<_ArgIndices...>) { + index_sequence<_ArgIndices...>, std::tuple<_OutArgs...> argTuple) { - std::tuple<_OutArgs...> argTuple; const CallStatus callstatus = CallStatus::NOT_AVAILABLE; callback(callstatus, std::move(std::get<_ArgIndices>(argTuple))...); } diff --git a/src/CommonAPI/DBus/DBusProxyManager.cpp b/src/CommonAPI/DBus/DBusProxyManager.cpp index b8ba87e..abbc491 100644 --- a/src/CommonAPI/DBus/DBusProxyManager.cpp +++ b/src/CommonAPI/DBus/DBusProxyManager.cpp @@ -18,8 +18,8 @@ DBusProxyManager::DBusProxyManager(DBusProxy& dbusProxy, dbusProxy_(dbusProxy), dbusInstanceAvailabilityStatusEvent_(dbusProxy, interfaceId), factory_(factory), - interfaceId_(interfaceId), - registry_(dbusProxy.getDBusConnection()->getDBusServiceRegistry()) + registry_(dbusProxy.getDBusConnection()->getDBusServiceRegistry()), + interfaceId_(interfaceId) { } diff --git a/src/CommonAPI/DBus/DBusServiceRegistry.cpp b/src/CommonAPI/DBus/DBusServiceRegistry.cpp index e5952de..2041e40 100644 --- a/src/CommonAPI/DBus/DBusServiceRegistry.cpp +++ b/src/CommonAPI/DBus/DBusServiceRegistry.cpp @@ -293,7 +293,6 @@ bool DBusServiceRegistry::isServiceInstanceAlive(const std::string& dbusInterfac dbusServicesMutex_.lock(); //std::unordered_map<std::string, DBusObjectPathCache>::value_type value(dbusObjectPath, std::move(newDbusObjectPathCache)); //auto dbusObjectPathCacheInserted = dbusObjectPathsCache->insert(std::move({dbusObjectPath, std::move(newDbusObjectPathCache)})); - auto dbusObjectPathCacheInserted = dbusObjectPathsCache->insert(std::make_pair(dbusObjectPath, std::move(newDbusObjectPathCache))); dbusObjectPathCacheIterator = dbusObjectPathsCache->find(dbusObjectPath); @@ -476,10 +475,7 @@ SubscriptionStatus DBusServiceRegistry::onSignalDBusMessage(const DBusMessage& d dbusInputStream >> dbusObjectPath; - bool added = false; - if (dbusMessage.hasMemberName("InterfacesAdded")) { - added = true; dbusInterfaceNameState = DBusRecordState::AVAILABLE; typedef std::unordered_map<std::string, bool> DBusPropertiesChangedDict; diff --git a/src/CommonAPI/DBus/DBusServiceRegistry.h b/src/CommonAPI/DBus/DBusServiceRegistry.h index 9d59cf1..09f020a 100644 --- a/src/CommonAPI/DBus/DBusServiceRegistry.h +++ b/src/CommonAPI/DBus/DBusServiceRegistry.h @@ -132,8 +132,8 @@ class DBusServiceRegistry: public std::enable_shared_from_this<DBusServiceRegist } DBusServiceListenersRecord(DBusServiceListenersRecord&& other): - uniqueBusName(std::move(other.uniqueBusName)), uniqueBusNameState(other.uniqueBusNameState), + uniqueBusName(std::move(other.uniqueBusName)), promiseOnResolve(std::move(other.promiseOnResolve)), futureOnResolve(std::move(other.futureOnResolve)), mutexOnResolve(std::move(other.mutexOnResolve)), diff --git a/src/CommonAPI/DBus/DBusStubAdapter.cpp b/src/CommonAPI/DBus/DBusStubAdapter.cpp index 7456d9f..f532fed 100644 --- a/src/CommonAPI/DBus/DBusStubAdapter.cpp +++ b/src/CommonAPI/DBus/DBusStubAdapter.cpp @@ -25,14 +25,14 @@ DBusStubAdapter::DBusStubAdapter(const std::shared_ptr<DBusFactory>& factory, const std::string& dbusObjectPath, const std::shared_ptr<DBusProxyConnection>& dbusConnection, const bool isManagingInterface) : - factory_(factory), commonApiDomain_(split(commonApiAddress, ':')[0]), commonApiServiceId_(split(commonApiAddress, ':')[1]), commonApiParticipantId_(split(commonApiAddress, ':')[2]), - dbusInterfaceName_(dbusInterfaceName), dbusBusName_(dbusBusName), dbusObjectPath_(dbusObjectPath), + dbusInterfaceName_(dbusInterfaceName), dbusConnection_(dbusConnection), + factory_(factory), isManagingInterface_(isManagingInterface) { assert(!dbusBusName_.empty()); diff --git a/src/CommonAPI/DBus/DBusStubAdapterHelper.h b/src/CommonAPI/DBus/DBusStubAdapterHelper.h index d4c9f5e..a617b15 100644 --- a/src/CommonAPI/DBus/DBusStubAdapterHelper.h +++ b/src/CommonAPI/DBus/DBusStubAdapterHelper.h @@ -234,12 +234,13 @@ class DBusMethodWithReplyStubDispatcher<_StubClass, _In<_InArgs...>, _Out<_OutAr } bool dispatchDBusMessage(const DBusMessage& dbusMessage, const std::shared_ptr<_StubClass>& stub, DBusStubAdapterHelperType& dbusStubAdapterHelper) { + std::tuple<_InArgs..., _OutArgs...> argTuple; return handleDBusMessage( dbusMessage, stub, dbusStubAdapterHelper, typename make_sequence_range<sizeof...(_InArgs), 0>::type(), - typename make_sequence_range<sizeof...(_OutArgs), sizeof...(_InArgs)>::type()); + typename make_sequence_range<sizeof...(_OutArgs), sizeof...(_InArgs)>::type(),argTuple); } private: template <int... _InArgIndices, int... _OutArgIndices> @@ -247,8 +248,8 @@ class DBusMethodWithReplyStubDispatcher<_StubClass, _In<_InArgs...>, _Out<_OutAr const std::shared_ptr<_StubClass>& stub, DBusStubAdapterHelperType& dbusStubAdapterHelper, index_sequence<_InArgIndices...>, - index_sequence<_OutArgIndices...>) const { - std::tuple<_InArgs..., _OutArgs...> argTuple; + index_sequence<_OutArgIndices...>, + std::tuple<_InArgs..., _OutArgs...> argTuple) const { if (sizeof...(_InArgs) > 0) { DBusInputStream dbusInputStream(dbusMessage); @@ -300,12 +301,13 @@ class DBusMethodWithReplyAdapterDispatcher<_StubClass, _StubAdapterClass, _In<_I } bool dispatchDBusMessage(const DBusMessage& dbusMessage, const std::shared_ptr<_StubClass>& stub, DBusStubAdapterHelperType& dbusStubAdapterHelper) { + std::tuple<_InArgs..., _OutArgs...> argTuple; return handleDBusMessage( dbusMessage, stub, dbusStubAdapterHelper, typename make_sequence_range<sizeof...(_InArgs), 0>::type(), - typename make_sequence_range<sizeof...(_OutArgs), sizeof...(_InArgs)>::type()); + typename make_sequence_range<sizeof...(_OutArgs), sizeof...(_InArgs)>::type(),argTuple); } private: @@ -314,8 +316,8 @@ class DBusMethodWithReplyAdapterDispatcher<_StubClass, _StubAdapterClass, _In<_I const std::shared_ptr<_StubClass>& stub, DBusStubAdapterHelperType& dbusStubAdapterHelper, index_sequence<_InArgIndices...>, - index_sequence<_OutArgIndices...>) const { - std::tuple<_InArgs..., _OutArgs...> argTuple; + index_sequence<_OutArgIndices...>, + std::tuple<_InArgs..., _OutArgs...> argTuple) const { if (sizeof...(_InArgs) > 0) { DBusInputStream dbusInputStream(dbusMessage); |