From cf8dd83a48ff8f18f6790810ccfa9cdf27ed9590 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Thu, 16 Nov 2023 08:23:07 +0100 Subject: [PATCH] Add enums for describing plugin status: PLUGIN_STATE RESULT_STATE CASH_STATE TICKET_VARIANT STEP TERMINAL_STATE. Add default implementation for getPluginInfo(). --- src/ATBAPP/ATBAPPplugin.h | 60 +++++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/src/ATBAPP/ATBAPPplugin.h b/src/ATBAPP/ATBAPPplugin.h index 5c23a25..11fcadf 100644 --- a/src/ATBAPP/ATBAPPplugin.h +++ b/src/ATBAPP/ATBAPPplugin.h @@ -7,19 +7,61 @@ #include #include -class ATBAPPplugin -{ +struct ATBAPPplugin { + enum class PLUGIN_STATE : quint8 { + NOT_INITIALIZED = 0, + INITIALIZED = 1 + }; + enum class RESULT_STATE : quint8 { + SUCCESS = 1, // operation was successfull + ERROR_BACKEND, // error from backend (e.g. backend replies with error) + ERROR_NETWORK, + ERROR_TIMEOUT, // the operation timed out + ERROR_PROCESS, // internal plugin error, should not occur (this is a bug in implementation) + ERROR_BUSY, + ERROR_STATE, + ERROR_RETRY, // retry operation + INFO // informational (e.g. display a message, log something etc.) + }; + enum class CASH_STATE : quint8 { + CACHE_EMPTY, // Cache still empty, default state + CACHE_INPUT, // Coins are in Cache + OVERPAYED, + /* t.b.d. */ + }; + enum class TICKET_VARIANT : quint8 { + PARKING_TICKET, + RECEIPT, + ERROR_RECEIPT, + START_RECEIPT, // e.g. Szeged Start + STOP_RECEIPT, // e.g. Szeged Stop + }; + enum class STEP : quint8 { + UP = 1, + DOWN = 2 + }; + enum class TERMINAL_STATE : quint8 { + NOT_AVAILABLE = 1, + AVAILABLE, + PREPARED_FOR_VENDING, + BUSY, + NEEDS_MAINTENANCE + }; -public: - explicit ATBAPPplugin() = default; - virtual ~ATBAPPplugin() = default; - - virtual QStringList getPluginInfo() = 0; + virtual const QString &getPluginInfo() = 0; + virtual QStringList getPluginInfoList() { + return QStringList(QString()); + } }; +using PLUGIN_STATE = ATBAPPplugin::PLUGIN_STATE; +using RESULT_STATE = ATBAPPplugin::RESULT_STATE; +using CASH_STATE = ATBAPPplugin::CASH_STATE; +using TICKET_VARIANT = ATBAPPplugin::TICKET_VARIANT; +using STEP = ATBAPPplugin::STEP; +using TERMINAL_STATE = ATBAPPplugin::TERMINAL_STATE; + Q_DECLARE_INTERFACE(ATBAPPplugin, "eu.atb.ptu.plugin.ATBAPPplugin/0.9") - - #endif // ATBAPPPLUGIN_H