mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-08-05 23:35:50 +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();
|
Q_EMIT storeNotAvailable();
|
||||||
});
|
});
|
||||||
pluginVersionManager_
|
pluginVersionManager_
|
||||||
->sendGetRequest(QUrl(baseUrl_ + "?arch=" + Utils::getPlatformString()),
|
->sendGetRequest(QUrl(baseUrl_
|
||||||
|
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]),
|
||||||
[this, errorHandler](const QByteArray& data) {
|
[this, errorHandler](const QByteArray& data) {
|
||||||
auto result = QJsonDocument::fromJson(data).array();
|
auto result = QJsonDocument::fromJson(data).array();
|
||||||
auto pluginsInstalled = lrcInstance_->pluginModel().getPluginsId();
|
auto pluginsInstalled = lrcInstance_->pluginModel().getPluginsId();
|
||||||
|
@ -112,18 +113,19 @@ PluginAdapter::getPluginsFromStore()
|
||||||
void
|
void
|
||||||
PluginAdapter::getPluginDetails(const QString& pluginId)
|
PluginAdapter::getPluginDetails(const QString& pluginId)
|
||||||
{
|
{
|
||||||
pluginVersionManager_->sendGetRequest(QUrl(baseUrl_ + "/details/" + pluginId
|
pluginVersionManager_
|
||||||
+ "?arch=" + Utils::getPlatformString()),
|
->sendGetRequest(QUrl(baseUrl_ + "/details/" + pluginId
|
||||||
[this](const QByteArray& data) {
|
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]),
|
||||||
auto result = QJsonDocument::fromJson(data).object();
|
[this](const QByteArray& data) {
|
||||||
// my response is a json object and I want to convert
|
auto result = QJsonDocument::fromJson(data).object();
|
||||||
// it to a QVariantMap
|
// my response is a json object and I want to convert
|
||||||
auto plugin = result.toVariantMap();
|
// it to a QVariantMap
|
||||||
if (!plugin.contains("id")) {
|
auto plugin = result.toVariantMap();
|
||||||
plugin["id"] = plugin["name"];
|
if (!plugin.contains("id")) {
|
||||||
}
|
plugin["id"] = plugin["name"];
|
||||||
pluginStoreListModel_->addPlugin(plugin);
|
}
|
||||||
});
|
pluginStoreListModel_->addPlugin(plugin);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -204,11 +206,13 @@ PluginAdapter::baseUrl() const
|
||||||
QString
|
QString
|
||||||
PluginAdapter::getIconUrl(const QString& pluginId) const
|
PluginAdapter::getIconUrl(const QString& pluginId) const
|
||||||
{
|
{
|
||||||
return baseUrl_ + "/icons/" + pluginId + "?arch=" + Utils::getPlatformString();
|
return baseUrl_ + "/icons/" + pluginId
|
||||||
|
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"];
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
PluginAdapter::getBackgroundImageUrl(const QString& pluginId) const
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
parent_.sendGetRequest(QUrl(parent_.baseUrl + "/versions/" + plugin.id
|
parent_.sendGetRequest(QUrl(parent_.baseUrl + "/versions/" + plugin.id + "?arch="
|
||||||
+ "?arch=" + Utils::getPlatformString()),
|
+ lrcInstance_->pluginModel().getPlatformInfo()["os"]),
|
||||||
[this, plugin](const QByteArray& data) {
|
[this, plugin](const QByteArray& data) {
|
||||||
// `data` represents the version in this case.
|
// `data` represents the version in this case.
|
||||||
if (plugin.version < data) {
|
if (plugin.version < data) {
|
||||||
|
@ -121,7 +121,8 @@ public:
|
||||||
void installRemotePlugin(const QString& pluginId)
|
void installRemotePlugin(const QString& pluginId)
|
||||||
{
|
{
|
||||||
parent_.downloadFile(
|
parent_.downloadFile(
|
||||||
QUrl(parent_.baseUrl + "/download/" + Utils::getPlatformString() + "/" + pluginId),
|
QUrl(parent_.baseUrl + "/download/"
|
||||||
|
+ lrcInstance_->pluginModel().getPlatformInfo()["os"] + "/" + pluginId),
|
||||||
pluginId,
|
pluginId,
|
||||||
0,
|
0,
|
||||||
[this, pluginId](bool success, const QString& error) {
|
[this, pluginId](bool success, const QString& error) {
|
||||||
|
|
|
@ -931,9 +931,3 @@ Utils::generateUid()
|
||||||
{
|
{
|
||||||
return QUuid::createUuid().toString(QUuid::Id128);
|
return QUuid::createUuid().toString(QUuid::Id128);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
|
||||||
Utils::getPlatformString()
|
|
||||||
{
|
|
||||||
return "desktop";
|
|
||||||
}
|
|
||||||
|
|
|
@ -126,6 +126,4 @@ QString generateUid();
|
||||||
// Misc
|
// Misc
|
||||||
QString humanFileSize(qint64 fileSize);
|
QString humanFileSize(qint64 fileSize);
|
||||||
QString getDebugFilePath();
|
QString getDebugFilePath();
|
||||||
|
|
||||||
QString getPlatformString();
|
|
||||||
} // namespace Utils
|
} // namespace Utils
|
||||||
|
|
|
@ -102,6 +102,7 @@ public:
|
||||||
*/
|
*/
|
||||||
QString getPluginPath(const QString& pluginId);
|
QString getPluginPath(const QString& pluginId);
|
||||||
|
|
||||||
|
MapStringString getPlatformInfo();
|
||||||
/**
|
/**
|
||||||
* @brief fetch all plugins path and id
|
* @brief fetch all plugins path and id
|
||||||
*
|
*
|
||||||
|
|
|
@ -109,6 +109,12 @@ PluginModel::getPluginDetails(const QString& path)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MapStringString
|
||||||
|
PluginModel::getPlatformInfo()
|
||||||
|
{
|
||||||
|
return PluginManager::instance().getPlatformInfo();
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
PluginModel::installPlugin(const QString& jplPath, bool force)
|
PluginModel::installPlugin(const QString& jplPath, bool force)
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,6 +60,12 @@ PluginManagerInterface::uninstallPlugin(const QString& pluginRootPath)
|
||||||
return libjami::uninstallPlugin(pluginRootPath.toStdString());
|
return libjami::uninstallPlugin(pluginRootPath.toStdString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MapStringString
|
||||||
|
PluginManagerInterface::getPlatformInfo()
|
||||||
|
{
|
||||||
|
return convertMap(libjami::getPlatformInfo());
|
||||||
|
}
|
||||||
|
|
||||||
QStringList
|
QStringList
|
||||||
PluginManagerInterface::getCallMediaHandlers()
|
PluginManagerInterface::getCallMediaHandlers()
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,6 +61,12 @@ PluginManagerInterface::uninstallPlugin(const QString& pluginRootPath)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MapStringString
|
||||||
|
PluginManagerInterface::getPlatformInfo()
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
QStringList
|
QStringList
|
||||||
PluginManagerInterface::getCallMediaHandlers()
|
PluginManagerInterface::getCallMediaHandlers()
|
||||||
{
|
{
|
||||||
|
|
|
@ -58,6 +58,8 @@ public Q_SLOTS: // METHODS
|
||||||
|
|
||||||
int uninstallPlugin(const QString& pluginRootPath);
|
int uninstallPlugin(const QString& pluginRootPath);
|
||||||
|
|
||||||
|
MapStringString getPlatformInfo();
|
||||||
|
|
||||||
QStringList getCallMediaHandlers();
|
QStringList getCallMediaHandlers();
|
||||||
|
|
||||||
void toggleCallMediaHandler(const QString& mediaHandlerId, const QString& callId, bool toggle);
|
void toggleCallMediaHandler(const QString& mediaHandlerId, const QString& callId, bool toggle);
|
||||||
|
|
Loading…
Add table
Reference in a new issue