Files
MontaukOS/programs/include/gui/desktop_applet.hpp
T

38 lines
839 B
C++

/*
* desktop_applet.hpp
* Shared-library desktop applet ABI for MontaukOS
* Copyright (c) 2026 Daniel Hammer
*/
#pragma once
#include <cstdint>
namespace gui::desktop_applet {
inline constexpr uint32_t ABI_VERSION = 1;
inline constexpr uint32_t CAP_SYSTEM_CONFIGURATION = 1u << 0;
struct Host {
char current_user[32];
char home_dir[128];
char user_config_dir[128];
bool is_admin;
};
struct Descriptor {
uint32_t abi_version;
uint32_t capabilities;
const char* applet_id;
const char* display_name;
const char* icon_path;
};
using QueryFn = const Descriptor* (*)();
using OpenFn = bool (*)(const Host* host);
inline constexpr const char* QUERY_SYMBOL = "desktop_applet_query_v1";
inline constexpr const char* OPEN_SYMBOL = "desktop_applet_open_v1";
} // namespace gui::desktop_applet