/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.java.sip.communicator.impl.sysactivity;
import org.freedesktop.dbus.*;
import org.freedesktop.dbus.exceptions.*;
/**
* NetworkManager D-Bus Interface
*
* @author Damian Minkov
* @author Ingo Bauersachs
*/
@DBusInterfaceName("org.freedesktop.NetworkManager")
public interface DBusNetworkManager
extends DBusInterface
{
/*
* Types of NetworkManager states for versions < 0.9
*/
public static final int NM_STATE_UNKNOWN = 0;
public static final int NM_STATE_ASLEEP = 1;
public static final int NM_STATE_CONNECTING = 2;
public static final int NM_STATE_CONNECTED = 3;
public static final int NM_STATE_DISCONNECTED = 4;
/*
* Types of NetworkManager states for versions >= 0.9
*/
public static final int NM9_STATE_UNKNOWN = 0;
public static final int NM9_STATE_ASLEEP = 10;
public static final int NM9_STATE_DISCONNECTED = 20;
public static final int NM9_STATE_DISCONNECTING = 30;
public static final int NM9_STATE_CONNECTING = 40;
public static final int NM9_STATE_CONNECTED_LOCAL = 50;
public static final int NM9_STATE_CONNECTED_SITE = 60;
public static final int NM9_STATE_CONNECTED_GLOBAL = 70;
/**
* State change signal.
*/
public class StateChange extends DBusSignal
{
/**
* The name of the signal.
*/
public final String name;
/**
* The current status it holds.
*/
public final UInt32 status;
/**
* Creates status change.
* @param path the path
* @param status the status
* @throws DBusException
*/
public StateChange(String path, UInt32 status)
throws DBusException
{
super(path, status);
name = path;
this.status = status;
}
/**
* The current status.
* @return the current status
*/
public int getStatus()
{
return status.intValue();
}
/**
* Returns status description
* @return the status description
*/
public String getStatusName()
{
switch(status.intValue())
{
case NM_STATE_ASLEEP : return "Asleep";
case NM_STATE_CONNECTING : return "Connecting";
case NM_STATE_CONNECTED : return "Connected";
case NM_STATE_DISCONNECTED : return "Disconnected";
default : return "Unknown";
}
}
}
/**
* State changed signal.
*/
public static class StateChanged extends StateChange
{
/**
* Creates status changed.
* @param path the path
* @param status the status
* @throws DBusException
*/
public StateChanged(String path, UInt32 status)
throws DBusException
{
super(path, status);
}
/**
* Returns status description
* @return the status name
*/
@Override
public String getStatusName()
{
switch(status.intValue())
{
case NM9_STATE_UNKNOWN: return "Unknown";
case NM9_STATE_ASLEEP: return "Asleep";
case NM9_STATE_DISCONNECTED: return "Disconnected";
case NM9_STATE_DISCONNECTING: return "Disconnecting";
case NM9_STATE_CONNECTING: return "Connecting";
case NM9_STATE_CONNECTED_LOCAL: return "LocalConnectivity";
case NM9_STATE_CONNECTED_SITE: return "SiteConnectivity";
case NM9_STATE_CONNECTED_GLOBAL: return "GlobalConnectivity";
default : return "Unknown";
}
}
}
}