diff options
author | Aleksandar Kanchev <kanchev@itestra.com> | 2013-04-15 11:44:51 +0200 |
---|---|---|
committer | Aleksandar Kanchev <kanchev@itestra.com> | 2013-04-15 11:44:51 +0200 |
commit | 70174fd0301e42bc89e2afaf99f0f550bd678088 (patch) | |
tree | b7f2b9274923b89ec4deab4f61ef9aa2beb26566 | |
parent | 2998a60b1c1d40f078a0daf9d4b5ae58bd96d7bd (diff) | |
download | genivi-common-api-dbus-runtime-70174fd0301e42bc89e2afaf99f0f550bd678088.tar.gz |
properly deregister DBusObjectManager
-rw-r--r-- | src/CommonAPI/DBus/DBusObjectManager.cpp | 8 | ||||
-rw-r--r-- | src/CommonAPI/DBus/DBusObjectManager.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/CommonAPI/DBus/DBusObjectManager.cpp b/src/CommonAPI/DBus/DBusObjectManager.cpp index 8f05dda..fcfa9f8 100644 --- a/src/CommonAPI/DBus/DBusObjectManager.cpp +++ b/src/CommonAPI/DBus/DBusObjectManager.cpp @@ -27,6 +27,14 @@ DBusObjectManager::DBusObjectManager(const std::shared_ptr<DBusProxyConnection>& dbusConnection->registerObjectPath("/"); } +DBusObjectManager::~DBusObjectManager() { + std::shared_ptr<DBusProxyConnection> dbusConnection = dbusConnection_.lock(); + if (dbusConnection) { + dbusConnection->unregisterObjectPath("/"); + dbusConnection->setObjectPathMessageHandler(DBusProxyConnection::DBusObjectPathMessageHandler()); + } +} + DBusInterfaceHandlerToken DBusObjectManager::registerDBusStubAdapter(const std::string& objectPath, const std::string& interfaceName, DBusStubAdapter* dbusStubAdapter) { diff --git a/src/CommonAPI/DBus/DBusObjectManager.h b/src/CommonAPI/DBus/DBusObjectManager.h index 6d6dff9..cb60948 100644 --- a/src/CommonAPI/DBus/DBusObjectManager.h +++ b/src/CommonAPI/DBus/DBusObjectManager.h @@ -22,6 +22,7 @@ class DBusStubAdapter; class DBusObjectManager { public: DBusObjectManager(const std::shared_ptr<DBusProxyConnection>&); + ~DBusObjectManager(); void init(); |