#pragma once #include #include #define COMMAND "command" #define COMMAND_CONFIRM "command+confirm" #define COMMAND_WITH_CONFIRMATION "commandwithconfirmation" // Backwards compatibility #define COMMAND_OUTPUT "command+output" #define COMMAND_CONFIRM_OUTPUT "command+confirm+output" #define COMMAND_OUTPUT_CONFIRM "command+output+confirm" #define ENVIRONMENT "OGLOGFILE,ogactiveadmin,DEFAULTSPEED" class OGBrowserUrlHandlerCommand : public QWebEngineUrlSchemeHandler { Q_OBJECT public: OGBrowserUrlHandlerCommand(QObject *parent = nullptr) : QWebEngineUrlSchemeHandler(parent) { }; virtual ~OGBrowserUrlHandlerCommand() { }; virtual void requestStarted(QWebEngineUrlRequestJob *job); bool askConfirmation() const { return m_ask_confirmation; } void setAskConfirmation(const bool ask) { m_ask_confirmation = ask; } bool returnOuput() const { return m_return_output; } void setReturnOutput(const bool retOutput) { m_return_output = retOutput; } QString baseCommand() const { return m_base_command; } void setBaseCommand(const QString &cmd) { m_base_command = cmd; } void setScheme(const QString &scheme) { m_scheme = scheme; } const QString getScheme() const { return m_scheme; } signals: void command(const QString &command, bool confirm, bool returnOutput); private: bool m_ask_confirmation = false; bool m_return_output = false; QString m_scheme = ""; QString m_base_command = ""; };