Revamped distributed object creation. There was no particular reason to create
distributed objects by reflection since we don't allow clients to create objects, furthermore we needn't do it asynchronously. The object creation methods were moved into the server-side only interface and made "immediate", so the caller creates a derived instance of DObject and registers it with the system instead of creating it with a Subscriber callback. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4342 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -265,11 +265,10 @@ public class ClientManager
|
||||
clr.addResolutionListener(listener);
|
||||
_penders.put(username, clr);
|
||||
|
||||
// request that the appropriate client object be created by the
|
||||
// dobject manager which starts the whole business off
|
||||
@SuppressWarnings("unchecked") Class<ClientObject> cclass =
|
||||
(Class<ClientObject>)clr.getClientObjectClass();
|
||||
PresentsServer.omgr.createObject(cclass, clr);
|
||||
// create and register our client object and give it back to the
|
||||
// client resolver
|
||||
clr.objectAvailable(
|
||||
PresentsServer.omgr.registerObject(clr.createClientObject()));
|
||||
|
||||
} catch (Exception e) {
|
||||
// let the listener know that we're hosed
|
||||
|
||||
Reference in New Issue
Block a user