D19677: WIP: Port UDisks to using DBus ObjectManager

Stefan BrĂ¼ns noreply at phabricator.kde.org
Mon May 27 16:49:06 BST 2019


bruns added a comment.


  The UDisksDeviceBackend class serves two functions:
  
  - shared data cache for UDisksDevice instances
  - static factory of instances
  
  The manager has everything it needs to function as a factory. The  UDisksDeviceBackend would become a representation of the individual UDisks Objects, and would store the interfaces and associated properties. The manager does no store interfaces or properties directly, but only objects, i.e. `QMap<QString, UDiskDeviceBackend*> m_cache;  m_cache[udi] = new UDisksDeviceBackend(interfaces_and_properties);
  
  The manager would also act as a dispatcher, demarshaling the DBus messages, and then e.g. calling on propertiesChanged `m_cache[udi]->propertiesChanged(QStringList invalidated, QVariantMap changed)`
  
  As the backend is a shared instance I don't think it can be merged with the device.

REPOSITORY
  R245 Solid

REVISION DETAIL
  https://phabricator.kde.org/D19677

To: broulik, #frameworks, bruns
Cc: apol, nicolasfella, kde-frameworks-devel, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190527/7ed7dd59/attachment.html>


More information about the Kde-frameworks-devel mailing list