1 /*
2  * Copyright (C) 2014 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 package com.android.tv.settings.connectivity;
18 
19 import android.net.IpConfiguration;
20 import android.net.wifi.WifiManager;
21 
22 /**
23  * Provide unified interface for network configuration that works for both Wi-Fi and Ethernet.
24  */
25 public interface NetworkConfiguration {
26 
27     /**
28      * Set IpConfiguration
29      *
30      * @param configuration IpConfiguration to set
31      */
setIpConfiguration(IpConfiguration configuration)32     public void setIpConfiguration(IpConfiguration configuration);
33 
34     /**
35      * Get IpConfiguration
36      *
37      * @return IpConfiguration
38      */
getIpConfiguration()39     public IpConfiguration getIpConfiguration();
40 
41     /**
42      * Save current network configuration to system
43      *
44      * @param listener listener to notify the result
45      */
save(WifiManager.ActionListener listener)46     public void save(WifiManager.ActionListener listener);
47 
48     /**
49      * Get printable name for this network.
50      *
51      * @return Printable name
52      */
getPrintableName()53     public String getPrintableName();
54 
55 }
56