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 DeviceManagerImplementation::browseDevice(const DeviceId &deviceId, const QString &itemId, const QLocale &locale)
|
||||||
{
|
{
|
||||||
Device::BrowseResult result = createBrowseResult();
|
Device::BrowseResult result;
|
||||||
|
|
||||||
Device *device = m_configuredDevices.value(deviceId);
|
Device *device = m_configuredDevices.value(deviceId);
|
||||||
if (!device) {
|
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 DeviceManagerImplementation::browserItemDetails(const DeviceId &deviceId, const QString &itemId, const QLocale &locale)
|
||||||
{
|
{
|
||||||
Device::BrowserItemResult result = createBrowserItemResult();
|
Device::BrowserItemResult result;
|
||||||
|
|
||||||
Device *device = m_configuredDevices.value(deviceId);
|
Device *device = m_configuredDevices.value(deviceId);
|
||||||
if (!device) {
|
if (!device) {
|
||||||
|
|||||||
@ -85,24 +85,22 @@ public:
|
|||||||
|
|
||||||
class BrowseResult {
|
class BrowseResult {
|
||||||
public:
|
public:
|
||||||
|
BrowseResult(): m_id(QUuid::createUuid()) {}
|
||||||
Device::DeviceError status = Device::DeviceErrorNoError;
|
Device::DeviceError status = Device::DeviceErrorNoError;
|
||||||
BrowserItems items;
|
BrowserItems items;
|
||||||
QUuid id() const { return m_id; }
|
QUuid id() const { return m_id; }
|
||||||
private:
|
private:
|
||||||
QUuid m_id;
|
QUuid m_id;
|
||||||
BrowseResult(): m_id(QUuid::createUuid()) {}
|
|
||||||
friend class DeviceManager;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class BrowserItemResult {
|
class BrowserItemResult {
|
||||||
public:
|
public:
|
||||||
|
BrowserItemResult(): m_id(QUuid::createUuid()) {}
|
||||||
Device::DeviceError status = Device::DeviceErrorNoError;
|
Device::DeviceError status = Device::DeviceErrorNoError;
|
||||||
BrowserItem item;
|
BrowserItem item;
|
||||||
QUuid id() const { return m_id; }
|
QUuid id() const { return m_id; }
|
||||||
private:
|
private:
|
||||||
QUuid m_id;
|
QUuid m_id;
|
||||||
BrowserItemResult(): m_id(QUuid::createUuid()) {}
|
|
||||||
friend class DeviceManager;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
DeviceId id() const;
|
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 browserItemExecutionFinished(const ActionId &actionId, Device::DeviceError status);
|
||||||
void browserItemActionExecutionFinished(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
|
#endif // DEVICEMANAGER_H
|
||||||
|
|||||||
Reference in New Issue
Block a user