/**
* Copyright (C) 2011 Brian Ferris <bdferris@onebusaway.org>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onebusaway.webapp.gwt.where_library.rpc;
import java.util.Date;
import java.util.List;
import org.onebusaway.geospatial.model.CoordinatePoint;
import org.onebusaway.transit_data.model.AgencyWithCoverageBean;
import org.onebusaway.transit_data.model.ListBean;
import org.onebusaway.transit_data.model.RouteBean;
import org.onebusaway.transit_data.model.RoutesAndStopsBean;
import org.onebusaway.transit_data.model.RoutesBean;
import org.onebusaway.transit_data.model.SearchQueryBean;
import org.onebusaway.transit_data.model.StopBean;
import org.onebusaway.transit_data.model.StopScheduleBean;
import org.onebusaway.transit_data.model.StopWithArrivalsAndDeparturesBean;
import org.onebusaway.transit_data.model.StopsBean;
import org.onebusaway.transit_data.model.StopsForRouteBean;
import org.onebusaway.transit_data.model.oba.LocalSearchResult;
import org.onebusaway.transit_data.model.oba.MinTransitTimeResult;
import org.onebusaway.transit_data.model.oba.MinTravelTimeToStopsBean;
import org.onebusaway.transit_data.model.oba.TimedPlaceBean;
import org.onebusaway.transit_data.model.tripplanning.ConstraintsBean;
import org.onebusaway.transit_data.model.tripplanning.ItinerariesBean;
import org.onebusaway.transit_data.model.tripplanning.TransitShedConstraintsBean;
import org.onebusaway.transit_data.model.trips.TripDetailsBean;
import org.onebusaway.transit_data.model.trips.TripsForBoundsQueryBean;
import org.onebusaway.users.client.model.UserBean;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.RemoteService;
public interface WebappServiceAsync extends RemoteService {
public static final String SERVICE_PATH = "/services/webapp";
public static WebappServiceAsync SERVICE = GWT.create(WebappService.class);
public void getCurrentUser(AsyncCallback<UserBean> callback);
public void setDefaultLocationForUser(String locationName, double lat,
double lon, AsyncCallback<UserBean> callback);
public void clearDefaultLocationForUser(AsyncCallback<UserBean> callback);
public void getAgencies(AsyncCallback<List<AgencyWithCoverageBean>> callback);
public void getRoutes(SearchQueryBean query,
AsyncCallback<RoutesBean> callback);
public void getRoutesAndStops(SearchQueryBean query,
AsyncCallback<RoutesAndStopsBean> callback);
public void getRouteForId(String routeId, AsyncCallback<RouteBean> callback);
public void getStopsForRoute(String routeId,
AsyncCallback<StopsForRouteBean> callback);
public void getStops(SearchQueryBean query, AsyncCallback<StopsBean> callback);
public void getStop(String stopId, AsyncCallback<StopBean> callback);
public void getArrivalsByStopId(String stopId,
AsyncCallback<StopWithArrivalsAndDeparturesBean> callback);
public void getScheduleForStop(String stopId, Date date,
AsyncCallback<StopScheduleBean> schedule);
public void getTripsForBounds(TripsForBoundsQueryBean query,
AsyncCallback<ListBean<TripDetailsBean>> callback);
public void getTripsBetween(CoordinatePoint from, CoordinatePoint to,
long time, ConstraintsBean constraints,
AsyncCallback<ItinerariesBean> callback);
public void getMinTravelTimeToStopsFrom(CoordinatePoint location, long time,
TransitShedConstraintsBean constraints, int timeSegmentSize,
AsyncCallback<MinTransitTimeResult> callback);
public void getLocalPathsToStops(ConstraintsBean constraints,
MinTravelTimeToStopsBean travelTimes,
List<LocalSearchResult> localResults,
AsyncCallback<List<TimedPlaceBean>> callback);
}