1 /* 2 * Copyright (C) 2016 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.server.wifi.hotspot2; 18 19 import com.android.server.wifi.hotspot2.anqp.ANQPElement; 20 import com.android.server.wifi.hotspot2.anqp.Constants; 21 22 import java.util.HashMap; 23 import java.util.Map; 24 25 /** 26 * This class carries the response of an ANQP request. 27 */ 28 public class AnqpEvent { 29 private static final String TAG = "AnqpEvent"; 30 private static final Map<String, Constants.ANQPElementType> sWpsNames = new HashMap<>(); 31 32 static { 33 sWpsNames.put("anqp_venue_name", Constants.ANQPElementType.ANQPVenueName); 34 sWpsNames.put("anqp_roaming_consortium", Constants.ANQPElementType.ANQPRoamingConsortium); 35 sWpsNames.put("anqp_ip_addr_type_availability", 36 Constants.ANQPElementType.ANQPIPAddrAvailability); 37 sWpsNames.put("anqp_nai_realm", Constants.ANQPElementType.ANQPNAIRealm); 38 sWpsNames.put("anqp_3gpp", Constants.ANQPElementType.ANQP3GPPNetwork); 39 sWpsNames.put("anqp_domain_name", Constants.ANQPElementType.ANQPDomName); 40 sWpsNames.put("hs20_operator_friendly_name", Constants.ANQPElementType.HSFriendlyName); 41 sWpsNames.put("hs20_wan_metrics", Constants.ANQPElementType.HSWANMetrics); 42 sWpsNames.put("hs20_connection_capability", Constants.ANQPElementType.HSConnCapability); 43 sWpsNames.put("hs20_osu_providers_list", Constants.ANQPElementType.HSOSUProviders); 44 } 45 46 /** 47 * Bssid of the access point. 48 */ 49 private final long mBssid; 50 51 /** 52 * Map of ANQP element type to the data retrieved from the access point. 53 */ 54 private final Map<Constants.ANQPElementType, ANQPElement> mElements; 55 AnqpEvent(long bssid, Map<Constants.ANQPElementType, ANQPElement> elements)56 public AnqpEvent(long bssid, Map<Constants.ANQPElementType, ANQPElement> elements) { 57 mBssid = bssid; 58 mElements = elements; 59 } 60 61 /** 62 * Get the bssid of the access point from which this ANQP result was created. 63 */ getBssid()64 public long getBssid() { 65 return mBssid; 66 } 67 68 /** 69 * Get the map of ANQP elements retrieved from the access point. 70 */ getElements()71 public Map<Constants.ANQPElementType, ANQPElement> getElements() { 72 return mElements; 73 } 74 75 } 76