summaryrefslogtreecommitdiff
path: root/src/CommonAPI/DBus/DBusServicePublisher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/CommonAPI/DBus/DBusServicePublisher.cpp')
-rw-r--r--src/CommonAPI/DBus/DBusServicePublisher.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/CommonAPI/DBus/DBusServicePublisher.cpp b/src/CommonAPI/DBus/DBusServicePublisher.cpp
index 77c9647..6f6a4c7 100644
--- a/src/CommonAPI/DBus/DBusServicePublisher.cpp
+++ b/src/CommonAPI/DBus/DBusServicePublisher.cpp
@@ -26,14 +26,14 @@ std::shared_ptr<DBusServicePublisher> DBusServicePublisher::getInstance() {
bool DBusServicePublisher::registerService(const std::shared_ptr<DBusStubAdapter>& dbusStubAdapter) {
auto serviceAddress = dbusStubAdapter->getAddress();
const auto& dbusConnection = dbusStubAdapter->getDBusConnection();
- DBusObjectManagerStub& rootDBusObjectManagerStub = dbusConnection->getDBusObjectManager()->getRootDBusObjectManagerStub();
- const bool isManagedRegistrationSuccessfull = registerManagedService(dbusStubAdapter);
+ std::shared_ptr<DBusObjectManagerStub> rootDBusObjectManagerStub = dbusConnection->getDBusObjectManager()->getRootDBusObjectManagerStub();
+ const bool isRegistrationAtManagerSuccessfull = registerManagedService(dbusStubAdapter);
- if (!isManagedRegistrationSuccessfull) {
+ if (!isRegistrationAtManagerSuccessfull) {
return false;
}
- const bool isServiceExportSuccessful = rootDBusObjectManagerStub.exportDBusStubAdapter(dbusStubAdapter.get());
+ const bool isServiceExportSuccessful = rootDBusObjectManagerStub->exportManagedDBusStubAdapter(dbusStubAdapter);
if (!isServiceExportSuccessful) {
const bool isManagedDeregistrationSuccessfull = unregisterManagedService(serviceAddress);
assert(isManagedDeregistrationSuccessfull);
@@ -70,6 +70,7 @@ bool DBusServicePublisher::registerService(const std::shared_ptr<StubBase>& stub
return isRegistrationSuccessful;
}
+
bool DBusServicePublisher::unregisterService(const std::string& serviceAddress) {
auto registeredServiceIterator = registeredServices_.find(serviceAddress);
const bool isServiceAddressRegistered = (registeredServiceIterator != registeredServices_.end());
@@ -80,11 +81,11 @@ bool DBusServicePublisher::unregisterService(const std::string& serviceAddress)
const auto& registeredDBusStubAdapter = registeredServiceIterator->second;
const auto& dbusConnection = registeredDBusStubAdapter->getDBusConnection();
- auto& rootDBusObjectManagerStub = dbusConnection->getDBusObjectManager()->getRootDBusObjectManagerStub();
- const bool isRootService = rootDBusObjectManagerStub.isDBusStubAdapterExported(registeredDBusStubAdapter.get());
+ std::shared_ptr<DBusObjectManagerStub> rootDBusObjectManagerStub = dbusConnection->getDBusObjectManager()->getRootDBusObjectManagerStub();
+ const bool isRootService = rootDBusObjectManagerStub->isDBusStubAdapterExported(registeredDBusStubAdapter);
registeredDBusStubAdapter->deactivateManagedInstances();
if (isRootService) {
- const bool isUnexportSuccessfull = rootDBusObjectManagerStub.unexportDBusStubAdapter(registeredDBusStubAdapter.get());
+ const bool isUnexportSuccessfull = rootDBusObjectManagerStub->unexportManagedDBusStubAdapter(registeredDBusStubAdapter);
assert(isUnexportSuccessfull);
unregisterManagedService(registeredServiceIterator);
@@ -93,6 +94,7 @@ bool DBusServicePublisher::unregisterService(const std::string& serviceAddress)
return isRootService;
}
+
bool DBusServicePublisher::registerManagedService(const std::shared_ptr<DBusStubAdapter>& managedDBusStubAdapter) {
auto serviceAddress = managedDBusStubAdapter->getAddress();
const auto& insertResult = registeredServices_.insert( {serviceAddress, managedDBusStubAdapter} );
@@ -105,7 +107,7 @@ bool DBusServicePublisher::registerManagedService(const std::shared_ptr<DBusStub
const auto& dbusConnection = managedDBusStubAdapter->getDBusConnection();
const auto dbusObjectManager = dbusConnection->getDBusObjectManager();
- const bool isDBusObjectRegistrationSuccessful = dbusObjectManager->registerDBusStubAdapter(managedDBusStubAdapter.get());
+ const bool isDBusObjectRegistrationSuccessful = dbusObjectManager->registerDBusStubAdapter(managedDBusStubAdapter);
if (!isDBusObjectRegistrationSuccessful) {
registeredServices_.erase(insertIter);
return false;
@@ -114,7 +116,7 @@ bool DBusServicePublisher::registerManagedService(const std::shared_ptr<DBusStub
const auto& dbusServiceName = managedDBusStubAdapter->getDBusName();
const bool isServiceNameAcquired = dbusConnection->requestServiceNameAndBlock(dbusServiceName);
if (!isServiceNameAcquired) {
- const bool isDBusObjectDeregistrationSuccessful = dbusObjectManager->unregisterDBusStubAdapter(managedDBusStubAdapter.get());
+ const bool isDBusObjectDeregistrationSuccessful = dbusObjectManager->unregisterDBusStubAdapter(managedDBusStubAdapter);
assert(isDBusObjectDeregistrationSuccessful);
registeredServices_.erase(insertIter);
@@ -123,6 +125,7 @@ bool DBusServicePublisher::registerManagedService(const std::shared_ptr<DBusStub
return isServiceNameAcquired;
}
+
bool DBusServicePublisher::unregisterManagedService(const std::string& serviceAddress) {
auto registeredServiceIterator = registeredServices_.find(serviceAddress);
const bool isServiceAddressRegistered = (registeredServiceIterator != registeredServices_.end());
@@ -140,7 +143,7 @@ void DBusServicePublisher::unregisterManagedService(DBusServicesMap::iterator& m
const auto dbusObjectManager = dbusConnection->getDBusObjectManager();
const auto& dbusServiceName = registeredDbusStubAdapter->getDBusName();
- const bool isDBusStubAdapterUnregistered = dbusObjectManager->unregisterDBusStubAdapter(registeredDbusStubAdapter.get());
+ const bool isDBusStubAdapterUnregistered = dbusObjectManager->unregisterDBusStubAdapter(registeredDbusStubAdapter);
assert(isDBusStubAdapterUnregistered);
dbusConnection->releaseServiceName(dbusServiceName);