dear dan,
 
First, thank you very much for helpping me to break a way with Network Manager 
0.7.0. 
 
Your points help me a lot and the best is I will never feel alone and helpless.
 
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 the 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. I feel a little lazy and guilty, but still 
waiting for your good news.  
 
sincerely,
 
Jeanne



> Subject: Re: Questions on NetworkManager-0.7.0> From: [EMAIL PROTECTED]> To: 
> [EMAIL PROTECTED]> CC: [email protected]> Date: Tue, 25 Mar 2008 
> 10:45:23 -0400> > On Tue, 2008-03-25 at 03:11 +0000, Jue Yang wrote:> > Hi,> 
> > > > > > > > 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. > > > > 1. Why does NM separate to two 
> layers, libnm and src?> > libnm-glib is only used by _client_ of 
> NetworkManager, and wraps the> D-Bus objects that NetworkManager exports in a 
> glib friendly API.> > libnm-util is common code and structures used both by 
> clients of> NetworkManager and NetworkManager itself.> > > 2. How to do 
> initialization of all objects? I mean who calls> > those “class_init” 
> functions. > > This is handled by glib. When you call g_object_new(<type>, 
> ...) glib> looks up the type that you have given it (which is registered 
> indirectly> by those lines in the header files like #define NM_TYPE_FOO> 
> (nm_foo_get_type ())).> > Once it's got the class structure identified by the 
> type you have given> it with g_object_new(), glib will call the class_init 
> and constructor> functions of the class and it's subclasses as necessary.> > 
> For more information on glib objects, see:> > 
> http://library.gnome.org/devel/gobject/unstable/chapter-gobject.html> > > 3. 
> Can Applet just call functions in libnm? During Applet> > setting an active 
> network, which way used to keep synchronizing> > between libnm and src?> > 
> Yes, the applet can call libnm-glib functions, provided it has created> the 
> right objects. You must first create the libnm-glib NMClient> object, which 
> effectively wraps the D-Bus interface exported by the> NMManager object in 
> src/. Once the applet has the NMClient object, it> can attach to the signals 
> of NMClient, ask NMClient for the list of> devices, the list of currently 
> active connections, etc.> > Most of the synchronization between a client an 
> NetworkManager (aided by> libnm-glib for glib-based applications) is through 
> signals. The> NMClient object proxies the PropertiesChanged signal that 
> NetowrkManager> emits when the NMManager state changes, and it decodes the 
> signal and> re-emits the signal as a GObject signal on the NMClient object. 
> There's> actually some magic underneath to extract the properties that have> 
> actually changed (there can be more than one at a time) from the> 
> PropertiesChanged signal over D-Bus, and then set the internal cached> 
> variables inside the NMClient object, and when those internal cached> 
> variables change, emit GObject notify signals to alert users of> libnm-glib 
> that something has changed.> > It's sort of complicated; but as a client of 
> NetworkManager you just> need to pick one of (1) the D-Bus interface, or (2) 
> the libnm-glib> interface, or (3) the KDE Solid interface when it's done. (2) 
> and (3)> just wrap the D-Bus interface (1) in a more friendly manner and do> 
> things like convert D-Bus types to glib/qt types (a{sv} -> GHashTable> for 
> example).> > Dan> > 
_________________________________________________________________
How well do you know your celebrity gossip?
http://originals.msn.com/thebigdebate?ocid=T002MSN03N0707A
_______________________________________________
NetworkManager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to