rework how properties are set and updated
authorDavid Zeuthen <davidz@redhat.com>
Wed, 25 Feb 2009 23:11:31 +0000 (18:11 -0500)
committerDavid Zeuthen <davidz@redhat.com>
Wed, 25 Feb 2009 23:11:31 +0000 (18:11 -0500)
commit718036dc1b796db4d4e7f7a8f8b7358d13d8c0a7
tree8c8d73f30bf629235ea5b07707e42f95c968e926
parent2bc8b1cfb20b4df85777939638f04afcb333442a
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:
src/95-devkit-disks.rules
src/Makefile.am
src/devkit-disks-daemon.c
src/devkit-disks-device-private.c [new file with mode: 0644]
src/devkit-disks-device-private.h
src/devkit-disks-device.c
src/devkit-disks-logger.c
src/devkit-disks-mount-monitor.h
src/mounts-file.c
src/org.freedesktop.DeviceKit.Disks.Device.xml
src/part-id.c
src/poller.c
tools/devkit-disks.c