Gnomemeeting 2.0's future dbus component

John (J5) Palmieri johnp at redhat.com
Sun Oct 23 13:42:21 PDT 2005


I can't quite comment on the interface as that is mostly domain specific
and I don't know much about VoIP :-)  A couple of caveats, really just
nitpicking. The use of nil to indicate no output or input variables
should not be used.  The old d-bus had a concept of nil so it looks
awkward. Also the d-bus introspect format is most likely the best way to
present an interface to d-bus developers because they most likely have
been staring at them for some time ;-)

As for using the glib bindings, from the looks of your types the glib
bindings shouldn't be of any problem.  The problems come when you start
working with variants and deeply nested types.  The next d-bus release
should have a bunch of fixes for those.  I haven't tested signal
propagation yet but I assume it is similar.  Ross or Colin can give you
a better idea of the state of signals.

Looks like some fun stuff.

On Sun, 2005-10-23 at 15:34 +0200, Julien PUYDT wrote:
> Hi,
> 
> I'm rebuilding gnomemeeting's dbus support for 2.0 ; the following 
> interface was already quite discussed on gnomemeeting-devel-list for the 
> VoIP part ; I'm now seeking comments on it on the dbus side to see if 
> there are no obvious mistakes :
> 
> ============================================================================
> Accounts manager interface (net.gnomemeting.instance.accounts)
> 
> * "GetAccountsList"
>   in    : nil
>   out   : list of strings (account names)
> * "Register"
>   in    : string (account name)
>   out   : nil
> * "Unregister"
>   in    : string (account name)
>   out   : nil
> * "ResignalAccountState"
>   in    : string (account name)
>   out   : nil (the answer will come as directed signals)
> 
> 
> Signals about accounts :
> 
> * "account-register"
>   data  : string (account name), int (account state)
> 
> 
> Account states : int (Invalid, Unregistered, Registered)
> 
> ============================================================================
> Call tokens manager interface (net.gnomemeeting.instance.calls)
> 
> * "GetCallsList"
>   in    : nil
>   out   : list of strings (call tokens)
> * "Connect"
>   in    : string (url)
>   out   : string (call token)
> * "Disconnect"
>   in    : string (call token)
>   out   : nil
> * "PlayPause"
>   in    : string (call token)
>   out   : nil
> * "Transfer"
>   in    : string (call token), string (url)
>   out   : nil
> * "ResignalCallInfo"
>   in    : string (call token)
>   out   : nil (the answer will come as directed signals)
> 
> 
> Signals about call tokens :
> 
> * "state-changed"
>   data  : string (call token), int (state of the call token)
> * "name-info"
>   data  : string (call token), string (remote name)
> * "client-info"
>   data  : string (call token), string (remote client software)
> * "url-info"
>   data  : string (call token), string (remote url)
> * "protocol-info"
>   data  : string (call token), string (protocol used)
> 
> 
> Call states : int (Invalid, Standby, Calling, Connected, Called)
> 
> ============================================================================
> Helper interface (net.gnomemeeting.helper) [provided by a small external 
> app]
> 
> * "GetSupportedProtocols"
>   in    : nil
>   out   : list of strings (example: "SIP", "H.323")
> * "GetVersion"
>   in    : nil
>   out   : int (version of the dbus api)
> 
> 
> ============================================================================
> Unsorted
> 
> * "GetLocalAddress"
>   in    : string (protocol name)
>   out   : string (address for that protocol)
> 
> I plan to use the glib bindings (although they're not quite perfect yet) 
> to implement this, except for the helper for which I already have a 
> rough implementation :
> http://mail.gnome.org/archives/gnomemeeting-devel-list/2005-October/msg00085.html
> 
> Cordially,
> 
> Snark on #gnomemeeting
> _______________________________________________
> dbus mailing list
> dbus at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dbus
-- 
John (J5) Palmieri <johnp at redhat.com>



More information about the dbus mailing list