diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2020-02-18 00:47:21 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2020-02-18 10:49:59 +0900 |
commit | b4af853264c8d0083491e35b2e157355bf8919bd (patch) | |
tree | 175f96b1e33b7fe92e52ab6246415fa45b8dbab8 /common/networkstackclient/src/android | |
parent | 886e641f32fd6487fe3cecdf1c8f9a056237e030 (diff) |
Revert "Revert "Add DhcpLeaseCallbacks""
This reverts commit e8fff42022f8c22e84d51bc093189d469bdd9af1.
Bug: 135411507
Test: atest NetworkStackTests
Change-Id: I0609301d7b37309a35c764a7551b0ca93b3faeee
Diffstat (limited to 'common/networkstackclient/src/android')
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 } |