Walter Korman
ce8fe382a3
Use observer lists, and remove code to disallow adding observers more than
...
once since the observer list now takes care of that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2062 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-12 23:54:27 +00:00
Michael Bayne
26ed72d109
Report an error rather than NPEing if we resume a session with a null
...
_clobj.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2047 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-09 17:19:04 +00:00
Michael Bayne
ee8eda46bb
Have to check that the user exists in sessionConnectionClosed() before
...
setting their status to disconnected; don't have to check that the user
exists in sessionDidEnd().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2028 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-05 16:39:21 +00:00
Michael Bayne
e91215b689
Explicitly pass along the client object to sessionConnectionClosed()
...
because it will have been cleared out of _clobj by the time said method is
called if it is called as a part of a terminated session.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2021 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-04 02:47:03 +00:00
Michael Bayne
b27571c8c0
Created an extensible mechanism for clearing out a client's location
...
information when they end their session.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2014 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-03 06:58:57 +00:00
Michael Bayne
eff8dc0ca7
We'll have to be a little more forceful about leaving than just clearing
...
out the body object's location id. Sheesh.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2013 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-02 23:18:06 +00:00
Michael Bayne
f8a5a149b7
Clear out our body's location when we log off because with the new client
...
reference counting thing, we can't rely on a user's object being destroyed
immediately after they log off. Better to ensure that their location will
always be cleared so that location interested entities will be properly
notified.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1991 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-26 02:46:01 +00:00
Ray Greenwell
b89f5dc419
Log a stack trace (and refuse to do it) if someone tries to
...
register the same chat display twice.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1941 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-13 01:29:41 +00:00
Michael Bayne
c53a6f59b1
Add support for clearing a place view when it goes away so that we can
...
better manage multiple outstanding place views.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1929 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-08 09:31:59 +00:00
Ray Greenwell
59fbad181c
the 'force' argument to ChatDisplay.clear() is now implied.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1927 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-08 07:28:23 +00:00
Michael Bayne
d5c8d93bef
Bang howdy partner.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1921 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-06 04:18:02 +00:00
Michael Bayne
f79d2de522
Don't bail out so early. We may have already updated the user object but
...
need to update another place object with a subsequent call to
updateOccupantStatus().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-06 04:12:39 +00:00
Michael Bayne
b9fe4f4b01
Do our disconnect fiddling on the new safe sessionConnectionClosed()
...
calldown method rather than the old wasUnmapped() which is called on the
conmgr thread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1899 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 05:48:18 +00:00
Ray Greenwell
01219cd341
Added ChatterValidator interface to validate usernames before they can
...
be added to the 'chatters' list.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1889 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-04 20:06:15 +00:00
Michael Bayne
e8ee391d24
Report moveTo() for now as it may inform the hunt for the puzzle in world
...
view bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1888 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-03 01:15:36 +00:00
Walter Korman
cf101fad52
Don't need dobjmgr in BodyProvider's constructor.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1882 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 21:33:49 +00:00
Walter Korman
1c5165e44b
Update a user's status in their occupant info via the place manager as
...
required, rather than directly in the place object. Don't need dobjmgr in
constructor.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1881 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 21:33:21 +00:00
Walter Korman
9347fec9ce
Populate newly created occupant info with the body object's status.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1880 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 21:32:23 +00:00
Michael Bayne
383d500f4b
Created LACK_ACCESS error code; use it for chat.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1879 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 01:01:27 +00:00
Michael Bayne
8f1bfa66ff
Freak out when they don't have access. Not when they do.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1878 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 00:57:50 +00:00
Walter Korman
f25c028cca
Initial work on a body service to allow setting a user's idled state.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1877 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-01 00:39:18 +00:00
Michael Bayne
dd4b1c69c3
Added broadcast chat mechanism.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1875 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 23:27:16 +00:00
Michael Bayne
35f3173694
Added pluggable mechanism for feature-level access control.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1874 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 21:32:39 +00:00
Michael Bayne
bb22856f76
Changed get...() to enumerate...().
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1873 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 21:32:15 +00:00
Walter Korman
f1c8ccd347
Added PlaceManager.applyToOccupants(), and a generic useful OccupantOp.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1869 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-31 01:12:08 +00:00
Ray Greenwell
c919832043
we actually want to report disconnect time with a granularity of SECOND
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1866 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 01:56:17 +00:00
Ray Greenwell
316634eb58
report idle / disconnected times when whispering.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1865 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 01:47:12 +00:00
Michael Bayne
7adcf49ef3
We need to allow the caller to specify the location in which the users
...
status should be updated.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1864 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 00:47:19 +00:00
Michael Bayne
77ae8c7d0f
Maintain user's status in their body object; also maintain a timestamp
...
that indicates the time at which their status became what it is.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1863 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-30 00:42:37 +00:00
Ray Greenwell
b5e5f5f4e1
director audit: make sure things shut down well.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1854 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-28 00:22:38 +00:00
Walter Korman
556347c778
Clear things out when the client logs off.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1852 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 23:30:56 +00:00
Ray Greenwell
811ccd0bf1
when the client logs off, forcibly clear all chat displays
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1850 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 22:34:11 +00:00
Ray Greenwell
a3eb2e1b7a
changed clear() -> clear(boolean force), if force is true,
...
ChatDisplays may not ignore the request to clear.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1849 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 22:33:42 +00:00
Walter Korman
2625d76084
Oh god, how did I accidentally leave this in here? Removed verbose
...
logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1844 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 21:58:18 +00:00
Michael Bayne
6781e1da56
Oh the price we pay for wanting to be able to logoff and log back on
...
without exiting the client.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1843 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 21:24:58 +00:00
Michael Bayne
14a313486b
Documentation repairs.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1842 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 18:49:51 +00:00
Walter Korman
a5576eed88
Factored out code to update a player's connection status to make it
...
available for use by derived classes, and because it's cleaner this way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1840 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 02:04:50 +00:00
Walter Korman
657a8a6f03
Initial version.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1839 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 02:03:40 +00:00
Walter Korman
28a3cde90b
Use an ObserverList.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1838 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 02:03:13 +00:00
Michael Bayne
561f25bb18
Provide the previous occupant info record when reporting an update so that
...
observers can determine which fields have changed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1835 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 01:25:08 +00:00
Walter Korman
fec48b8586
Track a user's connection status in their occupant info so that we can
...
react to player disconnection, idle (implementation still pending), and
reconnection appropriately. Added PlaceManager.bodyUpdated().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1831 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-26 02:40:30 +00:00
Ray Greenwell
f7b462b9c2
added MuteObserver interface.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1828 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-25 20:32:41 +00:00
Michael Bayne
a0e9044e93
Config clean up and unification. The base servers were doing more than
...
they needed to and when all that was stripped away, they didn't really
need their own config files.
Now what little config they need is provided by the users of these basic
services so that said users can make their own decisions about where to
obtain configuration information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1820 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-21 20:56:21 +00:00
Michael Bayne
0292de57cb
Added getOccupantInfo by name.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1796 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-09 06:33:48 +00:00
Michael Bayne
061c73c64e
Place managers may need a chance to clean up after a failed permissions
...
check; so we give them a callback for such contingencies.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1780 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 03:31:16 +00:00
Michael Bayne
f3385ad3a8
Perform the permissions check.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 02:37:58 +00:00
Michael Bayne
4da35c0f0b
Provide a means by which a place manager can check, early in the
...
initialization process, whether or not it actually wants to be created,
and allow it to abort the whole deal if it doesn't.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1777 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 00:44:58 +00:00
Michael Bayne
0309b23a69
Restructure try/finally blocks to ensure that we don't attempt to release
...
a transaction we were never able to start.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-04 01:31:43 +00:00
Michael Bayne
ed0693a8e7
Clear out our speak service registration when the place object goes away.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 04:53:14 +00:00
Michael Bayne
ba4985053f
Revamped "persona selection" support. Things now actually work, and in as
...
sensible a way as we can hope for.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1717 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-19 23:36:59 +00:00