• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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