package com.rapidftr.net;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import net.rim.device.api.system.CoverageInfo;
import net.rim.device.api.system.WLANInfo;
public class ConnectionFactory {
public HttpConnection openConnection(String url) throws IOException {
if (isNotConnected()) {
throw new IOException("Could not establish connection with host because all connectors are offline");
}
if (isWIFIAvailable()) {
url = url + ";interface=wifi";
}
return (HttpConnection) Connector.open(url, Connector.READ_WRITE, true);
}
public boolean isNotConnected() {
return !(isWIFIAvailable() || isDataServicesAvailable());
}
private boolean isDataServicesAvailable() {
return !CoverageInfo.isOutOfCoverage();
}
protected boolean isWIFIAvailable() {
return WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED;
}
}