diff --git a/src/app/pluginadapter.cpp b/src/app/pluginadapter.cpp index edfa0d4ceee0aebb50bc40837c312615e31ff96a..c01d69e8b408bdf806b97e66fb3839618c9482fd 100644 --- a/src/app/pluginadapter.cpp +++ b/src/app/pluginadapter.cpp @@ -90,7 +90,8 @@ PluginAdapter::getPluginsFromStore() Q_EMIT storeNotAvailable(); }); pluginVersionManager_ - ->sendGetRequest(QUrl(baseUrl_ + "?arch=" + Utils::getPlatformString()), + ->sendGetRequest(QUrl(baseUrl_ + + "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]), [this, errorHandler](const QByteArray& data) { auto result = QJsonDocument::fromJson(data).array(); auto pluginsInstalled = lrcInstance_->pluginModel().getPluginsId(); @@ -112,18 +113,19 @@ PluginAdapter::getPluginsFromStore() void PluginAdapter::getPluginDetails(const QString& pluginId) { - pluginVersionManager_->sendGetRequest(QUrl(baseUrl_ + "/details/" + pluginId - + "?arch=" + Utils::getPlatformString()), - [this](const QByteArray& data) { - auto result = QJsonDocument::fromJson(data).object(); - // my response is a json object and I want to convert - // it to a QVariantMap - auto plugin = result.toVariantMap(); - if (!plugin.contains("id")) { - plugin["id"] = plugin["name"]; - } - pluginStoreListModel_->addPlugin(plugin); - }); + pluginVersionManager_ + ->sendGetRequest(QUrl(baseUrl_ + "/details/" + pluginId + + "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]), + [this](const QByteArray& data) { + auto result = QJsonDocument::fromJson(data).object(); + // my response is a json object and I want to convert + // it to a QVariantMap + auto plugin = result.toVariantMap(); + if (!plugin.contains("id")) { + plugin["id"] = plugin["name"]; + } + pluginStoreListModel_->addPlugin(plugin); + }); } void @@ -204,11 +206,13 @@ PluginAdapter::baseUrl() const QString PluginAdapter::getIconUrl(const QString& pluginId) const { - return baseUrl_ + "/icons/" + pluginId + "?arch=" + Utils::getPlatformString(); + return baseUrl_ + "/icons/" + pluginId + + "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]; } QString PluginAdapter::getBackgroundImageUrl(const QString& pluginId) const { - return baseUrl_ + "/backgrounds/" + pluginId + "?arch=" + Utils::getPlatformString(); + return baseUrl_ + "/backgrounds/" + pluginId + + "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]; } diff --git a/src/app/pluginversionmanager.cpp b/src/app/pluginversionmanager.cpp index e508402b9765fe5f8ae7f22e0d4e7a57732353de..04c850d3f57b2b61618effdd03a162e0573d08d9 100644 --- a/src/app/pluginversionmanager.cpp +++ b/src/app/pluginversionmanager.cpp @@ -103,8 +103,8 @@ public: return; } - parent_.sendGetRequest(QUrl(parent_.baseUrl + "/versions/" + plugin.id - + "?arch=" + Utils::getPlatformString()), + parent_.sendGetRequest(QUrl(parent_.baseUrl + "/versions/" + plugin.id + "?arch=" + + lrcInstance_->pluginModel().getPlatformInfo()["os"]), [this, plugin](const QByteArray& data) { // `data` represents the version in this case. if (plugin.version < data) { @@ -121,7 +121,8 @@ public: void installRemotePlugin(const QString& pluginId) { parent_.downloadFile( - QUrl(parent_.baseUrl + "/download/" + Utils::getPlatformString() + "/" + pluginId), + QUrl(parent_.baseUrl + "/download/" + + lrcInstance_->pluginModel().getPlatformInfo()["os"] + "/" + pluginId), pluginId, 0, [this, pluginId](bool success, const QString& error) { diff --git a/src/app/utils.cpp b/src/app/utils.cpp index cbd725b8748489074a9e6d82ea14791d4b8286b9..57fe7e6aadde58eb19652daaa282d74fce7a94ed 100644 --- a/src/app/utils.cpp +++ b/src/app/utils.cpp @@ -931,9 +931,3 @@ Utils::generateUid() { return QUuid::createUuid().toString(QUuid::Id128); } - -QString -Utils::getPlatformString() -{ - return "desktop"; -} diff --git a/src/app/utils.h b/src/app/utils.h index 6f7bed819deb6f22629d1b22bb9e1dc0e057674d..6e762be25f97d5c49a04d7a7b14bea53fd7e1eb2 100644 --- a/src/app/utils.h +++ b/src/app/utils.h @@ -126,6 +126,4 @@ QString generateUid(); // Misc QString humanFileSize(qint64 fileSize); QString getDebugFilePath(); - -QString getPlatformString(); } // namespace Utils diff --git a/src/libclient/api/pluginmodel.h b/src/libclient/api/pluginmodel.h index 2faafeac0f66179caa836493f69e51439702a22e..88bdae9399cc906ba338daa8792134b91163f0a4 100644 --- a/src/libclient/api/pluginmodel.h +++ b/src/libclient/api/pluginmodel.h @@ -102,6 +102,7 @@ public: */ QString getPluginPath(const QString& pluginId); + MapStringString getPlatformInfo(); /** * @brief fetch all plugins path and id * diff --git a/src/libclient/pluginmodel.cpp b/src/libclient/pluginmodel.cpp index 7afd2acb10eeeb76306810488e416abbe4b40bef..7e80d30c6cfd644ec873552ac9c225c4f9a9c444 100644 --- a/src/libclient/pluginmodel.cpp +++ b/src/libclient/pluginmodel.cpp @@ -109,6 +109,12 @@ PluginModel::getPluginDetails(const QString& path) return result; } +MapStringString +PluginModel::getPlatformInfo() +{ + return PluginManager::instance().getPlatformInfo(); +} + bool PluginModel::installPlugin(const QString& jplPath, bool force) { diff --git a/src/libclient/qtwrapper/pluginmanager.cpp b/src/libclient/qtwrapper/pluginmanager.cpp index cc6c13db407c0d5840bf17d6af995664ae7b5d9e..af74942f2a3c4e874a8f0e76159bcc718570517a 100644 --- a/src/libclient/qtwrapper/pluginmanager.cpp +++ b/src/libclient/qtwrapper/pluginmanager.cpp @@ -60,6 +60,12 @@ PluginManagerInterface::uninstallPlugin(const QString& pluginRootPath) return libjami::uninstallPlugin(pluginRootPath.toStdString()); } +MapStringString +PluginManagerInterface::getPlatformInfo() +{ + return convertMap(libjami::getPlatformInfo()); +} + QStringList PluginManagerInterface::getCallMediaHandlers() { diff --git a/src/libclient/qtwrapper/pluginmanagerMock.cpp b/src/libclient/qtwrapper/pluginmanagerMock.cpp index c0194f22cde789cee2a68ec0eea4532c1971f271..4b89113a02c2902fa95a77aa06671dfba7d95ccf 100644 --- a/src/libclient/qtwrapper/pluginmanagerMock.cpp +++ b/src/libclient/qtwrapper/pluginmanagerMock.cpp @@ -61,6 +61,12 @@ PluginManagerInterface::uninstallPlugin(const QString& pluginRootPath) return 0; } +MapStringString +PluginManagerInterface::getPlatformInfo() +{ + return {}; +} + QStringList PluginManagerInterface::getCallMediaHandlers() { diff --git a/src/libclient/qtwrapper/pluginmanager_wrap.h b/src/libclient/qtwrapper/pluginmanager_wrap.h index 9e2a6befc8b3ddf1902b29a9435d9187036c5027..cbf35edfbab626d5989b8e3c3509dcbfc0aa7387 100644 --- a/src/libclient/qtwrapper/pluginmanager_wrap.h +++ b/src/libclient/qtwrapper/pluginmanager_wrap.h @@ -58,6 +58,8 @@ public Q_SLOTS: // METHODS int uninstallPlugin(const QString& pluginRootPath); + MapStringString getPlatformInfo(); + QStringList getCallMediaHandlers(); void toggleCallMediaHandler(const QString& mediaHandlerId, const QString& callId, bool toggle);