package pl.edu.agh.service;
import pl.edu.agh.jsonrpc.JSONRPCException;
import pl.edu.agh.jsonrpc.RawDataSocket;
import pl.edu.agh.model.RoutingResult;
import pl.edu.agh.model.SimpleLocationInfo;
import pl.edu.agh.model.TrafficData;
public interface TrafficService {
public static final String SERVICE_NAME = "trafficService";
public static final String GET_TRAFFIC_DATA_METHOD = "getData";
public static final String ASYNC_TRAFFIC_DATA_EVENT = "asyncDataEvent";
public static final String CALCULATE_ROUTE_METHOD = "calcRoute";
public static final String NO_START_ROUTE_ERROR = "noStartRoute";
public static final String NO_END_ROUTE_ERROR = "noEndRoute";
public static final String CALCULATING_ROUTE_ERROR = "calculatingError";
public void configAdHoc(RawDataSocket socket, AsyncDataListener listener);
public TrafficData getTrafficData(SimpleLocationInfo location, double radius) throws JSONRPCException;
public TrafficData getTrafficDataViaAdHoc(SimpleLocationInfo location, double radius) throws JSONRPCException;
public RoutingResult calculateRoute(SimpleLocationInfo start, SimpleLocationInfo end, boolean useTrafficDataToRoute)
throws JSONRPCException;
}