Files
bar/include/connection/dbus/dbus.hpp
2026-02-04 15:52:31 +01:00

25 lines
501 B
C++

#pragma once
#include <giomm.h>
#include <sigc++/sigc++.h>
class DbusConnection {
public:
virtual ~DbusConnection() = default;
protected:
Glib::RefPtr<Gio::DBus::Connection> connection;
void connect_session_async(const sigc::slot<void(const Glib::RefPtr<Gio::AsyncResult> &)> &callback) {
Gio::DBus::Connection::get(Gio::DBus::BusType::SESSION, callback);
}
static void ensure_gio_init() {
try {
Gio::init();
} catch (const Glib::Error &) {
// Already initialized.
}
}
};