Commit Graph

93 Commits

Author SHA1 Message Date
Michael Bayne 88a4dc157a Fixed up the didShutdown() business which was happening twice; moved the
delegation into the base callback methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1001 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-14 18:08:53 +00:00
Michael Bayne 131ab59ad9 Whoops, need a length one not zero array.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@997 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-14 00:00:45 +00:00
Michael Bayne a85a6f1394 Delegation! Since it's clear that extracting services into delegation
classes is only going to become more common, I've gone and created a
comprehensive facility for creating and using delegates in the place
controller and manager as well as the game controller and manager. With
the pattern nicely set, it is also easy to extend to controller/managers
further up the hierarchy that might need to delegate special methods of
their own. Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@994 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-13 03:21:28 +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 05a8a19a12 New gendobj added the set<DSet>() method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@972 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-08 23:54:25 +00:00
Michael Bayne 1258fee18b Extracted PlaceObject and BodyObject into dobj definition files and
checked in their generated counterparts (which we want available for
javadoc-type stuff and so that we don't have to see CVS claim no knowledge
of them for the rest of time).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@968 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-08 23:10:36 +00:00
Michael Bayne e6003b2b3d Fixed spelling error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@946 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-06 22:47:16 +00:00
Michael Bayne a83e512270 Modified DObject.toString() to use fieldsToString() so that all of its
derived classes need not do their own toString()ing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@928 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-04 01:47:20 +00:00
Walter Korman 1415319aab Edited auxilliary -> auxiliary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@923 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-03 08:22:38 +00:00
Michael Bayne 9d72060717 Added setFooImmediate versions of BodyObject setters and use
setUsernameImmediate in sessionWillStart() so that entities later down the
line of session startup processing can reference values set earlier in the
process without having to wait for them to be applied by the dobjmgr.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-03 03:09:06 +00:00
Michael Bayne be4b5c3801 Added ability to look up occupants by username.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@844 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-20 02:48:21 +00:00
Michael Bayne e90189fd2c Added convenience function for looking up an occupant's info by body oid.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@839 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-19 23:11:59 +00:00
Michael Bayne 65401007de Javadoc edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@816 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 01:06:35 +00:00
Michael Bayne 6ffaab86f5 Wasn't terminating function when it discovers that the target user is not
online.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@813 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 00:52:43 +00:00
Michael Bayne 0a920a9b75 Modified chat services to support auxilliary chat objects with associated
types. Chat messages arriving on the auxilliary chat objects will be
tagged with the type that was associated with said objects when they were
registered with the chat director and chat displays can then render those
chat messages accordingly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@807 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:46:46 +00:00
Michael Bayne 5b37850773 Added support for receiving chat notifications from multiple objects. This
will probably need to be enhanced so that we can differentiate between
notifications from different objects on the client and render them
differently.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@804 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:02:57 +00:00
Michael Bayne 4769609931 Revamped code to watch OCCUPANT_INFO rather than OCCUPANTS which was
necessary to make occupantUpdated() work.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@801 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 08:09:10 +00:00
Michael Bayne 769b2e8895 Blag! Both the ZoneDirector and the SpotSceneDirector needed to extend the
SceneDirector which, without multiple inheritance, would make it
impossible to use both in a single client. Of course, we need to use both
in Yohoho!

So I refactored the whole enchilada to delegate rather than extend, which
blows because various methods must now be made public and a particular
failure case for the moveTo request now requires that a special failure
handler interface be made available so that LocationDirector "extensions"
can inject themselves into the failure handling process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:18:20 +00:00
Michael Bayne fa0506c85a Add support for clone().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@783 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-15 04:20:00 +00:00
Michael Bayne 6e962013a9 Minor cleanups; added PlaceManager to MessageHandler callback.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 00:11:18 +00:00
Michael Bayne 1731756712 Improved error checking and reporting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@769 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-13 06:34:40 +00:00
Michael Bayne 69b4f7fa86 Modified location services such that the registry and the provider are
supplied with the managers they need at initialization time and such that
the location provider is automatically registered by the place registry
rather than requiring you to put a line in a config file which was a silly
idea in the first place.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 01:02:59 +00:00
Michael Bayne 16efe382bd Augmenting the AuthResponseData with server stuff turned out to be a bad
idea because that class is shared between the client and the server, so
instead we provide a blank object reference in which the authenticator can
provide whatever information it wants to the client services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@723 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 22:01:57 +00:00
Michael Bayne a0ba41c31d Provide a mechanism for the authenticator to pass information to the
client object by way of passing the auth response data up to the client
after the completion of the authentication phase. This allows information
loaded by an authenticator (like a user record) to make its way into the
real world.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@722 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 20:14:51 +00:00
Michael Bayne cc21ad8679 Javadoc fixes and cleanups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@623 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-18 04:27:56 +00:00
Michael Bayne fc3d4dbd43 Log a briefer description of the place manager when it's unmapped.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@596 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-07 10:47:55 +00:00
Michael Bayne b632510cb1 Javadoc edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@576 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-26 01:40:22 +00:00
Michael Bayne 882dc381b0 Added moveBack() which requests to move to the location we occupied
immediately previous to our current location.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@551 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 03:10:30 +00:00
Michael Bayne 96b0faff38 Forgot to implement ObjectDeathListener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@546 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 01:00:09 +00:00
Michael Bayne ac62348afc Modified shutdown handling such that the place manager now listens for
place object death and lets the place registry know to unmap it during its
shutdown process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@544 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:57:39 +00:00
Michael Bayne fb587d2190 PlaceManager now downcalls to let derived classes know when it becomes
empty. Some derived classes will probably want to commit suicide at that
point.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@539 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:38:01 +00:00
Michael Bayne bf777349cc PlaceRegistry now finds out about place destruction and unmaps the place
manager accordingly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@538 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:37:24 +00:00
Michael Bayne 3a4d8f7d77 Added facilities for observing the creation of the place object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@507 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-19 22:02:20 +00:00
Michael Bayne 094c1f1ce6 Added facilities for sending system messages to places which are like
speak messages but come from the server and are displayed differently
(like in all red or something because these will say things like "The
system is shutting down in five minutes.")


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@501 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 23:55:24 +00:00
Michael Bayne d34b92b11c Moved code for sending chat message to place into separate function that
can be called by outside services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@496 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 20:51:59 +00:00
Michael Bayne aa5d97023f Report failed moveTo requests in case no one else does.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@485 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 01:40:04 +00:00
Michael Bayne 48df2b374f Added didInit() so that derived classes can do initialization without
having to import the arguments to the normal init().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@454 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 19:31:15 +00:00
Michael Bayne 60c829d921 Removed the PlaceObject argument from MessageHandler.handleEvent. You
already have that around in 99% of the cases that you're implementing
message handlers and you more likely have it casted to the type you're
interested in and don't get any use out of that extra argument and have to
import PlaceObject when you might not otherwise have had to.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@453 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 19:30:44 +00:00
Michael Bayne 804505890f We love to revamp! Created a set of listener interfaces which are used
with distributed objects rather than having a single handleEvent() by
which all subscribers are forced to hear about all events. Now one
subscribes separately and then adds onesself as any of a few types of
listener once they have access to the subscribed object reference.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@439 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:03:03 +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 78b62b5da1 Don't need to reference constant through ChatService.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@428 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 03:10:55 +00:00
Michael Bayne ce5bcd95d5 Can't report unhandled events or event just message events because there
are a number of them that just aren't meant to be handled by the place
manager. Alas.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@417 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 18:41:01 +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 61a2c30859 Structured handleEvent() so that we can report unhandled events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@407 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-09 17:18:44 +00:00
Michael Bayne def7b5802d Documentation edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@402 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-06 00:24:46 +00:00
Michael Bayne 63191ec610 I love to make vast, sweeping changes. Now the place services incorporate
a place config object which is used to determine the classes of the place
manager and the (newly added) place controller.

Moved PlaceView and PlaceViewUtil into cocktail.party.client from
cocktail.party.util because the controller and the UI (in very abstract
form) are now part of the place services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-05 23:57:26 +00:00
Michael Bayne 681d851b08 Documentation fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@395 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-04 22:47:49 +00:00
Michael Bayne 64e66dc98a Created a mechanism for dispatching notifications to user interface
elements when the client enters and leaves a place.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@394 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-04 20:02:49 +00:00
Michael Bayne 1f663669c9 We've always been at war with Eurasia. Changed InvocationManager to
InvocationDirector (please god let the renaming be done). Removed IntMap
and modified code to use samskivert's HashIntMap.

Also modified PlaceManager and PlaceRegistry such that there is no
Properties object supplied for configuration (let the derived classes sort
out how they want to configure their managers) and so that the
PlaceManager tells the PlaceRegistry what sort of PlaceObject derived
class it wants to manage rather than having that come from the
configuration.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@374 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-02 02:07:50 +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