1// 2// Copyright (C) 2018 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 17// AIDL interfaces between the core system and the networking mainline module. 18aidl_interface { 19 name: "ipmemorystore-aidl-interfaces", 20 local_include_dir: "src", 21 srcs: [ 22 "src/android/net/IIpMemoryStore.aidl", 23 "src/android/net/IIpMemoryStoreCallbacks.aidl", 24 "src/android/net/ipmemorystore/**/*.aidl", 25 ], 26 backend: { 27 java: { 28 apex_available: [ 29 "//apex_available:platform", 30 "com.android.wifi", 31 ], 32 }, 33 ndk: { 34 enabled: false, 35 }, 36 cpp: { 37 enabled: false, 38 }, 39 }, 40 versions: [ 41 "1", 42 "2", 43 "3", 44 "4", 45 "5", 46 "6", 47 "7", 48 ], 49 visibility: [ 50 "//system/tools/aidl/build", 51 ], 52} 53 54aidl_interface { 55 name: "networkstack-aidl-interfaces", 56 local_include_dir: "src", 57 include_dirs: [ 58 "frameworks/base/core/java", // For framework parcelables. 59 "frameworks/native/aidl/binder/android/os", // For PersistableBundle.aidl 60 "frameworks/base/wifi/aidl-export", // For wifi parcelables. 61 ], 62 srcs: [ 63 "src/android/net/DataStallReportParcelable.aidl", 64 "src/android/net/DhcpResultsParcelable.aidl", 65 "src/android/net/INetworkMonitor.aidl", 66 "src/android/net/INetworkMonitorCallbacks.aidl", 67 "src/android/net/INetworkStackConnector.aidl", 68 "src/android/net/INetworkStackStatusCallback.aidl", 69 "src/android/net/InitialConfigurationParcelable.aidl", 70 "src/android/net/InformationElementParcelable.aidl", 71 "src/android/net/Layer2InformationParcelable.aidl", 72 "src/android/net/Layer2PacketParcelable.aidl", 73 "src/android/net/NattKeepalivePacketDataParcelable.aidl", 74 "src/android/net/NetworkTestResultParcelable.aidl", 75 "src/android/net/PrivateDnsConfigParcel.aidl", 76 "src/android/net/ProvisioningConfigurationParcelable.aidl", 77 "src/android/net/ScanResultInfoParcelable.aidl", 78 "src/android/net/TcpKeepalivePacketDataParcelable.aidl", 79 "src/android/net/dhcp/DhcpLeaseParcelable.aidl", 80 "src/android/net/dhcp/DhcpServingParamsParcel.aidl", 81 "src/android/net/dhcp/IDhcpEventCallbacks.aidl", 82 "src/android/net/dhcp/IDhcpServer.aidl", 83 "src/android/net/dhcp/IDhcpServerCallbacks.aidl", 84 "src/android/net/ip/IIpClient.aidl", 85 "src/android/net/ip/IIpClientCallbacks.aidl", 86 ], 87 backend: { 88 java: { 89 apex_available: [ 90 "//apex_available:platform", 91 "com.android.bluetooth.updatable", 92 "com.android.wifi", 93 ], 94 }, 95 ndk: { 96 enabled: false, 97 }, 98 cpp: { 99 enabled: false, 100 }, 101 }, 102 imports: ["ipmemorystore-aidl-interfaces"], 103 versions: [ 104 "1", 105 "2", 106 "3", 107 "4", 108 "5", 109 "6", 110 "7", 111 ], 112 // TODO: have tethering depend on networkstack-client and set visibility to private 113 visibility: [ 114 "//system/tools/aidl/build", 115 "//frameworks/base/packages/Tethering", 116 ], 117} 118 119java_library { 120 name: "networkstack-client", 121 sdk_version: "system_current", 122 srcs: [ 123 ":framework-annotations", 124 "src/android/net/IpMemoryStoreClient.java", 125 "src/android/net/ipmemorystore/**/*.java", 126 "src/android/net/networkstack/**/*.java", 127 "src/android/net/shared/**/*.java", 128 ], 129 static_libs: [ 130 "ipmemorystore-aidl-interfaces-java", 131 "networkstack-aidl-interfaces-java", 132 ], 133 visibility: [ 134 "//frameworks/base/packages/Tethering", 135 "//frameworks/base/services/net", 136 "//frameworks/opt/net/wifi/service", 137 "//packages/modules/NetworkStack", 138 ], 139} 140