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

Reply via email to