package com.netifera.platform.net.wifi.tools;
import com.netifera.platform.net.daemon.sniffing.IPacketModuleContext;
import com.netifera.platform.net.wifi.packets.Beacon;
import com.netifera.platform.net.wifi.packets.ManagementFrame;
import com.netifera.platform.util.addresses.MACAddress;
public class ManagementFrameProcessor {
private final WirelessScanner scanner;
ManagementFrameProcessor(WirelessScanner scanner) {
this.scanner = scanner;
}
void processFrame(ManagementFrame frame, IPacketModuleContext ctx) {
if(frame instanceof Beacon) {
processBeacon((Beacon) frame, ctx);
return;
}
}
private void processBeacon(Beacon frame, IPacketModuleContext ctx) {
String ssid = frame.ssid();
MACAddress bss = frame.source();
if(ssid != null)
scanner.discoverESS(bss, ssid, frame.capabilities().privacy(), ctx);
}
}