diff --git a/src/java/com/threerings/crowd/server/CrowdServer.java b/src/java/com/threerings/crowd/server/CrowdServer.java index 4786a9149..2b3bb35d1 100644 --- a/src/java/com/threerings/crowd/server/CrowdServer.java +++ b/src/java/com/threerings/crowd/server/CrowdServer.java @@ -25,6 +25,8 @@ import java.util.Iterator; import com.threerings.util.Name; +import com.threerings.presents.dobj.RootDObjectManager; +import com.threerings.presents.server.InvocationManager; import com.threerings.presents.server.PresentsServer; import com.threerings.crowd.Log; @@ -62,7 +64,7 @@ public class CrowdServer extends PresentsServer clmgr.setClientResolverClass(CrowdClientResolver.class); // create our place registry - plreg = new PlaceRegistry(invmgr, omgr); + plreg = createPlaceRegistry(invmgr, omgr); // create our access control implementation actrl = createAccessControl(); @@ -76,6 +78,15 @@ public class CrowdServer extends PresentsServer Log.info("Crowd server initialized."); } + /** + * Allow derived instances to create a custom {@link PlaceRegistry}. + */ + protected PlaceRegistry createPlaceRegistry ( + InvocationManager invmgr, RootDObjectManager omgr) + { + return new PlaceRegistry(invmgr, omgr); + } + /** * Creates the {@link AccessControl} instance used to limit access to * system features. The default implementation refuses access to