Files
bar/include/services/dbus/mpris.hpp
Arif Hasanic d8becfaf0b
Some checks failed
ci / build (push) Failing after 0s
setup ci
2026-02-01 16:47:22 +01:00

30 lines
839 B
C++

#pragma once
#include <giomm.h>
#include <sigc++/sigc++.h>
#include <vector>
#include "services/dbus/messages.hpp"
class MprisController {
public:
MprisController();
void toggle_play();
void next_song();
void previous_song();
sigc::signal<void(const MprisPlayer2Message &)> &signal_mpris_updated();
private:
Glib::RefPtr<Gio::DBus::Connection> m_connection;
Glib::RefPtr<Gio::DBus::Proxy> m_proxy;
sigc::signal<void(const MprisPlayer2Message &)> mprisUpdatedSignal;
void on_bus_connected(const Glib::RefPtr<Gio::AsyncResult> &result);
void signalNotification();
// Called when the song changes
void on_properties_changed(const Gio::DBus::Proxy::MapChangedProperties &changed_properties,
const std::vector<Glib::ustring> &invalidated_properties);
};