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 194d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat/** 204d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * Callback class for receiving events from an INetworkManagementService 214d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 224d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @hide 234d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 244d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehatinterface INetworkManagementEventObserver { 254d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 266143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * Interface configuration status has changed. 274d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 284d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @param iface The interface. 296143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * @param up True if the interface has been enabled. 304d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 316143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen void interfaceStatusChanged(String iface, boolean up); 326143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen 336143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen /** 34f59c7d0f2ac8d489b6d8118543a57ea4a603eacfMike J. Chen * Interface physical-layer link state has changed. For Ethernet, 356143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * this method is invoked when the cable is plugged in or unplugged. 366143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * 376143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * @param iface The interface. 386143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen * @param up True if the physical link-layer connection signal is valid. 396143f5f7392fb0d3e5702a46a2415bd0ecb6efb4Mike J. Chen */ 40f59c7d0f2ac8d489b6d8118543a57ea4a603eacfMike J. Chen void interfaceLinkStateChanged(String iface, boolean up); 414d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 424d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 434d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * An interface has been added to the system 444d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 454d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @param iface The interface. 464d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 474d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat void interfaceAdded(String iface); 484d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat 494d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat /** 504d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * An interface has been removed from the system 514d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * 524d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat * @param iface The interface. 534d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat */ 544d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat void interfaceRemoved(String iface); 5512b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall 5612b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall /** 5712b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * A networking quota limit has been reached. The quota might not 5812b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * be specific to an interface. 5912b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * 6012b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * @param limitName The name of the limit that triggered. 6112b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall * @param iface The interface on which the limit was detected. 6212b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall */ 6312b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall void limitReached(String limitName, String iface); 6412b933d0d9252decaae9fee2456bb1e1cd94c085JP Abgrall 65db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai /** 66db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * Interface data activity status is changed. 67db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * 68db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * @param iface The interface. 69db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai * @param active True if the interface is actively transmitting data, false if it is idle. 70db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai */ 71db3c8678e5cbdfec011afaf25bde2091152c30adHaoyu Bai void interfaceClassDataActivityChanged(String label, boolean active); 724d02d001ef6e06583e858e63e48d1aebf54ba28dSan Mehat} 73