If we're going to do this, I guess we're going to do it properly. Nixed the

notion of a global group (though we implicitly define one in InvocationCodes)
added a mechanism for directors (which generally handle the client side of
invocation services) to register their interest in bootstrap service groups so
that the whole goddamned complex business can happen magically behind the
scenes.

If you instantiate a director, it will automatically register interest in the
service group it needs and everything will work. If you don't use the director
code, you don't get the services and you can safely exclude all of that code
from your client even though the services are still in use on the server (and
presumably used by some other types of clients).

This is going to break all the builds, which I'll soon fix. Then I'll go write
all this in ActionScript. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4552 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2007-02-11 01:17:30 +00:00
parent 9afcc526a0
commit ebc99935d5
25 changed files with 406 additions and 358 deletions
@@ -100,6 +100,11 @@ public class JabberClient
return _ctx;
}
// documentation inherited from interface SessionObserver
public void clientWillLogon (Client client)
{
}
// documentation inherited from interface SessionObserver
public void clientDidLogon (Client client)
{
@@ -83,6 +83,10 @@ public class TestClient
return _main == Thread.currentThread();
}
public void clientWillLogon (Client client)
{
}
public void clientDidLogon (Client client)
{
Log.info("Client did logon [client=" + client + "].");
@@ -67,6 +67,11 @@ public class TestClient
}
}
public void clientWillLogon (Client client)
{
client.addServiceGroup("test");
}
public void clientDidLogon (Client client)
{
Log.info("Client did logon [client=" + client + "].");
@@ -35,7 +35,7 @@ public class TestServer extends PresentsServer
super.init();
// register our test provider
invmgr.registerDispatcher(new TestDispatcher(new TestManager()), true);
invmgr.registerDispatcher(new TestDispatcher(new TestManager()), "test");
// create a test object
testobj = omgr.registerObject(new TestObject());