INetworkManagementEventObserver.aidl revision 64483947fdb03bf838e317ac0a4af5e0f53a5bbf
1/*
2 * Copyright (C) 2009 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.net;
18
19import android.net.LinkAddress;
20
21/**
22 * Callback class for receiving events from an INetworkManagementService
23 *
24 * @hide
25 */
26interface INetworkManagementEventObserver {
27    /**
28     * Interface configuration status has changed.
29     *
30     * @param iface The interface.
31     * @param up True if the interface has been enabled.
32     */
33    void interfaceStatusChanged(String iface, boolean up);
34
35    /**
36     * Interface physical-layer link state has changed.  For Ethernet,
37     * this method is invoked when the cable is plugged in or unplugged.
38     *
39     * @param iface The interface.
40     * @param up  True if the physical link-layer connection signal is valid.
41     */
42    void interfaceLinkStateChanged(String iface, boolean up);
43
44    /**
45     * An interface has been added to the system
46     *
47     * @param iface The interface.
48     */
49    void interfaceAdded(String iface);
50
51    /**
52     * An interface has been removed from the system
53     *
54     * @param iface The interface.
55     */
56    void interfaceRemoved(String iface);
57
58
59    /**
60     * An interface address has been added or updated.
61     *
62     * @param iface The interface.
63     * @param address The address.
64     */
65    void addressUpdated(String iface, in LinkAddress address);
66
67    /**
68     * An interface address has been removed.
69     *
70     * @param iface The interface.
71     * @param address The address.
72     */
73    void addressRemoved(String iface, in LinkAddress address);
74
75    /**
76     * A networking quota limit has been reached. The quota might not
77     * be specific to an interface.
78     *
79     * @param limitName The name of the limit that triggered.
80     * @param iface The interface on which the limit was detected.
81     */
82    void limitReached(String limitName, String iface);
83
84    /**
85     * Interface data activity status is changed.
86     *
87     * @param iface The interface.
88     * @param active  True if the interface is actively transmitting data, false if it is idle.
89     */
90    void interfaceClassDataActivityChanged(String label, boolean active);
91
92    /**
93     * Information about available DNS servers has been received.
94     *
95     * @param iface The interface on which the information was received.
96     * @param lifetime The time in seconds for which the DNS servers may be used.
97     * @param servers The IP addresses of the DNS servers.
98     */
99    void interfaceDnsServerInfo(String iface, long lifetime, in String[] servers);
100}
101