PropertiesChanged signal, take 2

Thiago Macieira thiago at
Wed May 12 11:58:13 PDT 2010

Em Quarta-feira 12. Maio 2010, às 00.08.48, David Zeuthen escreveu:
> Hey,
> On Tue, May 11, 2010 at 5:21 PM, Thiago Macieira <thiago at> wrote:
> > Ok, so from what I understand from your proposed changes, we'd add two
> > properties to org.freedesktop.DBus.Properties, which control whether the
> > signal is emitted and, if it's emitted, whether the value is emitted
> > alongside it.
> > 
> > That would mean the setting is per object, which means we have a good
> > deal of control of whether signals are emitted unnecessarily or not.
> Well, these are _annotations_ to properties, not properties. It's a
> very important difference. And you'd only these annotations if

Oh, that changes everything now. It makes more sense.

>  1. you implement PropertiesChanged(); and
>  2. changes in the property does not cause signal emissions.
> So you'd only need them for such properties.

How do you detect whether the signal is implemented? You have to parse the 
remote object's introspection?

> > You're also saying that an object that has properties changing far too
> > frequently should set its flag to off.
> No. I'm saying that it's part of the _ABI_ if the service emits
> PropertyChanged.

Understood, that's how it should be.

> Would changing the annotation name to
>  EmitsPropertyChanged
> with the possible values 'true','novalue','false' and defaulting to
> 'true' help? Here's a concrete example

That would do, but maybe "nosend", "novalue" or "sendswithvalue".

Thiago Macieira - thiago (AT) - thiago (AT)
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the dbus mailing list