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