Files
bar/include/services/dbus/messages.hpp

44 lines
985 B
C++

#pragma once
#include <cstdint>
#include <functional>
#include <string>
#include <map>
#include <sys/types.h>
#include <vector>
#include "gdkmm/pixbuf.h"
#include "glibmm/variant.h"
struct MprisPlayer2Message {
std::string title;
std::vector<std::string> artist;
std::string artwork_url;
int64_t length_ms;
std::function<void()> play_pause;
std::function<void()> next;
std::function<void()> previous;
};
enum NotificationUrgency {
LOW = 0,
NORMAL = 1,
CRITICAL = 2
};
struct NotifyMessage {
std::string app_name;
uint32_t replaces_id;
std::string app_icon;
std::string summary;
std::string body;
std::vector<std::string> actions;
NotificationUrgency urgency = NORMAL;
int32_t expire_timeout;
// Callback to invoke when an action is triggered
std::function<void(const std::string& action_id)> on_action;
// image data (if any) from dbus
std::optional<Glib::RefPtr<Gdk::Pixbuf>> imageData;
};