diff --git a/src/main/java/com/threerings/presents/server/RegistrationManager.java b/src/main/java/com/threerings/presents/server/RegistrationManager.java new file mode 100644 index 000000000..69db0b0f1 --- /dev/null +++ b/src/main/java/com/threerings/presents/server/RegistrationManager.java @@ -0,0 +1,19 @@ +package com.threerings.presents.server; + +import com.threerings.presents.client.InvocationReceiver.Registration; +import com.threerings.presents.data.ClientObject; + +/** + * Adds receiver registrations for a client. Must be added to an invocation dispatcher to be used. + */ +public class RegistrationManager implements RegistrationProvider +{ + public void registerReceiver (ClientObject caller, Registration reg) + { + if (caller.receivers.containsKey(reg.getKey())) { + caller.updateReceivers(reg); + } else { + caller.addToReceivers(reg); + } + } +}