fixed deleting of pending browse requests

This commit is contained in:
Boernsman 2019-10-18 18:46:26 +02:00
parent 19c0a28366
commit 83003d0270
3 changed files with 5 additions and 12 deletions

View File

@ -24,6 +24,8 @@
#include "devices/device.h" #include "devices/device.h"
#include "network/networkaccessmanager.h" #include "network/networkaccessmanager.h"
#include "plugininfo.h" #include "plugininfo.h"
#include "types/mediabrowseritem.h"
#include <QNetworkRequest> #include <QNetworkRequest>
#include <QNetworkReply> #include <QNetworkReply>
@ -353,6 +355,7 @@ void DevicePluginSonos::browseDevice(BrowseResult *result)
} else if (result->itemId() == "favorites") { } else if (result->itemId() == "favorites") {
sonosConnection->getFavorites(householdId); sonosConnection->getFavorites(householdId);
m_pendingBrowseResult.insert(householdId, result); m_pendingBrowseResult.insert(householdId, result);
connect(result, &BrowseResult::aborted,[householdId, this](){m_pendingBrowseResult.remove(householdId);});
} else { } else {
//TODO add media browsing //TODO add media browsing
result->finish(Device::DeviceErrorItemNotFound); result->finish(Device::DeviceErrorItemNotFound);
@ -374,11 +377,7 @@ void DevicePluginSonos::executeBrowserItem(BrowserActionInfo *info)
QString groupId = info->device()->paramValue(sonosGroupDeviceGroupIdParamTypeId).toString(); QString groupId = info->device()->paramValue(sonosGroupDeviceGroupIdParamTypeId).toString();
QUuid requestId = sonosConnection->loadFavorite(groupId, info->browserAction().itemId()); QUuid requestId = sonosConnection->loadFavorite(groupId, info->browserAction().itemId());
m_pendingBrowserExecution.insert(requestId, info); m_pendingBrowserExecution.insert(requestId, info);
} connect(info, &BrowserActionInfo::aborted,[requestId, this](){m_pendingBrowserExecution.remove(requestId);});
void DevicePluginSonos::executeBrowserItemAction(BrowserItemActionInfo *info)
{
Q_UNUSED(info)
} }
void DevicePluginSonos::onConnectionChanged(bool connected) void DevicePluginSonos::onConnectionChanged(bool connected)
@ -428,7 +427,7 @@ void DevicePluginSonos::onFavouritesReceived(const QString &householdId, QList<S
return; return;
foreach(Sonos::FavouriteObject favourite, favourites) { foreach(Sonos::FavouriteObject favourite, favourites) {
BrowserItem item; MediaBrowserItem item;
item.setId(favourite.id); item.setId(favourite.id);
item.setExecutable(true); item.setExecutable(true);
item.setBrowsable(false); item.setBrowsable(false);

View File

@ -52,7 +52,6 @@ public:
void browseDevice(BrowseResult *result) override; void browseDevice(BrowseResult *result) override;
void browserItem(BrowserItemResult *result) override; void browserItem(BrowserItemResult *result) override;
void executeBrowserItem(BrowserActionInfo *info) override; void executeBrowserItem(BrowserActionInfo *info) override;
void executeBrowserItemAction(BrowserItemActionInfo *info) override;
private: private:
PluginTimer *m_pluginTimer5sec = nullptr; PluginTimer *m_pluginTimer5sec = nullptr;

View File

@ -213,11 +213,6 @@
} }
], ],
"browserItemActionTypes": [ "browserItemActionTypes": [
{
"id": "b056af0f-4d5b-4f75-b0dd-e73246d3a83f",
"name": "updateLibrary",
"displayName": "Update library"
}
] ]
} }
] ]