diff --git a/vpn/client/DapCmdHandlers/DapCmdStates.cpp b/vpn/client/DapCmdHandlers/DapCmdStates.cpp index 38c624d07df8911a0eb601053c91113ab2348b6d..6155ac006c50a901e598fdb0765e415d537a6b70 100644 --- a/vpn/client/DapCmdHandlers/DapCmdStates.cpp +++ b/vpn/client/DapCmdHandlers/DapCmdStates.cpp @@ -3,16 +3,10 @@ void DapCmdStates::handle(const QJsonObject* params) { DapCmdServiceAbstract::handle(params); - QString userRequestState = getUserRequestState(); - QJsonObject result; - QJsonObject statesInfo; - for (const auto &state: _activeStateMachine->getCachedStates()) { - statesInfo.insert(state.getStringType(), state.getStringState()); - qDebug() << "[DapCmdStates] type: " << state.getStringType() << ", state: " << state.getStringState(); - } - result.insert("states", statesInfo); + + result.insert("states", _activeStateMachine->getJsonCachedStates()); if(!userRequestState.isEmpty()){ result.insert(QStringLiteral("user_request_state"), userRequestState); qDebug() << "[DapCmdStates] type: user_request_state, state: " << userRequestState; diff --git a/vpn/client/DapCmdHandlers/DapCmdStates.h b/vpn/client/DapCmdHandlers/DapCmdStates.h index eac57ea2fcd5439f5005f17b34122b247b27c1ca..20cfe57475895728258c36cfeb54b77fdd1bff5c 100644 --- a/vpn/client/DapCmdHandlers/DapCmdStates.h +++ b/vpn/client/DapCmdHandlers/DapCmdStates.h @@ -10,7 +10,7 @@ class DapCmdStates: public DapCmdServiceAbstract Q_OBJECT public: explicit DapCmdStates(QObject *parent = nullptr); - void handle(const QJsonObject* params) override; + void handle(const QJsonObject* statesInfo) override; void sendServerChanged(); private: void sendCmdStates(const QString& stateName, const QString stateVal); diff --git a/vpn/client/DapStateMachine/DapStateMachine.cpp b/vpn/client/DapStateMachine/DapStateMachine.cpp index f42978b2a6d5cc6e0be8a9686dd31a56f5827286..831fb1f451b0b2c6b021087cab6bc14550c98192 100644 --- a/vpn/client/DapStateMachine/DapStateMachine.cpp +++ b/vpn/client/DapStateMachine/DapStateMachine.cpp @@ -36,6 +36,16 @@ const QVector<DapIndicator>& DapStateMachine::getCachedStates() return _statesBuffer; } +const QJsonObject DapStateMachine::getJsonCachedStates() +{ + QJsonObject statesInfo; + for (const auto &state: getCachedStates()) { + statesInfo.insert(state.getStringType(), state.getStringState()); + qDebug() << "[DapChainVpnService] [onIndicatorStateChanged] type: " << state.getStringType() << ", state: " << state.getStringState(); + } + return statesInfo; +} + void DapStateMachine::_emitStateChanged(DapIndicator::Type type, DapIndicator::State state) { m_indicatorStateCache.insert(type, new DapIndicator::State(state)); diff --git a/vpn/client/DapStateMachine/DapStateMachine.h b/vpn/client/DapStateMachine/DapStateMachine.h index 68cedd8f5a0b174004833966751fccb22a118756..35c96790ccf23d73892575b06b9ea344d487cc33 100644 --- a/vpn/client/DapStateMachine/DapStateMachine.h +++ b/vpn/client/DapStateMachine/DapStateMachine.h @@ -3,6 +3,7 @@ #include <QDebug> #include <QState> #include <QStateMachine> +#include <QJsonObject> #include <QCache> #include <QVector> @@ -42,6 +43,7 @@ public: DapState *initState; const QVector<DapIndicator>& getCachedStates(); + const QJsonObject getJsonCachedStates(); signals: void stateChanged(DapIndicator i); private: