aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/sysactivity/DBusNetworkManager.java
blob: 4c148dfd4a4a7d52dd5dfb8a8e022f87b6e6289a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/*
 * 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";
            }
        }
    }
}