Re: NM 0.6.4 DBus Spec



On Thu, 2007-09-13 at 17:54 -0600, Pat Sissons wrote:
> On 9/13/07, Dan Williams <dcbw redhat com> wrote:
> > On Thu, 2007-09-13 at 08:16 -0400, Jacob wrote:
> > > On Thu, 13 Sep 2007 01:51:27 -0600
> > > "Pat Sissons" <patricksissons gmail com> wrote:
> > >
> > > > I'm currently writing a Ruby NM wrapper library that operates over the
> > > > DBus.  The trouble is that I don't really have any concrete spec to
> > > > build it with.  I have been using
> > > > http://people.redhat.com/dcbw/NetworkManager/NetworkManager%20DBUS%20API.txt
> > > > and
> > > > http://mail.gnome.org/archives/networkmanager-list/2006-October/msg00233.html
> > > > along with dbus-send and dbus-monitor for debugging and testing.
> > > > Although I have done quite a bit with these resources, I'm positive
> > > > that a lot of the functionality is left to be implemented simply
> > > > because I'm not aware of its existence, the signals being a prime
> > > > example.  I have managed to extract a fair number of the NM interface
> > > > signals from the NM source, but I know there is much much more.  I
> > > > have found absolutely no documentation on the NMI interface.
> > > >
> > > > Anyways, if anyone knows of or can produce a clean spec for 0.6.4 (and
> > > > any future versions that don't include introspection) that would be
> > > > great, if not, any pointers on a more efficient way of deciphering the
> > > > spec would be great too.
> > > >
> > > > Thanks.
> > > >
> > >
> > > Forgive me if I'm wrong, but from what I've heard just browsing this list, NetworkManager's documentation is lacking everywhere, or is very difficult to find. If there is no real documentation, a Wiki of some kind could be set up for NM, so that knowledge could be added as it is mentioned here in this list.
> >
> > Yeah, sorry :(  The current dbus interface is pretty ad-hoc and hasn't
> > changed much in 2 years.  It won't necessarily be easy to pull out the
> > details (especially for activation of a device with wireless security),
> > but I'm happy to help where I can.  I've done nm clients in both C and
> > python.
> >
> > 0.7 bits are much better thought out and correctly use interfaces and
> > objects in a much more understandable manner.  That also means it will
> > be a lot simpler to extract the D-Bus interface details and put them
> > into documentation formats.
> >
> > dan
> >
> >
> > > Then again, I'm always screaming "Wiki fixes that!"... :)
> > >
> > > _______________________________________________
> > > NetworkManager-list mailing list
> > > NetworkManager-list gnome org
> > > http://mail.gnome.org/mailman/listinfo/networkmanager-list
> >
> > _______________________________________________
> > NetworkManager-list mailing list
> > NetworkManager-list gnome org
> > http://mail.gnome.org/mailman/listinfo/networkmanager-list
> >
> 
> Yea i was browsing the source today trying to fill in as many details
> as I could.  I came across the createWirelessNetwork and saw that it
> uses a variable number of arguments that are detailed further in
> libnm-util/dbus-helpers.c  I will leave that part of the development

Right, this is a great example of bad D-Bus API.  Dicts are the right
way to go here (like 0.7 does).  The security stuff was also pretty
badly designed (I'll admit that readily) as it became clear later on
that when it comes to Enterprise variants of WPA (and Dynamic WEP) that
it's essentially an a la carte menu of options from which you can pick
and choose, and the 0.6.5 wireless security API tries to impose some
invalid constraints on that.

> to the end since that will take a little more effort.  I think I have
> a handle on the NMI interface as well, i'll likely work on that
> tomorrow.
> 
> The 0.7 svn source includes the introspect xml files, so
> theoretically, i shouldn't have to worry about the specs anymore than
> reading those files.  And in the case of ruby-dbus, introspection is

Right.  NM lagged a bit with introspection support, mainly because the
variable-argument API bits are of course incompatible with
introspection.

> built in so the methods will be created automagically for me.  I will
> look forward to its release, however, i noticed that gutsy (i'm an
> ubuntu boy) is only using 0.6.5.  So it looks like a little wait yet
> before 0.7 is mainstream.
> 
> Also, I'm really looking forward to a wiki if someone can
> provide/create one.  I have a fair amount of documentation that many
> might find useful.  And this would also allow corrections to my
> assumptions that may have been wrong (i know there must be some).

At least the 0.6.x stuff is supposed to be API-stable, so it's not going
to change much at all during the 0.6.x lifetime.  0.7 is still somewhat
in flux WRT to the D-Bus API.

Dan





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]