Commit Graph

241 Commits

Author SHA1 Message Date
Michael Bayne 1eefc50828 Common problem: place managers register dispatchers when started up and forget
to clear them when they shutdown. Solution: add a mechanism for registering
dispatchers such that they are auto-cleared when the manager shuts down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-20 17:44:03 +00:00
Ray Greenwell bc6929d239 Actually, let's make a whitelist the valid modes.
YAGNI code, no ability to break-out the whitelist.
No other game of ours uses other valid modes, does it?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5701 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 23:36:03 +00:00
Michael Bayne 688f2580ed Varargified log calls.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5697 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 00:02:19 +00:00
Michael Bayne 1f6f8edeb9 Allow custom BodyLocators to be provided to different PlaceManagers. Twisty
maze of passages!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5655 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 03:08:01 +00:00
Michael Bayne 9a4f2edc5d We can just inject the injector.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5653 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-13 02:51:34 +00:00
Michael Bayne a34f1592f4 Code hygiene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5626 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-08 22:16:23 +00:00
Michael Bayne 8fcfa6e211 Added bodyWillLeave() to go with bodyWillEnter() for great symmetry and
justice. Cleaned up some other stuff in the process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5620 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-06 03:08:21 +00:00
Par Winzell fb4a28b2ed Give Bureaus their own client object subclass. It does nothing at the moment, but we need it to be a distinct type for access control purposes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5600 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 15:36:46 +00:00
Michael Bayne 82da1521f3 I swear this was generating unchecked type warnings before, but it seems not to
be now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5596 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 01:21:45 +00:00
Michael Bayne f6f5a86db0 Here too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5594 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 01:12:06 +00:00
Michael Bayne 4e01505dc5 We need the body here as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5588 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-10 01:05:49 +00:00
Michael Bayne 49f2bdb493 Extract occupant info adding into an overridable method so that derived classes
can both participate in the combined event that adds an occupant's info and can
coordinate whether their info is added before or after.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5586 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-10 01:04:05 +00:00
Michael Bayne 343a2a7026 Nix unread variable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5582 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-08 19:01:17 +00:00
Michael Bayne 92713ee4b8 Let's do our adding in a single event.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5580 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-05 22:03:04 +00:00
Michael Bayne 74bccd4223 Clean up occupant info creation and whatnot. Now we have a nice calldown method
bodyWillEnter() where the PlaceManager can do whatever they want when the body
enters, before or after the occupant info creation process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5579 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-05 22:01:25 +00:00
Michael Bayne c793aff440 Unused import nixage.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5578 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-05 03:08:57 +00:00
Michael Bayne c116f93a7b Fiddlesticks. Let's unify these update methods and do away entirely with the
old dangerous way of updating. We will now use only the timeless way.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5574 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-05 00:51:37 +00:00
Michael Bayne 62f393db95 Hold the phone. I already wrote this code. Sheesh.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5573 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-04 23:29:42 +00:00
Michael Bayne 420333df51 Made it easier to update occupant info the correct way in hopes of discouraging
people from updating it the wrong way.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5572 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-04 23:28:50 +00:00
Charlie Groves a5a8272900 Cancel the shutdowner at the end of didShutdown in case shutting down emptied the room and caused it to schedule.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5522 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-07 22:44:25 +00:00
Michael Bayne b81ccde75b ClientFactory -> SessionFactory, etc.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5509 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-06 18:24:44 +00:00
Michael Bayne c69630b7e0 PresentsClient -> PresentsSession (Jamie's suggestion) and associated changes
on down the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5508 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-06 18:04:42 +00:00
Michael Bayne a3e74276f5 Implement these listeners in helper classes rather than in ourselves where they
become undesirably part of our public interface.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5485 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-31 17:33:26 +00:00
Dave Hoover da52d29a0a Javadoc nitpickery
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5478 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:37:28 +00:00
Michael Bayne 6fd2882fa9 Actually we need to set up our local attribute here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5476 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 20:02:51 +00:00
Michael Bayne d1be746bdb Created ClientLocal and BodyLocal which is where we'll track server-only
information.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5474 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 17:55:17 +00:00
Michael Bayne de6558a25b Guard against naughtiness, intentional and not.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5446 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-14 23:16:39 +00:00
Michael Bayne f1b1a06834 Updated services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5436 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 22:46:24 +00:00
Michael Bayne 97b6ea79c5 Moved BodyObject.username down to ClientObject.username so that one can look up
the PresentsClient given a ClientObject.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5435 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 22:45:58 +00:00
Dave Hoover 8856120403 Import cleanups
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:29:59 +00:00
Dave Hoover 7ee6ace683 Javadoc warnings cleanups.
Note: this involves generated code from a samskivert patch I only just sent to mdb,
but he's in a meeting, so that won't show up for a little.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5369 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-12 17:59:26 +00:00
Charlie Groves 80ca1dbc64 Fix broken javadoc links and params to kill my Eclipse warnings. This includes
importing receivers from their senders to satisfy their links.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5333 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-21 01:46:51 +00:00
Andrzej Kapolka b323bf6bf9 I'm not exactly sure, but it looks like this should be flagged as
a singleton.  At any rate, it fixes Project X, which we're 
supposed to demo soon.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5317 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-12 20:50:02 +00:00
Par Winzell 3b032cacac Move PlayManager*.java from crowd.server to parlor.server.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5280 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-31 17:28:09 +00:00
Par Winzell b6b9786e17 We want to share delegates between GameManager games and AVRGameManager games, but AVRGameManager extends PlaceManager directly. This is the proposed solution: a PlayManager interface, and an associated PlaceManagerDelegate. I'm open for suggestions for better names.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5279 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-31 05:32:07 +00:00
Michael Bayne bda7d04f4c Peskily, Eclipse and javac disagreed about whether this unchecked suppression
was necessary (javac claimed it was, Eclipse claimed it wasnt'). Fortunately,
we can do everything with Class<FooClient> methods that avoid the need for
supression entirely.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5275 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 13:05:16 +00:00
Michael Bayne 725f656197 Fixed a bunch of type safety bits pointed out by the latest version of Eclipse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 12:58:51 +00:00
Michael Bayne 4a9265410a Inject dependencies into delegates supplied to PlaceRegistry.createPlace().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5258 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-23 12:15:52 +00:00
Michael Bayne c743432676 More style changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 13:02:13 +00:00
Michael Bayne 09f8a25876 More style-related cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5247 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 12:51:17 +00:00
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 e41dda3018 Style fixes and import pruning. Beware, CheckStyle is (finally) coming to town.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5240 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-18 18:32:59 +00:00
Michael Bayne 531f0c9ffe On second thought, let's just type our delegate operations and only apply them
to delegates that can handle them. Turns out we already even had this option in
the PlaceController.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5224 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 13:36:52 +00:00
Michael Bayne 950fb6c4aa Detect programmer error in delegate usage as early as possible and fail.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5223 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 13:19:21 +00:00
Michael Bayne 2cfb546015 Nix our legacy static references as we have those in our leaf projects now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5214 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-30 14:33:06 +00:00
Michael Bayne 6a9723fb11 Extract BodyObject location into a separate service that can be customized by
extending systems and depended upon by services that need to lookup bodies.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5212 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 14:11:42 +00:00
Michael Bayne 34439e3461 Unixed import nixage, service regen, some dependency injection.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5205 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 12:42:06 +00:00
Jamie Doornbos 3726a408fa Fix error introduced in revision 5170
Place manager delegates now store their own references to the omgr and invmgr 
and set the members via the init function. This is fine, but due to the order
of calling PlaceManager's init and addDelegate, the PlaceManagerDelegate.init 
was receiving null values. 

The fix is to provied a more consistent guarantee about the relationship
between init and addDelegate. After both have been called (regardless of
order), we guarantee that both init and didInit have been called on all 
delegates.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5177 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-10 18:24:33 +00:00
Michael Bayne 0128f6525a Modify PresentsClient and ClientResolver creation so that we can inject
dependencies into both. Moved the legacy statics into CrowdServer so that at
least Presents can be pure (we should probably eventually move them into
BangServer and PiracyServer and fix everything else). Added some useful manager
references to PlaceManager delegate (_omgr, _invmgr) that handle the majority
of their service needs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5170 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 20:23:49 +00:00
Michael Bayne bf77cb1520 Moved location services implementation into LocationManager so that
LocationProvider can be an interface like its brothers and sisters.

Modified the place registry to create PlaceManager instances using the injector
so that we can inject dependencies into managers. Also modified the custom
classloader functionality so that it can/will circumvent this process
entirely. It's not possible to inject using a custom classloader and one
certainly would not want to do so.

Unfortunately this means we can't inject some basic managers into PlaceManager
because it needs to work for games loaded into a sandboxed classloader, but the
big win is that in everything other than GameManager and PlaceManager, we can
inject to our heart's content.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5168 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-08 17:18:26 +00:00