network-manager-applet has a piece of code to create a new default connection when connecting to a device which doesn't have connection yet. See function applet_menu_item_activate_helper() in applet.c line 313. I'm wondering if it's ok to export this piece of code through org.freedesktop.NetworkManagerUserSettings interface. Maybe a new method: GetConnectionsForDevice(o: device), which returns existing connections for a specific device, or creates and returns a new default connection, if there is no connection for the device yet.
Regards James Su On Tue, Oct 21, 2008 at 9:29 PM, Dan Williams <[EMAIL PROTECTED]> wrote: > On Tue, 2008-10-21 at 09:25 +0800, Zhe Su wrote: > > Thanks for your feedback. > > > > On Tue, Oct 21, 2008 at 1:28 AM, Dan Williams <[EMAIL PROTECTED]> wrote: > > > > On Sat, 2008-10-18 at 23:47 +0800, Zhe Su wrote: > > > Hi, > > > I'm writing an application which needs to control network > > manager > > > via its dbus service, especially to connect the wifi to a > > specified > > > access point. I'm using openSUSE 11 with network manager > > 0.7. After > > > reading the documentation and source code of network manager > > applet, I > > > found that a connection object must be created for the > > access point > > > before calling network manager to activate the ap. However > > seems that > > > it's only possible to create connection object by using > > functions > > > provided by libnm-{glib,utils}. There is no corresponding > > methods > > > exported through dbus. But I don't want to make my > > application depend > > > on libnm. > > > So I'm wondering if there is any way to achieve my goal > > with nm's > > > dbus service only? > > > > > > Do you expect the applet to be running alongside your program? > > Yes. > > > > > > _Something_ needs to provide the Connection details to > > NetworkManager, > > and right now that's the applet. If you want to replace the > > applet and > > provide your own org.freedesktop.NetworkManagerUserSettings > > service, > > that would work. > > I'm going to use existing settings service instead of providing a new > > one. The problem is, current org.freedesktop.NetworkManagerSettings > > interface doesn't have a method to create a new connection for a > > specific device and access point, which makes it impossible to > > activate the device in my application if there is no connection for > > that device yet. And it might be handy to have a method in > > org.freedesktop.NetworkManager to activate a specific device without > > specifying the connection (a temporary default connection shall be > > created and used by network manager), so that network manager can > > still work in many cases without settings service. > > No, creating a temporary connection won't work because no settings > service provides that connection over dbus. Thus, nothing (like the > applet or your application) can actually figure out the connection > details, and thus won't know what the connection's name is, what it's > uuid is, what it's IP settings are supposed to be etc. NetworkManager > _consumes_ connections, it doesn't provide them. Thus, something else > must provide them. > > You could try writing out the connection you wish to use directly to > GConf, and then the applet will pick that connection up automatically > and you can tell NM to activate it. > > Dan > > > And when will nm 0.7 be released officially? > > > > Regards > > James Su > > > > > > > > > > Once you have provided the connection object over D-Bus, NM > > can find it, > > and you can tell NM to activate that connection. You can > > BSS-lock that > > connection to the particular AP you're interested in. > > > > Dan > > > > > > > > > > > >
_______________________________________________ NetworkManager-list mailing list NetworkManager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list