25 lines
501 B
C++
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.
|
|
}
|
|
}
|
|
};
|