Skip to content
Snippets Groups Projects
Commit bde61a11 authored by Danil Martynenko's avatar Danil Martynenko
Browse files

[*] Executing the script after joining the server or after disconnecting from...

[*] Executing the script after joining the server or after disconnecting from the server for CLI client
parent f822d4da
No related branches found
No related tags found
No related merge requests found
...@@ -71,7 +71,9 @@ void DapCmdConnect::handle(const QJsonObject* params) ...@@ -71,7 +71,9 @@ void DapCmdConnect::handle(const QJsonObject* params)
QMap<QString, QJsonValue> mandatoryConnParams = { QMap<QString, QJsonValue> mandatoryConnParams = {
{ADDRESS_KEY, params->value(ADDRESS_KEY)}, {ADDRESS_KEY, params->value(ADDRESS_KEY)},
{PORT_KEY, params->value(PORT_KEY)}, {PORT_KEY, params->value(PORT_KEY)},
{UPDATE_ROUTE_TABLE, params->value(UPDATE_ROUTE_TABLE)} {UPDATE_ROUTE_TABLE, params->value(UPDATE_ROUTE_TABLE)},
{RUN_SCRIPT_PATH, params->value(RUN_SCRIPT_PATH)},
{RUN_SCRIPT_AFTER_CONNECT, params->value(RUN_SCRIPT_AFTER_CONNECT)}
}; };
if (!mandatoryConnParams[ADDRESS_KEY].isString() || !mandatoryConnParams[PORT_KEY].isDouble()) { if (!mandatoryConnParams[ADDRESS_KEY].isString() || !mandatoryConnParams[PORT_KEY].isDouble()) {
...@@ -93,6 +95,13 @@ void DapCmdConnect::handle(const QJsonObject* params) ...@@ -93,6 +95,13 @@ void DapCmdConnect::handle(const QJsonObject* params)
uint16_t port = uint16_t(mandatoryConnParams[PORT_KEY].toInt()); uint16_t port = uint16_t(mandatoryConnParams[PORT_KEY].toInt());
QString address = mandatoryConnParams[ADDRESS_KEY].toString(); QString address = mandatoryConnParams[ADDRESS_KEY].toString();
QString runScriptPath = mandatoryConnParams[RUN_SCRIPT_PATH].toString();
if (!runScriptPath.isEmpty()){
bool runAfterConnect = mandatoryConnParams[RUN_SCRIPT_AFTER_CONNECT].toBool(true);
emit sigSetRunScript(runScriptPath, runAfterConnect);
}
qDebug() << "Address:" << address << ", Port:" << port << ", UpdateRouteTable:" << updateRouteTable; qDebug() << "Address:" << address << ", Port:" << port << ", UpdateRouteTable:" << updateRouteTable;
qDebug() << "SerialKey:" << (serialKey.isEmpty() ? "No serial key provided" : "Serial key provided"); qDebug() << "SerialKey:" << (serialKey.isEmpty() ? "No serial key provided" : "Serial key provided");
......
...@@ -24,6 +24,7 @@ signals: ...@@ -24,6 +24,7 @@ signals:
void sigConnectNoAuth(const QString& address, uint16_t port); void sigConnectNoAuth(const QString& address, uint16_t port);
void sigDisconnect(); void sigDisconnect();
void sigRestartService(bool if_runnning); void sigRestartService(bool if_runnning);
void sigSetRunScript(const QString& runScriptPath, bool runAfterConnect);
private: private:
const QString ACTION_KEY = "action"; const QString ACTION_KEY = "action";
...@@ -33,6 +34,8 @@ private: ...@@ -33,6 +34,8 @@ private:
const QString ADDRESS_KEY = "address"; const QString ADDRESS_KEY = "address";
const QString PORT_KEY = "port"; const QString PORT_KEY = "port";
const QString UPDATE_ROUTE_TABLE = "updateRouteTable"; const QString UPDATE_ROUTE_TABLE = "updateRouteTable";
const QString RUN_SCRIPT_PATH = "run_script_path";
const QString RUN_SCRIPT_AFTER_CONNECT = "run_script_after_connect";
const QString CODE_KEY = "code"; const QString CODE_KEY = "code";
const QString MESSAGE_KEY = "message"; const QString MESSAGE_KEY = "message";
......
...@@ -7,7 +7,8 @@ DapCmdConnect::DapCmdConnect(QObject *parent) ...@@ -7,7 +7,8 @@ DapCmdConnect::DapCmdConnect(QObject *parent)
} }
void DapCmdConnect::sendCmdConnect(const QString& a_addr, quint16 a_port, void DapCmdConnect::sendCmdConnect(const QString& a_addr, quint16 a_port,
const QString& a_user, const QString& a_pswd, const QString& a_serial, const bool a_updateRouteTable) const QString& a_user, const QString& a_pswd, const QString& a_serial, const bool a_updateRouteTable,
const QString& a_runScriptPath, const bool a_runAfterConnect)
{ {
QJsonObject obj; QJsonObject obj;
obj["action"] = "Connect"; obj["action"] = "Connect";
...@@ -20,7 +21,10 @@ void DapCmdConnect::sendCmdConnect(const QString& a_addr, quint16 a_port, ...@@ -20,7 +21,10 @@ void DapCmdConnect::sendCmdConnect(const QString& a_addr, quint16 a_port,
obj["password"] = a_pswd; obj["password"] = a_pswd;
if ( !a_serial.isEmpty() ) if ( !a_serial.isEmpty() )
obj["serial"] = QString(a_serial).remove('-'); obj["serial"] = QString(a_serial).remove('-');
obj["port"] = a_port; if ( !a_runScriptPath.isEmpty() ) {
obj["run_script_path"] = QString(a_runScriptPath);
obj["run_script_after_connect"] = a_runAfterConnect;
}
sendCmd(&obj); sendCmd(&obj);
} }
......
...@@ -11,8 +11,9 @@ public: ...@@ -11,8 +11,9 @@ public:
explicit DapCmdConnect(QObject *parent = nullptr); explicit DapCmdConnect(QObject *parent = nullptr);
public slots: public slots:
void sendCmdConnect(const QString& a_addr, quint16 a_port, void sendCmdConnect(const QString& a_addr, quint16 a_port, const QString& a_user = QString(), const QString& a_pswd = QString(),
const QString& a_user= QString(), const QString& a_pswd = QString(), const QString& a_serial= QString(), const bool a_updateRouteTable = true); const QString& a_serial = QString(), const bool a_updateRouteTable = true,
const QString& a_runScriptPath = QString(), const bool a_runAfterConnect = false);
void sendCmdConnectByOrder(const QString& a_addr); void sendCmdConnectByOrder(const QString& a_addr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment