Re-enable the default ctor for BrowseResults

This opens up the possibility for the plugin dev to mess up the
request id if [s]he creates a new one instead of using the one given by
the api, but not being able to keep results in a Qt container
is not a price I am willing to pay for this. After all it'S going to be
very visible on the first test to the plugin dev if this deosn't match.
This commit is contained in:
Michael Zanetti 2019-07-19 14:40:14 +02:00
parent b5b38f287f
commit 0b7176c6f4
4 changed files with 4 additions and 21 deletions

View File

@ -712,7 +712,7 @@ Device::DeviceError DeviceManagerImplementation::removeConfiguredDevice(const De
Device::BrowseResult DeviceManagerImplementation::browseDevice(const DeviceId &deviceId, const QString &itemId, const QLocale &locale)
{
Device::BrowseResult result = createBrowseResult();
Device::BrowseResult result;
Device *device = m_configuredDevices.value(deviceId);
if (!device) {
@ -733,7 +733,7 @@ Device::BrowseResult DeviceManagerImplementation::browseDevice(const DeviceId &d
Device::BrowserItemResult DeviceManagerImplementation::browserItemDetails(const DeviceId &deviceId, const QString &itemId, const QLocale &locale)
{
Device::BrowserItemResult result = createBrowserItemResult();
Device::BrowserItemResult result;
Device *device = m_configuredDevices.value(deviceId);
if (!device) {

View File

@ -85,24 +85,22 @@ public:
class BrowseResult {
public:
BrowseResult(): m_id(QUuid::createUuid()) {}
Device::DeviceError status = Device::DeviceErrorNoError;
BrowserItems items;
QUuid id() const { return m_id; }
private:
QUuid m_id;
BrowseResult(): m_id(QUuid::createUuid()) {}
friend class DeviceManager;
};
class BrowserItemResult {
public:
BrowserItemResult(): m_id(QUuid::createUuid()) {}
Device::DeviceError status = Device::DeviceErrorNoError;
BrowserItem item;
QUuid id() const { return m_id; }
private:
QUuid m_id;
BrowserItemResult(): m_id(QUuid::createUuid()) {}
friend class DeviceManager;
};
DeviceId id() const;

View File

@ -39,13 +39,3 @@ DeviceManager::DeviceManager(QObject *parent) : QObject(parent)
{
}
Device::BrowseResult DeviceManager::createBrowseResult()
{
return Device::BrowseResult();
}
Device::BrowserItemResult DeviceManager::createBrowserItemResult()
{
return Device::BrowserItemResult();
}

View File

@ -100,11 +100,6 @@ signals:
void browserItemExecutionFinished(const ActionId &actionId, Device::DeviceError status);
void browserItemActionExecutionFinished(const ActionId &actionId, Device::DeviceError status);
protected:
// BrowseResult/BrowserItemResult have private Ctors to make sure a plugin dev can not mess up the request ids.
// DeviceManager is a friend, but the implementation is not, expose this to the DeviceManager implementation.
Device::BrowseResult createBrowseResult();
Device::BrowserItemResult createBrowserItemResult();
};
#endif // DEVICEMANAGER_H