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