Commit Graph

27 Commits

Author SHA1 Message Date
Michael Bayne 591dc1541a Extract our permission policy into a separate class so that a system can more
easily make use of different permission policies in different circumstances
(one can imagine a hypothetical partner who has different access control
requirements, perhaps).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5118 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 13:12:40 +00:00
Michael Bayne 86dd4d75c7 Cleaned up the fine-grained permissions system a bit so that Yohoho can make
use of it in good conscience.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5117 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-22 12:03:30 +00:00
Michael Bayne ec3fb4023a Allow the BodyObject to play along when we enter and leave a place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5108 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-18 11:30:45 +00:00
Ray Greenwell dd8fcfc0a7 Allow subclasses to translate the status if a nonstandard one is in use.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4911 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-19 19:14:47 +00:00
Michael Bayne 962326fcaf Revamped the way BodyObject.location is tracked. Now we use an object which can
be extended to contain the sceneId by Whirled (Vilya's Whirled, though also
Whirled Whirled by extension) so that we don't end up with problems where
BodyObject.location changes but BodyObject.sceneId remains stale. This won't
impact Yohoho because the Yohoho client is always in a scene, it uses a
separate mechanism to track games, whereas Whirled's natural usage is to move
between scenes and non-scenes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-21 00:46:25 +00:00
Michael Bayne 7896ee8c02 Allow the who details to be augmented.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-11 17:45:20 +00:00
Michael Bayne 09f0bee0f3 Yet more header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-24 00:39:27 +00:00
Ray Greenwell 776761aeef Allow the occupant info to be different depending on the place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4457 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-11-17 20:01:36 +00:00
Ray Greenwell 79c6427c21 StringBuffer -> StringBuilder.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 22:42:20 +00:00
Ray Greenwell 26c928fc45 Use the valueOf factory methods pretty much everywhere.
These are the preferred way to get instances of Boolean, Byte,
Short, Character, Integer, Long, Float, and Double object.
It's always made sense for Boolean objects, and with 1.5 these factory
methods were blessed as the proper way to get instances unless one
absolutely needed a distinct object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-24 01:24:24 +00:00
Michael Bayne d57adeca1c Big fat bernie OccupantInfo revamp. Now:
- OccupantInfo is created by the BodyObject
- the BodyObject is passed to the OI constructor and it uses information
  therefrom to configure itself
- the PlaceManager are no longer responsible for indicating the type of
  OccupantInfo to use or how to populate it.

This makes much more sense as the same type of OccupantInfo is generally used
across the entire system and it's annoying to have to have every PlaceMaanger
derived class know the type of OccupantInfo to create and know how to
initialize it. The one drawback is that only information from the BodyObject
can be used to populate the OccupantInfo, unpublished server-side only
information cannot be used (unless its stuffed into a transient field in the
BodyObject).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-03 03:05:06 +00:00
Michael Bayne 176329e1ed Various updates to allow a system where a user's visible name is not the same
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-10 23:18:58 +00:00
Michael Bayne c2ab172503 Put the basis for the token ring authentication stuff into Narya as we are
now using it in Yohoho, Game Gardens and Bang.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-16 04:51:11 +00:00
Michael Bayne c2e2661e66 Further refinement of the permissions system. Eliminated the
CommunicationAuthorizer and rolled that into the BodyObject-based
permissions system. A victory for consolidation and elegance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-03 04:47:57 +00:00
Michael Bayne 01592d2593 Reorganized basic permissions handling to be more cleanly extensible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3375 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-02 03:22:27 +00:00
Michael Bayne 55a0ab91f7 Regenerated our DObject derivations in the new world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3288 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-28 03:51:29 +00:00
Michael Bayne 8451c39797 Added missing copyright headers to the .dobj files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-17 23:16:56 +00:00
Michael Bayne 1f8c4578b7 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3098 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:12:55 +00:00
Michael Bayne 32dee3cbaf 405 modified source files and 17,367 lines of diffs later we now enforce
more discipline when handling names in our code base. Any user entered
name should find its way into a Name object as soon as it comes out of a
text field or whatnot, and stay that way until it makes its way into a
text field or into a database record (for which String objects are vastly
simpler because of JORA magic).

Dear God, let me never again make a change this large for the rest of my
mortal life.

Unfortunately, this means we have to keep an eye out for funny business
pretty much everywhere. However, since we will absolutely want to test
market stalls and so forth on Azure, we'll have an opportunity to iron out
any funny business that might fall under the radar during our internal
testing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2980 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-03-06 11:29:19 +00:00
Michael Bayne 6add22f5d7 Refactored /tell idle auto-response; added support for configuring an
away/busy auto-response message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-18 17:53:48 +00:00
Michael Bayne f1ac86936e Be speaker aware. Big brother loves us.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2655 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-14 00:55:40 +00:00
Michael Bayne 2c94e12490 Regenerated DObject definitions with new policy.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2514 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-30 22:45:57 +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
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00
Michael Bayne 01d2318133 Convenience method for reporting username and object oid easily.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1519 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-20 22:37:32 +00:00
Michael Bayne 5f18acd3d8 Modified distributed object attribute setting such that attributes are
*always* set immediately because after some deliberation, we decided that
doing that led to less unexpectedly annoying behavior than having to wait
for the event to propagate to see the new value.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1062 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-20 23:35:42 +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