102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff/* 2651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff * Copyright (C) 2011 The Android Open Source Project 302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * 402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * Licensed under the Apache License, Version 2.0 (the "License"); 502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * you may not use this file except in compliance with the License. 602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * You may obtain a copy of the License at 702fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * 802fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * http://www.apache.org/licenses/LICENSE-2.0 902fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * 1002fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * Unless required by applicable law or agreed to in writing, software 1102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * distributed under the License is distributed on an "AS IS" BASIS, 1202fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * See the License for the specific language governing permissions and 1402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff * limitations under the License. 1502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff */ 1602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 1702fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriffpackage android.net.wifi; 1802fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 1902fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriffimport android.os.Parcelable; 2002fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriffimport android.os.Parcel; 2102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 2202fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff/** 23489a9d81fd1458940e1ec01ba0cef36843732479Irfan Sheriff * A class representing Wi-Fi Protected Setup 246f7d385d964949e507dcc9c88012372f48d0bce7Irfan Sheriff * 256f7d385d964949e507dcc9c88012372f48d0bce7Irfan Sheriff * {@see WifiP2pConfig} 2602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff */ 27651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriffpublic class WpsInfo implements Parcelable { 28651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff 29651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Push button configuration */ 30651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public static final int PBC = 0; 31651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Display pin method configuration - pin is generated and displayed on device */ 32651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public static final int DISPLAY = 1; 33651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Keypad pin method configuration - pin is entered on device */ 34651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public static final int KEYPAD = 2; 35651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Label pin method configuration - pin is labelled on device */ 36651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public static final int LABEL = 3; 37651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Invalid configuration */ 38651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public static final int INVALID = 4; 3902fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 406f7d385d964949e507dcc9c88012372f48d0bce7Irfan Sheriff /** Wi-Fi Protected Setup. www.wi-fi.org/wifi-protected-setup has details */ 41651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public int setup; 4202fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 43674ca8a1f47c07033645a1016e68a2e82597e2faVinit Deshpande /** Passed with pin method KEYPAD */ 4402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff public String BSSID; 4502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 466f7d385d964949e507dcc9c88012372f48d0bce7Irfan Sheriff /** Passed with pin method configuration */ 4702fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff public String pin; 4802fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 49651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public WpsInfo() { 50651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff setup = INVALID; 5102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff BSSID = null; 5202fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff pin = null; 5302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 5402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 5502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff public String toString() { 5602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff StringBuffer sbuf = new StringBuffer(); 57651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff sbuf.append(" setup: ").append(setup); 5802fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff sbuf.append('\n'); 5902fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff sbuf.append(" BSSID: ").append(BSSID); 6002fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff sbuf.append('\n'); 6102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff sbuf.append(" pin: ").append(pin); 6202fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff sbuf.append('\n'); 6302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff return sbuf.toString(); 6402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 6502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 66651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Implement the Parcelable interface */ 6702fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff public int describeContents() { 6802fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff return 0; 6902fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 7002fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 71651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /* Copy constructor */ 72651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public WpsInfo(WpsInfo source) { 7302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff if (source != null) { 7402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff setup = source.setup; 7502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff BSSID = source.BSSID; 7602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff pin = source.pin; 7702fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 7802fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 7902fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 80651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Implement the Parcelable interface */ 8102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff public void writeToParcel(Parcel dest, int flags) { 82651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff dest.writeInt(setup); 8302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff dest.writeString(BSSID); 8402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff dest.writeString(pin); 8502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 8602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 87651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff /** Implement the Parcelable interface */ 88651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public static final Creator<WpsInfo> CREATOR = 89651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff new Creator<WpsInfo>() { 90651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public WpsInfo createFromParcel(Parcel in) { 91651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff WpsInfo config = new WpsInfo(); 92651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff config.setup = in.readInt(); 9302fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff config.BSSID = in.readString(); 9402fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff config.pin = in.readString(); 9502fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff return config; 9602fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 9702fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff 98651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff public WpsInfo[] newArray(int size) { 99651cdfcbac6245f570475991588ddc2d30265e8dIrfan Sheriff return new WpsInfo[size]; 10002fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff } 10102fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff }; 10202fb46a297c4f645f2a30b574151401dd0978521Irfan Sheriff} 103