diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-02-12 07:12:43 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-02-12 07:12:43 +0000 |
commit | 3bd658a66dce91cbee6d4c752bcafb95e5847b96 (patch) | |
tree | 2c7a9712a18f1ef158c6c48501f6c9e28d0bee36 /common/networkstackclient/src | |
parent | 09e2804378f3b78177d1636621568d1e1a073cd0 (diff) | |
parent | 1852ead9d9039afdd39036d93fed0c5a30ced3dc (diff) |
Merge "Add DhcpLeaseCallbacks" am: 1852ead9d9
Change-Id: I514012708720cc92f52e8545df8348a6b81d67ba
Diffstat (limited to 'common/networkstackclient/src')
3 files changed, 70 insertions, 3 deletions
diff --git a/common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl b/common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl new file mode 100644 index 0000000..ba3390d --- /dev/null +++ b/common/networkstackclient/src/android/net/dhcp/DhcpLeaseParcelable.aidl @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing perNmissions and + * limitations under the License. + */ + +package android.net.dhcp; + +parcelable DhcpLeaseParcelable { + // Client ID of the lease; may be null. + byte[] clientId; + // MAC address provided by the client. + byte[] hwAddr; + // IPv4 address of the lease, in network byte order. + int netAddr; + // Prefix length of the lease (0-32) + int prefixLength; + // Expiration time of the lease, to compare with SystemClock.elapsedRealtime(). + long expTime; + // Hostname provided by the client, if any, or null. + String hostname; +}
\ No newline at end of file diff --git a/common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl b/common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl new file mode 100644 index 0000000..cf2dfa8 --- /dev/null +++ b/common/networkstackclient/src/android/net/dhcp/IDhcpLeaseCallbacks.aidl @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2020, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing perNmissions and + * limitations under the License. + */ + +package android.net.dhcp; + +import android.net.dhcp.DhcpLeaseParcelable; + +oneway interface IDhcpLeaseCallbacks { + /** + * Called when a lease is committed or released on the DHCP server. + * + * <p>This only reports lease changes after assigning a lease, or after releasing a lease + * following a DHCPRELEASE: this callback will not be fired when a lease just expires. + * @param newLeases The new list of leases tracked by the server. + */ + void onLeasesChanged(in List<DhcpLeaseParcelable> newLeases); +}
\ No newline at end of file diff --git a/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl b/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl index 559433b..dd93174 100644 --- a/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl +++ b/common/networkstackclient/src/android/net/dhcp/IDhcpServer.aidl @@ -18,6 +18,7 @@ package android.net.dhcp; import android.net.INetworkStackStatusCallback; import android.net.dhcp.DhcpServingParamsParcel; +import android.net.dhcp.IDhcpLeaseCallbacks; /** @hide */ oneway interface IDhcpServer { @@ -26,7 +27,11 @@ oneway interface IDhcpServer { const int STATUS_INVALID_ARGUMENT = 2; const int STATUS_UNKNOWN_ERROR = 3; - void start(in INetworkStackStatusCallback cb); - void updateParams(in DhcpServingParamsParcel params, in INetworkStackStatusCallback cb); - void stop(in INetworkStackStatusCallback cb); + void start(in INetworkStackStatusCallback cb) = 0; + void startWithCallbacks(in INetworkStackStatusCallback statusCb, + in IDhcpLeaseCallbacks leaseCb) = 3; + void updateParams(in DhcpServingParamsParcel params, in INetworkStackStatusCallback cb) = 1; + void stop(in INetworkStackStatusCallback cb) = 2; + + // Next available ID: 4 } |