mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-08-03 14:25:38 +02:00
Plugin Queries: resolve architecture to be able to handle dynamically all platform
Change-Id: I35ea5be7dc87dcf2e15b5803f9819887c946b91a
This commit is contained in:
parent
2371f0c09f
commit
9f570a3cee
9 changed files with 44 additions and 26 deletions
|
@ -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"];
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -931,9 +931,3 @@ Utils::generateUid()
|
|||
{
|
||||
return QUuid::createUuid().toString(QUuid::Id128);
|
||||
}
|
||||
|
||||
QString
|
||||
Utils::getPlatformString()
|
||||
{
|
||||
return "desktop";
|
||||
}
|
||||
|
|
|
@ -126,6 +126,4 @@ QString generateUid();
|
|||
// Misc
|
||||
QString humanFileSize(qint64 fileSize);
|
||||
QString getDebugFilePath();
|
||||
|
||||
QString getPlatformString();
|
||||
} // namespace Utils
|
||||
|
|
|
@ -102,6 +102,7 @@ public:
|
|||
*/
|
||||
QString getPluginPath(const QString& pluginId);
|
||||
|
||||
MapStringString getPlatformInfo();
|
||||
/**
|
||||
* @brief fetch all plugins path and id
|
||||
*
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -60,6 +60,12 @@ PluginManagerInterface::uninstallPlugin(const QString& pluginRootPath)
|
|||
return libjami::uninstallPlugin(pluginRootPath.toStdString());
|
||||
}
|
||||
|
||||
MapStringString
|
||||
PluginManagerInterface::getPlatformInfo()
|
||||
{
|
||||
return convertMap(libjami::getPlatformInfo());
|
||||
}
|
||||
|
||||
QStringList
|
||||
PluginManagerInterface::getCallMediaHandlers()
|
||||
{
|
||||
|
|
|
@ -61,6 +61,12 @@ PluginManagerInterface::uninstallPlugin(const QString& pluginRootPath)
|
|||
return 0;
|
||||
}
|
||||
|
||||
MapStringString
|
||||
PluginManagerInterface::getPlatformInfo()
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
QStringList
|
||||
PluginManagerInterface::getCallMediaHandlers()
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue