dear nick, Thank you very much for helping me to understand the structure of NM and the relationship between NM and applet. I have some more questions about NM and wish you can help me again. Today I met a problem on DHClient. (1) The log is like "localhost dhclient: Can't create /usr/local/var/run/dhclient-wlan0.pid: Permission denied". I downloaded dhclient-3.0.6 src code but still did not find how to change "path_dhclient_db". Maybe it is not printed from dhclient.c. I still have some questions about NM. (2) Can I interpret the relationship between NM and applet like following diagram? |------------- src --------------| |- libnm -| NIC_Driver<->wpa_supplicant<->NetworkManager <-> NMManager <-> NMClient <-> Applet (iwctrl) (dbus) [NM database] (dbus sig) [NMA database] (3) I could not find the place applet emits a signal "DeviceAdded", so how does applet create a NMClient? (4) I will be so glad to know the calling history about "the wireless device has scanned a new network/ap". I means how NM informs Applet to add a new network. (5) Also I would like to know the calling history about "user select an ap to associate". I means how Applet informs NM to perform joining things. (6) Last question :Connection is for a device or an ap? Sorry to have bothered you so much. sincerely, Jeanne > Date: Tue, 25 Mar 2008 14:23:58 +0100 > From: nickschermer gmail com > To: shuangfeiyu hotmail com > Subject: Re: Questions on NetworkManager-0.7.0 > > 2008/3/25, Jue Yang <shuangfeiyu hotmail com>: > > I'm a fresh to develop Network Manager based on version 0.7.0. I have digged > > it few days and feel so confused. Could anybody give me the answers to > > following questions. > > I'm new too, but I guess i can answere this. > > > 1. Why does NM separate to two layers, libnm and src? > > libnm is the network manager library (utils and glib bindings): shared > code between the network manager daemon (in src) and (for example) the > network-manager-applet. So libnm-{util,glib} are libraries, src is a > program. > > > 2. How to do initialization of all objects? I mean who calls those > > "class_init" functions. > > Those are called by the GObject, using the macro G_DEFINE_TYPE and friends. > > > 3. Can Applet just call functions in libnm? During Applet setting an > > active network, which way used to keep synchronizing between libnm and src? > > Two applications (nm-daemon and nm-applet) cannot share the same data. > They communicate using dbus. libnm is used to "handle" the shared data > over dbus. > > Cheers, > Nick Windows Live Hotmail is giving away Zunes. Enter for your chance to win. |