package com.android.server.wifi.anqp;
import java.net.ProtocolException;
import java.nio.ByteBuffer;
import java.util.Arrays;
/**
* The HS Capability list vendor specific ANQP Element,
* Wi-Fi Alliance Hotspot 2.0 (Release 2) Technical Specification - Version 5.00,
* section 4.2
*/
public class HSCapabilityListElement extends ANQPElement {
private final Constants.ANQPElementType[] mCapabilities;
public HSCapabilityListElement(Constants.ANQPElementType infoID, ByteBuffer payload)
throws ProtocolException {
super(infoID);
mCapabilities = new Constants.ANQPElementType[payload.remaining()];
int index = 0;
while (payload.hasRemaining()) {
int capID = payload.get() & Constants.BYTE_MASK;
Constants.ANQPElementType capability = Constants.mapHS20Element(capID);
if (capability == null) {
throw new ProtocolException("Unknown capability: " + capID);
}
mCapabilities[index++] = capability;
}
}
public Constants.ANQPElementType[] getCapabilities() {
return mCapabilities;
}
@Override
public String toString() {
return "HSCapabilityList{" +
"mCapabilities=" + Arrays.toString(mCapabilities) +
'}';
}
}