blob: 2eb36a22de5512015eff33addfaa24853e0b864b [file] [log] [blame]
/*
* Copyright (C) 2017 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 permissions and
* limitations under the License.
*/
package android.net.ip;
import android.content.Context;
import android.net.INetd;
import android.net.LinkProperties;
import android.net.Network;
import android.net.StaticIpConfiguration;
import android.net.apf.ApfCapabilities;
import android.net.util.NetdService;
import android.os.INetworkManagementService;
import android.os.ServiceManager;
import android.net.apf.ApfCapabilities;
import com.android.internal.annotations.VisibleForTesting;
/*
* TODO: Delete this altogether in favor of its renamed successor: IpClient.
*
* @hide
*/
public class IpManager extends IpClient {
public static class ProvisioningConfiguration extends IpClient.ProvisioningConfiguration {
public ProvisioningConfiguration(IpClient.ProvisioningConfiguration ipcConfig) {
super(ipcConfig);
}
public static class Builder extends IpClient.ProvisioningConfiguration.Builder {
@Override
public Builder withoutIPv4() {
super.withoutIPv4();
return this;
}
@Override
public Builder withoutIPv6() {
super.withoutIPv6();
return this;
}
@Override
public Builder withoutIpReachabilityMonitor() {
super.withoutIpReachabilityMonitor();
return this;
}
@Override
public Builder withPreDhcpAction() {
super.withPreDhcpAction();
return this;
}
@Override
public Builder withPreDhcpAction(int dhcpActionTimeoutMs) {
super.withPreDhcpAction(dhcpActionTimeoutMs);
return this;
}
// No Override; locally defined type.
public Builder withInitialConfiguration(InitialConfiguration initialConfig) {
super.withInitialConfiguration((IpClient.InitialConfiguration) initialConfig);
return this;
}
@Override
public Builder withStaticConfiguration(StaticIpConfiguration staticConfig) {
super.withStaticConfiguration(staticConfig);
return this;
}
@Override
public Builder withApfCapabilities(ApfCapabilities apfCapabilities) {
super.withApfCapabilities(apfCapabilities);
return this;
}
@Override
public Builder withProvisioningTimeoutMs(int timeoutMs) {
super.withProvisioningTimeoutMs(timeoutMs);
return this;
}
@Override
public Builder withNetwork(Network network) {
super.withNetwork(network);
return this;
}
@Override
public Builder withDisplayName(String displayName) {
super.withDisplayName(displayName);
return this;
}
@Override
public ProvisioningConfiguration build() {
return new ProvisioningConfiguration(super.build());
}
}
}
public static ProvisioningConfiguration.Builder buildProvisioningConfiguration() {
return new ProvisioningConfiguration.Builder();
}
public static class InitialConfiguration extends IpClient.InitialConfiguration {
}
public static class Callback extends IpClient.Callback {
}
public IpManager(Context context, String ifName, Callback callback) {
super(context, ifName, callback);
}
public void startProvisioning(ProvisioningConfiguration req) {
super.startProvisioning((IpClient.ProvisioningConfiguration) req);
}
}