mutterkey
KDE-first push-to-talk transcription tool for KDE Plasma
Loading...
Searching...
No Matches
daemoncontrolprotocol.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5#include <QByteArray>
6#include <QJsonObject>
7#include <QString>
8
17enum class DaemonControlMethod : std::uint8_t {
19 Ping,
24};
25
37
43 int version = 1;
45 QString requestId;
47 bool success = false;
49 QJsonObject result;
51 QString errorMessage;
52};
53
59
66
73bool parseDaemonControlMethod(QStringView value, DaemonControlMethod *methodOut);
74
81
88
96bool parseDaemonControlRequest(const QByteArray &payload, DaemonControlRequest *requestOut, QString *errorMessage = nullptr);
97
105bool parseDaemonControlResponse(const QByteArray &payload,
106 DaemonControlResponse *responseOut,
107 QString *errorMessage = nullptr);
QString daemonControlSocketName()
Returns the local server name used by the daemon control socket.
QByteArray serializeDaemonControlResponse(const DaemonControlResponse &response)
Serializes a response to compact line-delimited JSON.
QByteArray serializeDaemonControlRequest(const DaemonControlRequest &request)
Serializes a request to compact line-delimited JSON.
bool parseDaemonControlRequest(const QByteArray &payload, DaemonControlRequest *requestOut, QString *errorMessage=nullptr)
Parses a line-delimited JSON request payload.
DaemonControlMethod
Supported operations on the local daemon control socket.
@ GetConfig
Returns the daemon's current config snapshot and config-path metadata.
@ Ping
Lightweight health check that returns daemon identity information.
@ GetStatus
Returns daemon-authoritative runtime status and service diagnostics.
bool parseDaemonControlMethod(QStringView value, DaemonControlMethod *methodOut)
Parses a wire-format control method name.
QString daemonControlMethodToString(DaemonControlMethod method)
Converts a control method enum to its wire-format string name.
bool parseDaemonControlResponse(const QByteArray &payload, DaemonControlResponse *responseOut, QString *errorMessage=nullptr)
Parses a line-delimited JSON response payload.
One line-delimited local control request.
int version
Protocol version expected by the daemon and tray client.
QString requestId
Caller-generated correlation id echoed by the daemon response.
DaemonControlMethod method
Requested daemon operation.
One line-delimited local control response.
QJsonObject result
Successful result object returned by the daemon.
QString requestId
Correlation id copied from the triggering request.
bool success
Indicates whether the request completed successfully.
QString errorMessage
Human-readable error for failed requests.
int version
Protocol version returned by the daemon.