On Mon, Jan 16, 2012 at 10:17 AM, Chris Kühl <blixtra(a)gmail.com> wrote:
On Mon, Jan 16, 2012 at 9:50 AM, Patrick Ohly
<patrick.ohly(a)intel.com> wrote:
> On So, 2012-01-15 at 12:09 +0100, Chris Kühl wrote:
>> On Wed, Jan 11, 2012 at 3:08 PM, Patrick Ohly <patrick.ohly(a)intel.com>
wrote:
>> > On Mi, 2012-01-11 at 14:59 +0100, Chris Kühl wrote:
>> >> This will very much be an issue with GIO GDBus as it uses the same
>> >> mechanism. Looking that the souce of libdbus and gdbus leads me to
>> >> believe using signals on a non-bus connection doesn't really make
>> >> sense. I just use method calls in this case.
>> >
>> > Indeed, registering signal subscribers isn't very useful when there is
>> > always exactly one recipient.
>> >
>>
>> I've got SignalWatch activation working with one-to-one connections.
>> Just have to forgo adding the match rule.
>
> Is that also going to be possible with GDBus GIO? If not, then we will
> have a problem once code depends on signals and we want to switch to
> GDBus GIO.
>
I've not gone and implemented it yet, but I'd say most definitely. I
think it's as simple as not calling
g_dbus_connection_signal_subscribe.
Actually it's not quite that easy. You'll have to set up a filter and
fire the callback. But it's still straight forward.
All messages sent from the interface provider are received by the
interface consumer. The signal is simply a message of type
G_DBUS_MESSAGE_TYPE_SIGNAL which is checked in the isMatch method. So
things should work pretty easily.
Cheers,
Chris