package io.evercam.network;
import io.evercam.network.discovery.GatewayDevice;
import io.evercam.network.discovery.NatMapEntry;
import java.util.ArrayList;
public abstract class NatRunnable implements Runnable {
String routerIp;
public NatRunnable(String routerIp) {
this.routerIp = routerIp;
}
@Override
public void run() {
try {
GatewayDevice gatewayDevice = new GatewayDevice(routerIp);
onFinished(gatewayDevice.getNatTableArray());
} catch (Exception e) {
onFinished(null);
if (Constants.ENABLE_LOGGING) {
e.printStackTrace();
}
}
}
/**
* Callback for NAT discovery results
*
* Check if mapEntries is null before invoking it
*
* @param mapEntries
* the discovered NAT table
*/
public abstract void onFinished(ArrayList<NatMapEntry> mapEntries);
}