Detecting status of network interfaces



Hello,
We (SyncEvolution) want to detect whether the network interface is available
(ethernet/wifi connected or Bluetooth adapter activated) so that we can show
the synchronization profile based on whether the network is supported locally
and we may later further incorporate automatic background synchronization. 

Here is what I found from Network manager DBus interface:

In spec V0.7 (which comes with Network Manager 0.7)
http://projects.gnome.org/NetworkManager/developers/spec-07.html
We may probably use:
org.freedesktop.NetworkManager.GetDevices()
signal:
org.freedesktop.NetworkManager.DeviceAdded ( o: device_path ) 
org.freedesktop.NetworkManager.Device.StateChanged ()
property:
org.freedesktop.NetworkManager.Device.State

Is the above API supposed to work for my intention?
Is State == NM_DEVICE_STATE_ACTIVATED means network is connected?

Also it seems that Bluetooth devices were not supported in this version, does this mean
I have to query Bluez directly to detect whether local Bluetooth device is activated?

In spec V0.8 (which is the next version)
http://projects.gnome.org/NetworkManager/developers/spec-08.html
I see Bluetooth device is supported. However what is the release schedule? Does this
mean I need to support both version DBus APIs to work with older distributions?

Best Regards,
Congwu


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]