Commit Graph

28 Commits

Author SHA1 Message Date
Dave Hoover 6b1d65553f And finally, narya gets the imports/overrides/regen love.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-18 23:20:17 +00:00
Michael Bayne c2d22b1e24 Use injected dependencies, regened services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5206 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 12:43:34 +00:00
Michael Bayne 3aefc93838 Holy fruity beverage Batman! I'm taking the plunge and switching to Guice for
dependency resolution and management. Things are currently in a state of
transition, but the important patterns have been established and I'll aim to
sweep through all of Narya, Nenya and Vilya in the near future and do
everything properly.

Going through the other million-odd lines of code we have scattered across our
various projects that use these libraries is not something I plan to do, so
we'll be maintaining backward compatibility with the old static member method,
though I hope to strive toward eradication of that usage entirely in MSOY while
we still have a fighting chance.

Given that some of our projects will continue to use the static member method
in perpetuity, I'm not going to @Deprecate those fields because that would fill
their logs with so much spam that they'd have to turn off deprecation warnings
which would make life worse for them. So instead we'll settle for the big scary
comment warning people away from the old bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 17:44:48 +00:00
Michael Bayne 919112cf88 Switch to new samskivert logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 19:25:38 +00:00
Michael Bayne ebc99935d5 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
2007-02-11 01:17:30 +00:00
Michael Bayne bc9f53396c 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
2006-08-23 23:46:48 +00:00
Michael Bayne 4894d1cfde Annoyingly, ClientObserver.clientDidLogoff() is called before the client's
inner bits are all clear and ready to try logging on to a new server. We
specifically wait to call clientLogonFailed() until after everything is
cleared, but I don't want to change the behavior of clientDidLogoff() for fear
that any one of the zillion directors depends on something being around during
that call.

Instead I added another callback clientDidClear() that is called when a
successful session is fulled cleared out (basically when we're not calling
clientLogonFailed()) so that entities that are waiting for a logoff to finish
so that they can logon somewhere else have a clean way of doing so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4255 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-07 04:02:42 +00:00
Michael Bayne 77290fc1a6 Fixed type-unsafety and deprecation bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4247 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 18:59:31 +00:00
Michael Bayne c0a244cb8d Hold onto your hats kids, it's the biggest little refactor this side of the
Pecos. I'll sort out the per-project niggling bits in just a moment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4209 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 18:12:45 +00:00
Michael Bayne 77adfc15ec Revamped the basic Presents client to support attempts to connect to the server
on multiple ports, falling back from one to the next as appropriate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-30 22:12:15 +00:00
Elizabeth Fong eada0b7f50 r58@sally: elizabeth | 2005-10-25 03:59:59 -0700
Changed things around a bit to have the cheesy JabberChat run out of the box:
 * ChatDirector no longer freaks out when given null message bundles/managers.
 * MiCasa's ChatPanel is marked with a TODO item to stop passing in null
   messagebundles and messagemanagers to ChatDirector.
 * JabberApp and JabberClient have been adjusted to allow the user to specify
   which chatroom to join from the command line; I plan to implement this using
   BootstrapData when time permits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-25 11:13:51 +00:00
Michael Bayne eba31091bb Switch the default port for the Presents system to the DirectPlay port.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3656 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 19:26:05 +00:00
Michael Bayne 9d2505c115 Added a simple chat server test framework onto which I will built a
JME-based client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3512 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-20 22:30:19 +00:00
Michael Bayne 2198748dcb Brought the tests back into the land of compilability.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-17 01:54:54 +00:00
Michael Bayne a9720fd905 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:21:06 +00:00
Michael Bayne d4595269d5 Brought things back up to date; pruned imports; made Eclipse suggested
cleanups.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2972 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:51:26 +00:00
Walter Korman ac42d81217 Added clearPlaceView().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1937 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-12 22:55:15 +00:00
Walter Korman 1ee866e1e5 Added clientObjectDidChange() implementation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1766 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-01 04:44:40 +00:00
Walter Korman f6fedf5bdf Renamed OccupantManager to OccupantDirector.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1239 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 14:38:46 +00:00
Michael Bayne b486315e47 Revamp! Modified the way configuration is handled.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-28 22:32:34 +00:00
Michael Bayne 635e9cf930 addObserver -> addClientObserver.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@982 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 20:47:11 +00:00
Michael Bayne 99a0730696 First pass at moving all of Narya test stuff into the tests directory.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@598 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 02:07:36 +00:00
Michael Bayne 8a4c46badc The first great Three Rings renaming. Cocktail changed to Narya, Cher
changed to Presents and Party changed to Crowd. Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@431 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 04:07:54 +00:00
Michael Bayne c9dfd6ef45 Added code to handle displaying the user interface for a place once we
have actually entered the place. It's not tied to a particular UI toolkit
and this requires coordination between the client implementation and the
place implementation, but that seems better than the alternative of tying
the Parlor code to Swing or similar.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@408 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 17:20:03 +00:00
Michael Bayne 027bb29769 Created fooCodes interfaces to go along with invocation service
packages. These contain all the message codes as well as error response
codes that are used by a particular invocation service.

Also changed client.LocationManager to client.LocationDirector and
chat.ChatManager to chat.ChatDirector to go along with the new philosophy
of naming the client-side managing entity for an invocation service a
director.

Also elimitated cocktail.util.Codes since it's no longer used as a central
repository for codes (instead they are in InvocationCodes and its
derivatives).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-01 22:14:55 +00:00
Michael Bayne 829de84fb6 Updated test clients.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@280 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-20 22:10:49 +00:00
Michael Bayne a643dfd7e3 Further implementation of body/place/chat stuff. Mostly location related.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@109 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 21:14:27 +00:00
Michael Bayne 1f610d73e9 Log class jockeying; implemented a test client at the party layer that
does proper context object creation; small progress on locmgr stuff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@95 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-20 23:23:50 +00:00