diff --git a/src/main.cpp b/src/main.cpp index f781fff..5a70680 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -26,8 +26,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "alarm.h" -const char* inhibitorDestinationName = "org.freedesktop.login1"; -const char* inhibitorObjectPath = "/org/freedesktop/login1"; +auto inhibitorDestinationName = sdbus::ServiceName{"org.freedesktop.login1"}; +auto inhibitorObjectPath = sdbus::ObjectPath{"/org/freedesktop/login1"}; const char* inhibitorInterfaceName = "org.freedesktop.login1.Manager"; std::unique_ptr inhibitorProxy = sdbus::createProxy(inhibitorDestinationName, inhibitorObjectPath); std::list alarmList; @@ -136,21 +136,19 @@ void handleSuspend(const bool active) { int main(int argc, char *argv[]) { // Create D-Bus connection to the system bus and requests name on it. - const char* serviceName = "de.seath.Waked"; + auto serviceName = sdbus::ServiceName{"de.seath.Waked"}; auto connection = sdbus::createSystemBusConnection(serviceName); - const char* wakedObjectPath = "/de/seath/Waked/Alarm"; + auto wakedObjectPath = sdbus::ObjectPath{"/de/seath/Waked/Alarm"}; auto wakedDbusObject = sdbus::createObject(*connection, wakedObjectPath); const char* wakedInterfaceName = "de.seath.Waked"; - wakedDbusObject->registerMethod("Add").onInterface(wakedInterfaceName).implementedAs(®isterAlarm); - wakedDbusObject->registerMethod("Update").onInterface(wakedInterfaceName).implementedAs(&updateAlarm); - wakedDbusObject->registerMethod("Remove").onInterface(wakedInterfaceName).implementedAs(&removeAlarm); - wakedDbusObject->finishRegistration(); - + wakedDbusObject->addVTable( + sdbus::registerMethod("Add").implementedAs(®isterAlarm), + sdbus::registerMethod("Update").implementedAs(&updateAlarm), + sdbus::registerMethod("Remove").implementedAs(&removeAlarm)).forInterface(wakedInterfaceName); inhibitorProxy->uponSignal("PrepareForSleep").onInterface(inhibitorInterfaceName).call(&handleSuspend); //[](const std::string& str){ onConcatenated(str); }); - inhibitorProxy->finishRegistration(); inhibitorProxy->callMethod("Inhibit").onInterface(inhibitorInterfaceName).withArguments("sleep", "Waked", "Manage system wake-ups", "delay").storeResultsTo(suspendDelayLockFd);