diff --git a/build.xml b/build.xml index 5118b5b50..1b4d7643b 100644 --- a/build.xml +++ b/build.xml @@ -245,6 +245,7 @@ + @@ -255,9 +256,14 @@ + - + + + + +{ + /** + * Creates a dispatcher that may be registered to dispatch invocation + * service requests for the specified provider. + */ + public RegistrationDispatcher (RegistrationProvider provider) + { + this.provider = provider; + } + + @Override + public RegistrationMarshaller createMarshaller () + { + return new RegistrationMarshaller(); + } + + @Override + public void dispatchRequest ( + ClientObject source, int methodId, Object[] args) + throws InvocationException + { + switch (methodId) { + case RegistrationMarshaller.REGISTER_RECEIVER: + ((RegistrationProvider)provider).registerReceiver( + source, (InvocationReceiver.Registration)args[0] + ); + return; + + default: + super.dispatchRequest(source, methodId, args); + return; + } + } +} diff --git a/src/main/java/com/threerings/presents/server/RegistrationProvider.java b/src/main/java/com/threerings/presents/server/RegistrationProvider.java new file mode 100644 index 000000000..e81474ba2 --- /dev/null +++ b/src/main/java/com/threerings/presents/server/RegistrationProvider.java @@ -0,0 +1,20 @@ +package com.threerings.presents.server; + +import javax.annotation.Generated; + +import com.threerings.presents.client.InvocationReceiver; +import com.threerings.presents.client.RegistrationService; +import com.threerings.presents.data.ClientObject; + +/** + * Defines the server-side of the {@link RegistrationService}. + */ +@Generated(value={"com.threerings.presents.tools.cpp.GenCPPServiceTask"}, + comments="Derived from RegistrationService.java.") +public interface RegistrationProvider extends InvocationProvider +{ + /** + * Handles a {@link RegistrationService#registerReceiver} request. + */ + void registerReceiver (ClientObject caller, InvocationReceiver.Registration arg1); +} diff --git a/src/main/java/com/threerings/presents/tools/cpp/GenCPPReceiverTask.java b/src/main/java/com/threerings/presents/tools/cpp/GenCPPReceiverTask.java index c2b3e06f6..c2a1eefbd 100644 --- a/src/main/java/com/threerings/presents/tools/cpp/GenCPPReceiverTask.java +++ b/src/main/java/com/threerings/presents/tools/cpp/GenCPPReceiverTask.java @@ -76,7 +76,7 @@ public class GenCPPReceiverTask extends GenReceiverTask protected static final String RECEIVER_HEADER_TMPL = "com/threerings/presents/tools/cpp/receiver_h.mustache"; protected static final String DECODER_HEADER_TMPL = - "com/threerings/corpse/tools/decoder_h.mustache"; + "com/threerings/presents/tools/cpp/decoder_h.mustache"; protected static final String DECODER_CPP_TMPL = "com/threerings/presents/tools/cpp/decoder_cpp.mustache"; }