From af49225221384bda4082520f8d4dd6051f9466c8 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Mon, 17 Jun 2024 22:12:49 +0200 Subject: [PATCH] small tweak for bridge serialization --- .../epee/include/serialization/keyvalue_helpers.h | 5 +++++ src/gui/qt-daemon/application/mainwindow.cpp | 15 +++++++++------ src/gui/qt-daemon/application/mainwindow.h | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/contrib/epee/include/serialization/keyvalue_helpers.h b/contrib/epee/include/serialization/keyvalue_helpers.h index 7dc812ad..9b5f0dcf 100644 --- a/contrib/epee/include/serialization/keyvalue_helpers.h +++ b/contrib/epee/include/serialization/keyvalue_helpers.h @@ -121,8 +121,13 @@ namespace epee boost::split(pod_items, a, boost::is_any_of(", ][\"")); t_pod_container_type res; + if (!a.size()) + return res; for (const auto& item : pod_items) { + if(!item.size()) + continue; + res.resize(res.size() + 1); typename t_pod_container_type::value_type& pod_val = res.back(); diff --git a/src/gui/qt-daemon/application/mainwindow.cpp b/src/gui/qt-daemon/application/mainwindow.cpp index d2f022ee..dc512fa0 100644 --- a/src/gui/qt-daemon/application/mainwindow.cpp +++ b/src/gui/qt-daemon/application/mainwindow.cpp @@ -978,18 +978,21 @@ QString MainWindow::start_backend(const QString& params) QString MainWindow::sync_call(const QString& func_name, const QString& params) { - if (func_name == "transfer") - { - return this->transfer(params); - } - else if (func_name == "test_call") + if (func_name == "test_call") { return params; } + std::string fuc_name_std = func_name.toStdString(); + QString response_str; + bool r = QMetaObject::invokeMethod(this, fuc_name_std.c_str(), Qt::DirectConnection, Q_RETURN_ARG(QString, response_str), Q_ARG(QString, params)); + //bool r = this->invokeMethod(fuc_name_std.c_str(), Q_RETURN_ARG(QString, response_str), Q_ARG(QString, params)); + if (r) + return response_str; else { - return QString(QString() + "{ \"status\": \"Method '" + func_name + "' not found\"}"); + return QString(QString() + "{ \"status\": \"Method '" + func_name + "' not found\"}"); } + } QString MainWindow::async_call(const QString& func_name, const QString& params) diff --git a/src/gui/qt-daemon/application/mainwindow.h b/src/gui/qt-daemon/application/mainwindow.h index 074fb9f5..da9f2ee5 100644 --- a/src/gui/qt-daemon/application/mainwindow.h +++ b/src/gui/qt-daemon/application/mainwindow.h @@ -110,7 +110,7 @@ public: QString get_version(const QString& param); QString get_os_version(const QString& param); QString get_network_type(const QString& param); - QString transfer(const QString& json_transfer_object); + QString transfer(const QString& param); QString have_secure_app_data(const QString& param); QString drop_secure_app_data(const QString& param); QString get_secure_app_data(const QString& param);