diff options
Diffstat (limited to 'network/src/network.vala')
-rw-r--r-- | network/src/network.vala | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/network/src/network.vala b/network/src/network.vala deleted file mode 100644 index 7c8e466..0000000 --- a/network/src/network.vala +++ /dev/null @@ -1,206 +0,0 @@ -namespace AstalNetwork { - public Network get_default() { - return Network.get_default(); - } -} - -public class AstalNetwork.Network : Object { - private static Network instance; - public static Network get_default() { - if (instance == null) - instance = new Network(); - - return instance; - } - - public NM.Client client { get; private set; } - - public Wifi? wifi { get; private set; } - public Wired? wired { get; private set; } - public Primary primary { get; private set; } - - public Connectivity connectivity { - get { return (Connectivity)client.connectivity; } - } - - public State state { - get { return (State)client.state; } - } - - construct { - try { - client = new NM.Client(); - var wifi_device = (NM.DeviceWifi)get_device(NM.DeviceType.WIFI); - if (wifi_device != null) - wifi = new Wifi(wifi_device); - - var ethernet = (NM.DeviceEthernet)get_device(NM.DeviceType.ETHERNET); - if (ethernet != null) - wired = new Wired(ethernet); - - sync(); - client.notify["primary-connection"].connect(sync); - client.notify["activating-connection"].connect(sync); - - client.notify["state"].connect(() => notify_property("state")); - client.notify["connectivity"].connect(() => notify_property("connectivity")); - } catch (Error err) { - critical(err.message); - } - } - - private NM.Device get_device(NM.DeviceType t) { - var valid = new GenericArray<NM.Device>(); - foreach (var device in client.get_devices()) { - if (device.device_type == t) - valid.add(device); - } - - foreach (var device in valid) { - if (device.active_connection != null) - return device; - } - - return valid.get(0); - } - - private void sync() { - var ac = client.get_primary_connection(); - - if (ac == null) - ac = client.get_activating_connection(); - - if (ac != null) - primary = Primary.from_connection_type(ac.type); - else - primary = Primary.UNKNOWN; - } -} - -public enum AstalNetwork.Primary { - UNKNOWN, - WIRED, - WIFI; - - public string to_string() { - switch (this) { - case WIFI: return "wifi"; - case WIRED: return "wired"; - default: return "unknown"; - } - } - - public static Primary from_connection_type(string type) { - switch (type) { - case "802-11-wireless": return Primary.WIFI; - case "802-3-ethernet": return Primary.WIRED; - default: return Primary.UNKNOWN; - } - } -} - -// alias for NM.State -public enum AstalNetwork.State { - UNKNOWN, - ASLEEP, - DISCONNECTED, - DISCONNECTING, - CONNECTING, - CONNECTED_LOCAL, - CONNECTED_SITE, - CONNECTED_GLOBAL; - - public string to_string() { - switch (this) { - case ASLEEP: return "asleep"; - case DISCONNECTED: return "disconnected"; - case DISCONNECTING: return "disconnecting"; - case CONNECTING: return "connecting"; - case CONNECTED_LOCAL: return "connected_local"; - case CONNECTED_SITE: return "connected_site"; - case CONNECTED_GLOBAL: return "connected_global"; - default: return "unknown"; - } - } -} - - -// alias for NM.ConnectivityState -public enum AstalNetwork.Connectivity { - UNKNOWN, - NONE, - PORTAL, - LIMITED, - FULL; - - public string to_string() { - switch (this) { - case NONE: return "none"; - case PORTAL: return "portal"; - case LIMITED: return "limited"; - case FULL: return "full"; - default: return "unknown"; - } - } -} - -// alias for NM.DeviceState -public enum AstalNetwork.DeviceState { - UNKNOWN, - UNMANAGED, - UNAVAILABLE, - DISCONNECTED, - PREPARE, - CONFIG, - NEED_AUTH, - IP_CONFIG, - IP_CHECK, - SECONDARIES, - ACTIVATED, - DEACTIVATING, - FAILED; - - public string to_string() { - switch (this) { - case UNMANAGED: return "unmanaged"; - case UNAVAILABLE: return "unavailable"; - case DISCONNECTED: return "disconnected"; - case PREPARE: return "prepare"; - case CONFIG: return "config"; - case NEED_AUTH: return "need_auth"; - case IP_CONFIG: return "ip_config"; - case IP_CHECK: return "ip_check"; - case SECONDARIES: return "secondaries"; - case ACTIVATED: return "activated"; - case DEACTIVATING: return "deactivating"; - case FAILED: return "failed"; - default: return "unknown"; - } - - } -} - -public enum AstalNetwork.Internet { - CONNECTED, - CONNECTING, - DISCONNECTED; - - public static Internet from_device(NM.Device device) { - if (device == null || device.active_connection == null) - return DISCONNECTED; - - switch (device.active_connection.state) { - case NM.ActiveConnectionState.ACTIVATED: return CONNECTED; - case NM.ActiveConnectionState.ACTIVATING: return CONNECTING; - default: return DISCONNECTED; - } - } - - public string to_string() { - switch (this) { - case CONNECTED: return "connected"; - case CONNECTING: return "connecting"; - default: return "disconnected"; - } - } -} |