// // $Id: LocationDispatcher.java,v 1.2 2002/08/20 19:38:14 mdb Exp $ package com.threerings.crowd.server; import com.threerings.crowd.client.LocationService; import com.threerings.crowd.client.LocationService.MoveListener; import com.threerings.crowd.data.LocationMarshaller; import com.threerings.crowd.data.PlaceConfig; import com.threerings.presents.client.Client; import com.threerings.presents.data.ClientObject; import com.threerings.presents.data.InvocationMarshaller; import com.threerings.presents.server.InvocationDispatcher; import com.threerings.presents.server.InvocationException; /** * Dispatches requests to the {@link LocationProvider}. * *
Generated from
* $Id: LocationDispatcher.java,v 1.2 2002/08/20 19:38:14 mdb Exp $
*
*/
public class LocationDispatcher extends InvocationDispatcher
{
/**
* Creates a dispatcher that may be registered to dispatch invocation
* service requests for the specified provider.
*/
public LocationDispatcher (LocationProvider provider)
{
this.provider = provider;
}
// documentation inherited
public InvocationMarshaller createMarshaller ()
{
return new LocationMarshaller();
}
// documentation inherited
public void dispatchRequest (
ClientObject source, int methodId, Object[] args)
throws InvocationException
{
switch (methodId) {
case LocationMarshaller.MOVE_TO:
((LocationProvider)provider).moveTo(
source,
((Integer)args[0]).intValue(), (MoveListener)args[1]
);
return;
default:
super.dispatchRequest(source, methodId, args);
}
}
}