INetworkManagementEventObserver.aidl revision 0535a9f7aa5d0f875b06845e9af5f6dbfc5c8a19
14d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat/* 24d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Copyright (C) 2009 The Android Open Source Project 34d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 44d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Licensed under the Apache License, Version 2.0 (the "License"); 54d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * you may not use this file except in compliance with the License. 64d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * You may obtain a copy of the License at 74d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 84d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * http://www.apache.org/licenses/LICENSE-2.0 94d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 104d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Unless required by applicable law or agreed to in writing, software 114d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * distributed under the License is distributed on an "AS IS" BASIS, 124d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * See the License for the specific language governing permissions and 144d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * limitations under the License. 154d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 164d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 174d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehatpackage android.net; 184d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 195ad421a3d00c92c155d57af9d1a05d81cc2fa88fLorenzo Colittiimport android.net.LinkAddress; 205ad421a3d00c92c155d57af9d1a05d81cc2fa88fLorenzo Colitti 214d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat/** 224d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Callback class for receiving events from an INetworkManagementService 234d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 244d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @hide 254d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 264d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehatinterface INetworkManagementEventObserver { 274d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 286143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * Interface configuration status has changed. 294d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 304d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @param iface The interface. 316143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * @param up True if the interface has been enabled. 324d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 336143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen void interfaceStatusChanged(String iface, boolean up); 346143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen 356143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen /** 36f59c7d0f2ac8d489b6d8118543a57ea4a603eacfMike J. Chen * Interface physical-layer link state has changed. For Ethernet, 376143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * this method is invoked when the cable is plugged in or unplugged. 386143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * 396143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * @param iface The interface. 406143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * @param up True if the physical link-layer connection signal is valid. 416143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen */ 42f59c7d0f2ac8d489b6d8118543a57ea4a603eacfMike J. Chen void interfaceLinkStateChanged(String iface, boolean up); 434d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 444d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 454d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * An interface has been added to the system 464d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 474d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @param iface The interface. 484d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 494d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat void interfaceAdded(String iface); 504d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 514d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 524d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * An interface has been removed from the system 534d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 544d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @param iface The interface. 554d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 564d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat void interfaceRemoved(String iface); 5712b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall 585c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti 595c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti /** 6064483947fdb03bf838e317ac0a4af5e0f53a5bbfLorenzo Colitti * An interface address has been added or updated. 615c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti * 625c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti * @param iface The interface. 6364483947fdb03bf838e317ac0a4af5e0f53a5bbfLorenzo Colitti * @param address The address. 645c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti */ 6564483947fdb03bf838e317ac0a4af5e0f53a5bbfLorenzo Colitti void addressUpdated(String iface, in LinkAddress address); 665c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti 675c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti /** 6864483947fdb03bf838e317ac0a4af5e0f53a5bbfLorenzo Colitti * An interface address has been removed. 695c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti * 705c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti * @param iface The interface. 7164483947fdb03bf838e317ac0a4af5e0f53a5bbfLorenzo Colitti * @param address The address. 725c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti */ 7364483947fdb03bf838e317ac0a4af5e0f53a5bbfLorenzo Colitti void addressRemoved(String iface, in LinkAddress address); 745c7daac2e3d9020185699ba554d763b825ab1778Lorenzo Colitti 7512b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall /** 7612b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * A networking quota limit has been reached. The quota might not 7712b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * be specific to an interface. 7812b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * 7912b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * @param limitName The name of the limit that triggered. 8012b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * @param iface The interface on which the limit was detected. 8112b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall */ 8212b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall void limitReached(String limitName, String iface); 8312b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall 84db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai /** 85db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * Interface data activity status is changed. 86db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * 87db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * @param iface The interface. 88db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * @param active True if the interface is actively transmitting data, false if it is idle. 890535a9f7aa5d0f875b06845e9af5f6dbfc5c8a19Ashish Sharma * @param tsNanos Elapsed realtime in nanos when the state of the network interface changed. 90db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai */ 910535a9f7aa5d0f875b06845e9af5f6dbfc5c8a19Ashish Sharma void interfaceClassDataActivityChanged(String label, boolean active, long tsNanos); 925ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti 935ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti /** 945ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti * Information about available DNS servers has been received. 955ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti * 965ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti * @param iface The interface on which the information was received. 975ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti * @param lifetime The time in seconds for which the DNS servers may be used. 985ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti * @param servers The IP addresses of the DNS servers. 995ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti */ 1005ae4a531cc31be2868f65c40e8636658f1ae2f06Lorenzo Colitti void interfaceDnsServerInfo(String iface, long lifetime, in String[] servers); 1014d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat} 102