add mqtt control
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
2026-01-31 16:50:34 +11:00
parent 7cc6056e7e
commit a9c5139d55
13 changed files with 385 additions and 7 deletions

View File

@@ -49,6 +49,36 @@ struct ImmichConfig {
}
};
struct MqttConfig {
bool enabled = false;
std::string host = "localhost";
int port = 1883;
std::string topic = "slide/control";
std::string clientId = "slide";
std::string username = "";
std::string password = "";
int keepAlive = 30;
int qos = 0;
bool operator==(const MqttConfig &b) const
{
return enabled == b.enabled &&
host == b.host &&
port == b.port &&
topic == b.topic &&
clientId == b.clientId &&
username == b.username &&
password == b.password &&
keepAlive == b.keepAlive &&
qos == b.qos;
}
bool operator!=(const MqttConfig &b) const
{
return !operator==(b);
}
};
// configuration options that apply to an image/folder of images
struct Config {
public:
@@ -106,6 +136,7 @@ struct AppConfig : public Config {
std::string overlay = "";
QString overlayHexRGB = "#FFFFFF";
QVector<PathEntry> paths;
MqttConfig mqtt;
bool debugMode = false;