Request for the 1.0 release

Thiago Macieira thiago.macieira at trolltech.com
Sat Feb 25 17:48:24 PST 2006


Havoc Pennington wrote:
>It's fine to do this in moderation, DBusConnection is designed to be
>shared though (like the X display connection). The problem with lots of
>different connections is, well, lots of different connections -
>certainly we wouldn't want one per-object or
>per-library-in-the-desktop-stack. The DBusConnection object isn't small,
>and file descriptors have some overhead too.

It works if the bindings play nice with each other. Currently, we don't. 
We don't register the objects because the tree is dynamic and can change 
without calling "registerObject".

>One main loop has to "own" each connection though, so in practice an app
>or library has to know if it's the one that's responsible for the main
>loop stuff.

Of course. Thankfully, that's not my area :-)

>> This "destroyed" signal, does it behave like a D-Bus signal? I mean, I
>> know it's synthesised by the binding, but does it contain interface
>> information too? (owner and path are unique to the object, signal name
>> is "destroyed").
>
>DBusGProxy has accessors to get the interface and such -
>dbus_g_proxy_get_interface(), etc.

And now getting to what I wanted to know: if you call 
dbus_g_proxy_get_interface() on the "destroyed" signal, what interface do 
you get?

I should have said so before: if I'm going to mimic the behaviour, I 
should could just as well use the same interface names.

>The way the glib bindings work is that you create a proxy and bind it to
>a bus-name/interface/object-name, then GObject signals are emitted from
>the proxy and you can use the proxy as a handle to make method calls:
>
> dbus_g_proxy_call(proxy, "Frobate", &error,
>                DBUS_TYPE_STRING, "my argument", DBUS_TYPE_INVALID);

Same here (but I like my syntax better :-) )
  reply = proxy.call("Frobate", "my argument");

>com_example_StateMachine_get_info (DBusGProxy *proxy, char ** OUT_name,
>char ** OUT_state, GError **error)
>{
>  return dbus_g_proxy_call (proxy, "GetInfo", error, G_TYPE_INVALID,
>G_TYPE_STRING, OUT_name, G_TYPE_STRING, OUT_state, G_TYPE_INVALID);
>}

/me notes the naming-style conversion

>To _implement_ an object, dbus-binding-tool creates metainformation
>similar to what moc generates (in fact I used the Qt4 idea of putting it
>all in a single static string). You have to register this
>metainformation with your implementation object's GType (along with the
>the class struct aka vtable).

The idea of doing that to reduce relocation counts isn't ours. See 
http://people.redhat.com/drepper/dsohowto.pdf section 2.4.3.

-- 
Thiago José Macieira - thiago.macieira AT trolltech.com
Trolltech AS - Sandakerveien 116, NO-0402 Oslo, Norway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060226/26f15f73/attachment.pgp


More information about the dbus mailing list