package com.netifera.platform.net.wifi.internal.sniffing; import com.netifera.platform.net.packets.IPacketHeader; import com.netifera.platform.net.packets.link.ARP; import com.netifera.platform.net.packets.tcpip.IPv4; import com.netifera.platform.net.packets.tcpip.IPv6; import com.netifera.platform.net.pcap.ICaptureInterface; import com.netifera.platform.net.sniffing.IPacketFilter; import com.netifera.platform.net.sniffing.IPacketSniffer; import com.netifera.platform.net.sniffing.IPacketSnifferHandle; import com.netifera.platform.net.sniffing.stream.IBlockSniffer; import com.netifera.platform.net.sniffing.stream.IBlockSnifferHandle; import com.netifera.platform.net.sniffing.stream.IStreamSniffer; import com.netifera.platform.net.sniffing.stream.IStreamSnifferHandle; import com.netifera.platform.net.sniffing.util.IBasicInterfaceManager; import com.netifera.platform.net.sniffing.util.ISniffingEngineEx; import com.netifera.platform.net.wifi.packets.WiFiFrame; import com.netifera.platform.net.wifi.pcap.IWirelessCaptureInterface; public class WifiInterfaceManager implements IBasicInterfaceManager { private final IBasicInterfaceManager basicManager; private final WifiFrameManager wifiManager; private final IWirelessCaptureInterface captureInterface; WifiInterfaceManager(IBasicInterfaceManager basicManager, ISniffingEngineEx sniffingEngine, IWirelessCaptureInterface captureInterface) { this.basicManager = basicManager; wifiManager = new WifiFrameManager(sniffingEngine, captureInterface); this.captureInterface = captureInterface; } public ICaptureInterface getInterface() { return captureInterface; } IPacketSnifferHandle<WiFiFrame> createWifiHandle(IPacketFilter filter, IPacketSniffer<WiFiFrame> sniffer) { return new WifiSnifferHandle(wifiManager, filter, sniffer); } public IPacketSnifferHandle<ARP> createArpHandle(IPacketFilter filter, IPacketSniffer<ARP> sniffer) { return basicManager.createArpHandle(filter, sniffer); } public IPacketSnifferHandle<IPv4> createIPv4Handle(IPacketFilter filter, IPacketSniffer<IPv4> sniffer) { return basicManager.createIPv4Handle(filter, sniffer); } public IPacketSnifferHandle<IPv6> createIPv6Handle(IPacketFilter filter, IPacketSniffer<IPv6> sniffer) { return basicManager.createIPv6Handle(filter, sniffer); } public IPacketSnifferHandle<IPacketHeader> createRawHandle( IPacketFilter filter, IPacketSniffer<IPacketHeader> sniffer) { return basicManager.createRawHandle(filter, sniffer); } public IBlockSnifferHandle createTCPBlockHandle(IPacketFilter filter, IBlockSniffer sniffer) { return basicManager.createTCPBlockHandle(filter, sniffer); } public IStreamSnifferHandle createTCPStreamHandle(IPacketFilter filter, IStreamSniffer sniffer) { return basicManager.createTCPStreamHandle(filter, sniffer); } public void dispose() { basicManager.dispose(); } }