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:
parent
b5b38f287f
commit
0b7176c6f4
@ -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) {
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -39,13 +39,3 @@ DeviceManager::DeviceManager(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Device::BrowseResult DeviceManager::createBrowseResult()
|
||||
{
|
||||
return Device::BrowseResult();
|
||||
}
|
||||
|
||||
Device::BrowserItemResult DeviceManager::createBrowserItemResult()
|
||||
{
|
||||
return Device::BrowserItemResult();
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user