diff options
Diffstat (limited to 'src/CommonAPI/DBus/DBusStubAdapter.cpp')
-rw-r--r-- | src/CommonAPI/DBus/DBusStubAdapter.cpp | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/src/CommonAPI/DBus/DBusStubAdapter.cpp b/src/CommonAPI/DBus/DBusStubAdapter.cpp index c71c47f..d0367b3 100644 --- a/src/CommonAPI/DBus/DBusStubAdapter.cpp +++ b/src/CommonAPI/DBus/DBusStubAdapter.cpp @@ -18,11 +18,14 @@ namespace DBus { const std::string DBusStubAdapter::domain_ = "local"; -DBusStubAdapter::DBusStubAdapter(const std::string& commonApiAddress, +DBusStubAdapter::DBusStubAdapter(const std::shared_ptr<DBusFactory>& factory, + const std::string& commonApiAddress, const std::string& dbusInterfaceName, const std::string& dbusBusName, const std::string& dbusObjectPath, - const std::shared_ptr<DBusProxyConnection>& dbusConnection) : + const std::shared_ptr<DBusProxyConnection>& dbusConnection, + DBusObjectManagerStub* managerStub) : + factory_(factory), commonApiDomain_(split(commonApiAddress, ':')[0]), commonApiServiceId_(split(commonApiAddress, ':')[1]), commonApiParticipantId_(split(commonApiAddress, ':')[2]), @@ -30,7 +33,7 @@ DBusStubAdapter::DBusStubAdapter(const std::string& commonApiAddress, dbusBusName_(dbusBusName), dbusObjectPath_(dbusObjectPath), dbusConnection_(dbusConnection), - isInitialized_(false) { + managerStub(managerStub) { assert(!dbusBusName_.empty()); assert(!dbusInterfaceName_.empty()); @@ -41,26 +44,13 @@ DBusStubAdapter::DBusStubAdapter(const std::string& commonApiAddress, } DBusStubAdapter::~DBusStubAdapter() { - deinit(); -} - -void DBusStubAdapter::deinit() { - assert(dbusConnection_); - - if (isInitialized_) { - dbusConnection_->getDBusObjectManager()->unregisterDBusStubAdapter(dbusInterfaceHandlerToken_); - dbusConnection_->releaseServiceName(dbusBusName_); - isInitialized_ = false; - } + deinit(); } void DBusStubAdapter::init() { - dbusInterfaceHandlerToken_ = dbusConnection_->getDBusObjectManager()->registerDBusStubAdapter( - dbusObjectPath_, - dbusInterfaceName_, - this); +} - isInitialized_ = true; +void DBusStubAdapter::deinit() { } const std::string DBusStubAdapter::getAddress() const { |