[packagekit] Adding properties to the transaction interface

Sebastian Heinlein sebi at glatzor.de
Sun Sep 6 01:01:40 PDT 2009


On Tue, Sep 01, 2009 at 12:23:26PM +0100, Richard Hughes wrote:
> I've just merged a commit[1] that adds properties to each transaction
> object, such as role, status, allow-cancel etc. The old methods to get
> this state (GetRole, GetStatus, GetAllowCancel, etc) are now
> deprecated, but are not going to be removed any time soon (perhaps for
> 0.6.0 in a few months time).
> 
> So, why is the interface switching to properties rather than a method
> for each one:
> 
> * Clients that want to "coldplug" the state to watch the transaction
> needed to perform 3-4 synchronous methods before they could show any
> UI
> * The only reason they were not properties before is I didn't know how
> to expose properties in dbus-glib when I prototyped PackageKit over
> two years ago
> * We do not need the overhead of a method, this data is public and
> will not be protected by PolicyKit
> 
> So, the benefits of switching to properties are that we can coldplug
> in one DBus call (GetAll on the .Properties interface) and than there
> will be a metric shedload less method code when we remove the old
> methods. It'll be a better interface, and easier to debug and use in
> python.

Unfortunately there is no implementation of the
dbus.PROPERTIES_IFACE in the D-Bus python bindings - no introspection
and not automatic signal matching. So this has to be done manually.

But actually the Python client bindings of PackageKit are in a bad
shape. There isn't any real async support, still uses obsolete
policykit and a nested main loop.

Did you attend the optimize and profile D-Bus talk of Will Thomas? After 
watching the recording I also switched to the protperties interface in my other
project.

Cheers,

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/packagekit/attachments/20090906/080d943d/attachment-0004.pgp>


More information about the PackageKit mailing list