rework how properties are set and updated
This is major patch reworking property handling. Instead of clearing
properties at every update event we use setters functions
instead. This will allow us, in the future, to generate very precise
PropertiesChanged() signals that can be tracked by client-side
proxies.
Also clean up the update_info() function; it's now split into a number
of much simpler separate update_info_*() functions. Should make things
a lot easier to debug.
Also keep track of holders/slaves and update slaves/holders when added
to a device. This allows us to get ride of the racy
update_info_in_idle() crap that never really worked.
The following properties has been removed
- optical-disc-is-recordable
- optical-disc-is-rewritable
- linux-md-component-update-time
- linux-md-component-events
- linux-md-slaves-state
The following properties has been added
- linux-md-component-holder
- linux-md-component-state
- linux-md-state
13 files changed: