// Copyright (C) 2013-2015 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. #include #include #include #include namespace CommonAPI { namespace DBus { DBusProxyBase::DBusProxyBase( const DBusAddress &_dbusAddress, const std::shared_ptr &_connection) : dbusAddress_(_dbusAddress), connection_(_connection) { DBusAddressTranslator::get()->translate(dbusAddress_, address_); } DBusMessage DBusProxyBase::createMethodCall(const std::string &_method, const std::string &_signature) const { return DBusMessage::createMethodCall(getDBusAddress(), _method, _signature); } const DBusAddress & DBusProxyBase::getDBusAddress() const { return dbusAddress_; } const std::shared_ptr & DBusProxyBase::getDBusConnection() const { return connection_; } DBusProxyConnection::DBusSignalHandlerToken DBusProxyBase::addSignalMemberHandler( const std::string& signalName, const std::string& signalSignature, DBusProxyConnection::DBusSignalHandler* dbusSignalHandler, const bool justAddFilter) { return addSignalMemberHandler( getDBusAddress().getObjectPath(), getDBusAddress().getInterface(), signalName, signalSignature, dbusSignalHandler, justAddFilter); } DBusProxyConnection::DBusSignalHandlerToken DBusProxyBase::addSignalMemberHandler( const std::string& objectPath, const std::string& interfaceName, const std::string& signalName, const std::string& signalSignature, DBusProxyConnection::DBusSignalHandler* dbusSignalHandler, const bool justAddFilter) { return connection_->addSignalMemberHandler( objectPath, interfaceName, signalName, signalSignature, dbusSignalHandler, justAddFilter); } bool DBusProxyBase::removeSignalMemberHandler(const DBusProxyConnection::DBusSignalHandlerToken& dbusSignalHandlerToken, const DBusProxyConnection::DBusSignalHandler* dbusSignalHandler) { return connection_->removeSignalMemberHandler(dbusSignalHandlerToken, dbusSignalHandler); } } // namespace DBus } // namespace CommonAPI