package eu.hgross.blaubot.android.wifi; import eu.hgross.blaubot.core.BlaubotConstants; import eu.hgross.blaubot.core.acceptor.ConnectionMetaDataDTO; import eu.hgross.blaubot.ethernet.EthernetConnectionMetaDataDTO; /** * Used for the WifiAcceptor/Connector */ public class WifiConnectionMetaDataDTO extends EthernetConnectionMetaDataDTO { protected static final String ACCEPTOR_TYPE = BlaubotConstants.ACCEPTOR_TYPE_WIFI_AP; private static final String SSID_KEY = "SSID"; private static final String PSK_KEY = "PSK"; private static final String MAC_KEY = "MACADDR"; public WifiConnectionMetaDataDTO(ConnectionMetaDataDTO connectionMetaDataDTO) { super(); if(!connectionMetaDataDTO.getConnectionType().equals(ACCEPTOR_TYPE)) { throw new IllegalArgumentException("Acceptor types don't match: " + ACCEPTOR_TYPE + " != " + connectionMetaDataDTO.getConnectionType()); } metaData = connectionMetaDataDTO.getMetaData(); } public WifiConnectionMetaDataDTO(String ssid, String psk, String ipAddress, String macAddress, int acceptorPort) { super(ipAddress, acceptorPort); // override acceptor type setAcceptorType(ACCEPTOR_TYPE); // add wifi ssid and psk metaData.put(SSID_KEY, ssid); metaData.put(PSK_KEY, psk); metaData.put(MAC_KEY, macAddress); } /** * The ssid of the acceptors created access point * @return the ssid */ public String getSsid() { return metaData.get(SSID_KEY); } /** * The psk to access the ssid * @return the pre-shared key */ public String getPsk() { return metaData.get(PSK_KEY); } /** * The acceptor's device's mac address * @return the mac address */ public String getMacAddress() { return metaData.get(MAC_KEY); } }