123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #pragma once
- #include <QString>
- #include <QJsonDocument>
- ///
- /// @brief Provide util methods to work with SettingsManager class
- ///
- namespace settings {
- // all available settings sections
- enum type {
- BGEFFECT,
- FGEFFECT,
- BLACKBORDER,
- BOBLSERVER,
- COLOR,
- DEVICE,
- EFFECTS,
- NETFORWARD,
- SYSTEMCAPTURE,
- GENERAL,
- V4L2,
- AUDIO,
- JSONSERVER,
- LEDCONFIG,
- LEDS,
- LOGGER,
- SMOOTHING,
- WEBSERVER,
- INSTCAPTURE,
- NETWORK,
- FLATBUFSERVER,
- PROTOSERVER,
- INVALID
- };
- ///
- /// @brief Convert settings::type to string representation
- /// @param type The settings::type from enum
- /// @return The settings type as string
- ///
- inline QString typeToString(type type)
- {
- switch (type)
- {
- case BGEFFECT: return "backgroundEffect";
- case FGEFFECT: return "foregroundEffect";
- case BLACKBORDER: return "blackborderdetector";
- case BOBLSERVER: return "boblightServer";
- case COLOR: return "color";
- case DEVICE: return "device";
- case EFFECTS: return "effects";
- case NETFORWARD: return "forwarder";
- case SYSTEMCAPTURE: return "framegrabber";
- case GENERAL: return "general";
- case V4L2: return "grabberV4L2";
- case AUDIO: return "grabberAudio";
- case JSONSERVER: return "jsonServer";
- case LEDCONFIG: return "ledConfig";
- case LEDS: return "leds";
- case LOGGER: return "logger";
- case SMOOTHING: return "smoothing";
- case WEBSERVER: return "webConfig";
- case INSTCAPTURE: return "instCapture";
- case NETWORK: return "network";
- case FLATBUFSERVER: return "flatbufServer";
- case PROTOSERVER: return "protoServer";
- default: return "invalid";
- }
- }
- ///
- /// @brief Convert string to settings::type representation
- /// @param type The string to convert
- /// @return The settings type from enum
- ///
- inline type stringToType(const QString& type)
- {
- if (type == "backgroundEffect") return BGEFFECT;
- else if (type == "foregroundEffect") return FGEFFECT;
- else if (type == "blackborderdetector") return BLACKBORDER;
- else if (type == "boblightServer") return BOBLSERVER;
- else if (type == "color") return COLOR;
- else if (type == "device") return DEVICE;
- else if (type == "effects") return EFFECTS;
- else if (type == "forwarder") return NETFORWARD;
- else if (type == "framegrabber") return SYSTEMCAPTURE;
- else if (type == "general") return GENERAL;
- else if (type == "grabberV4L2") return V4L2;
- else if (type == "grabberAudio") return AUDIO;
- else if (type == "jsonServer") return JSONSERVER;
- else if (type == "ledConfig") return LEDCONFIG;
- else if (type == "leds") return LEDS;
- else if (type == "logger") return LOGGER;
- else if (type == "smoothing") return SMOOTHING;
- else if (type == "webConfig") return WEBSERVER;
- else if (type == "instCapture") return INSTCAPTURE;
- else if (type == "network") return NETWORK;
- else if (type == "flatbufServer") return FLATBUFSERVER;
- else if (type == "protoServer") return PROTOSERVER;
- else return INVALID;
- }
- }
|