On Sun, 2015-03-15 at 12:46 +0100, Sylvain Garaud wrote:
> Hello,
> 
> I am writing a small javascript for gnome to grab the ip addresses of my
> network interfaces using imports.gi.NMClient;
> Basically I get the devices and connect each device to the
> notify::ip4-config signal to be able to update the ip address value when it
> changes

Which version of NM are you using?

> this.client = NMC.Client.new();
> this.devices = this.client.get_devices();
> for each (let device in this.devices) {
>     device.connect('notify::ip4-config',Lang.bind(this,this._update));
> }
> 
> It works fine for the wifi connection but there is a problem with the
> ethernet connection.
> After turning my ethernet connection up,  the signal 'notify::ip4-config'
> is fired, the device state is ACTIVATED, so I try to get the ip4 config.
> with ipcfg = device.get_ip4_config();
> I get a not null ipcfg object, unfortunately ipcfg.get_addresses() is not
> defined yet.

So that we can narrow the issue down, could you run:

dbus-monitor --system "type='signal',sender='org.freedesktop.NetworkManager'"

and reproduce the problem?  This will let us know the sequence of D-BUs
events that come directly from NetworkManager, so that we can see the
raw data that libnm/libnm-glib is getting.

Dan

> I see in my journalctl log few seconds later, some dhcp network manager
> message.
> 
>  _update: function(device) {
>       let ipcfg = device.get_ip4_config();
>       if (ipcfg != null) {
>          for each(let addr in ipcfg.get_addresses()){
>             let num = addr.get_address();
>          }
>       }
>    },
> 
> How to be sure ipcfg.get_addresses() will return something ?
> Could someone tell me which signal to use for being sure the ip address is
> set when calling ipcfg.get_addresses()? I tried using the
> 'notify::dhcp4-config' signal instead 'notify::ip4-config' without much
> success.
> 
> Thank you very much for your help,
> 
> Sylvain
> _______________________________________________
> networkmanager-list mailing list
> networkmanager-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/networkmanager-list


_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to