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
This commit is contained in:
Michael Bayne
2001-10-11 04:07:54 +00:00
parent ac477756ea
commit 8a4c46badc
170 changed files with 832 additions and 805 deletions
+4 -4
View File
@@ -1,16 +1,16 @@
//
// $Id: Log.java,v 1.1 2001/07/20 23:23:50 mdb Exp $
// $Id: Log.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party;
package com.threerings.crowd;
/**
* A placeholder class that contains a reference to the log object used by
* the Party services.
* the Crowd services.
*/
public class Log
{
public static com.samskivert.util.Log log =
new com.samskivert.util.Log("cocktail.party");
new com.samskivert.util.Log("crowd");
/** Convenience function. */
public static void debug (String message)
@@ -1,15 +1,15 @@
//
// $Id: ChatMessageHandler.java,v 1.1 2001/08/03 02:14:41 mdb Exp $
// $Id: ChatMessageHandler.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.chat;
package com.threerings.crowd.chat;
import com.threerings.cocktail.cher.dobj.MessageEvent;
import com.threerings.presents.dobj.MessageEvent;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.cocktail.party.server.PlaceManager;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.server.CrowdServer;
import com.threerings.crowd.server.PlaceManager;
/**
* The chat message handler handles chat messages that are issued on a
@@ -23,7 +23,7 @@ public class ChatMessageHandler implements PlaceManager.MessageHandler
// generate a chat notification with the message and name of the
// speaker
int soid = event.getSourceOid();
BodyObject source = (BodyObject)PartyServer.omgr.getObject(soid);
BodyObject source = (BodyObject)CrowdServer.omgr.getObject(soid);
if (source == null) {
Log.info("Chatter went away. Dropping chat request " +
"[req=" + event + "].");
@@ -39,6 +39,6 @@ public class ChatMessageHandler implements PlaceManager.MessageHandler
Object[] outargs = new Object[] { source.username, message };
MessageEvent nevt = new MessageEvent(
target.getOid(), ChatService.SPEAK_NOTIFICATION, outargs);
PartyServer.omgr.postEvent(nevt);
CrowdServer.omgr.postEvent(nevt);
}
}
@@ -1,17 +1,17 @@
//
// $Id: ChatDirector.java,v 1.9 2001/10/11 03:10:55 mdb Exp $
// $Id: ChatDirector.java,v 1.10 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.chat;
package com.threerings.crowd.chat;
import java.util.ArrayList;
import com.threerings.cocktail.cher.client.*;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.presents.client.*;
import com.threerings.presents.dobj.*;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.client.LocationObserver;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.cocktail.party.util.PartyContext;
import com.threerings.crowd.Log;
import com.threerings.crowd.client.LocationObserver;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.util.CrowdContext;
/**
* The chat director is the client side coordinator of all chat related
@@ -27,7 +27,7 @@ public class ChatDirector
* observer so that it can automatically process place constrained
* chat.
*/
public ChatDirector (PartyContext ctx)
public ChatDirector (CrowdContext ctx)
{
// keep the context around
_ctx = ctx;
@@ -214,7 +214,7 @@ public class ChatDirector
}
}
protected PartyContext _ctx;
protected CrowdContext _ctx;
protected PlaceObject _place;
protected ArrayList _displays = new ArrayList();
@@ -1,7 +1,7 @@
//
// $Id: ChatDisplay.java,v 1.2 2001/10/01 22:14:55 mdb Exp $
// $Id: ChatDisplay.java,v 1.3 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.chat;
package com.threerings.crowd.chat;
/**
* A chat display provides a means by which chat messages can be
@@ -1,11 +1,11 @@
//
// $Id: ChatService.java,v 1.5 2001/10/02 02:07:50 mdb Exp $
// $Id: ChatService.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.chat;
package com.threerings.crowd.chat;
import com.threerings.cocktail.cher.client.Client;
import com.threerings.cocktail.cher.client.InvocationDirector;
import com.threerings.cocktail.party.Log;
import com.threerings.presents.client.Client;
import com.threerings.presents.client.InvocationDirector;
import com.threerings.crowd.Log;
/**
* The chat services provide a mechanism by which the client can broadcast
@@ -1,9 +1,9 @@
//
// $Id: ChatCodes.java,v 1.1 2001/10/01 22:14:55 mdb Exp $
// $Id: ChatCodes.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.chat;
package com.threerings.crowd.chat;
import com.threerings.cocktail.cher.client.InvocationCodes;
import com.threerings.presents.client.InvocationCodes;
/**
* Contains codes used by the chat invocation services.
@@ -1,11 +1,11 @@
//
// $Id: ChatProvider.java,v 1.4 2001/10/01 22:14:55 mdb Exp $
// $Id: ChatProvider.java,v 1.5 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.chat;
package com.threerings.crowd.chat;
import com.threerings.cocktail.cher.server.InvocationProvider;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.presents.server.InvocationProvider;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.server.CrowdServer;
/**
* The chat provider handles the server side of the chat-related
@@ -22,7 +22,7 @@ public class ChatProvider
BodyObject source, int invid, String target, String message)
{
// look up the target body object
BodyObject tobj = PartyServer.lookupBody(target);
BodyObject tobj = CrowdServer.lookupBody(target);
if (tobj == null) {
sendResponse(source, invid, TELL_FAILED_RESPONSE,
USER_NOT_ONLINE);
@@ -30,7 +30,7 @@ public class ChatProvider
// deliver a tell notification to the target player
Object[] args = new Object[] { source.username, message };
PartyServer.invmgr.sendNotification(
CrowdServer.invmgr.sendNotification(
tobj.getOid(), MODULE_NAME, TELL_NOTIFICATION, args);
sendResponse(source, invid, TELL_SUCCEEDED_RESPONSE);
@@ -1,9 +1,9 @@
//
// $Id: LocationAdapter.java,v 1.1 2001/08/22 00:08:12 mdb Exp $
// $Id: LocationAdapter.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.crowd.data.PlaceObject;
/**
* The location adapter makes life easier for a class that really only
@@ -1,9 +1,9 @@
//
// $Id: LocationCodes.java,v 1.1 2001/10/01 22:14:55 mdb Exp $
// $Id: LocationCodes.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import com.threerings.cocktail.cher.client.InvocationCodes;
import com.threerings.presents.client.InvocationCodes;
/**
* Contains codes used by the location invocation services.
@@ -1,17 +1,17 @@
//
// $Id: LocationDirector.java,v 1.10 2001/10/05 23:57:26 mdb Exp $
// $Id: LocationDirector.java,v 1.11 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import java.util.ArrayList;
import java.util.List;
import com.threerings.cocktail.cher.client.*;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.presents.client.*;
import com.threerings.presents.dobj.*;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.*;
import com.threerings.cocktail.party.util.PartyContext;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.*;
import com.threerings.crowd.util.CrowdContext;
/**
* The location director provides a means by which entities on the client
@@ -23,7 +23,7 @@ import com.threerings.cocktail.party.util.PartyContext;
public class LocationDirector
implements ClientObserver, Subscriber
{
public LocationDirector (PartyContext ctx)
public LocationDirector (CrowdContext ctx)
{
// keep this around for later
_ctx = ctx;
@@ -341,7 +341,7 @@ public class LocationDirector
}
/** The context through which we access needed services. */
protected PartyContext _ctx;
protected CrowdContext _ctx;
/** Our location observer list. */
protected List _observers = new ArrayList();
@@ -1,9 +1,9 @@
//
// $Id: LocationObserver.java,v 1.3 2001/08/02 04:59:54 mdb Exp $
// $Id: LocationObserver.java,v 1.4 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.crowd.data.PlaceObject;
/**
* The location observer interface makes it possible for entities to be
@@ -1,11 +1,11 @@
//
// $Id: LocationService.java,v 1.3 2001/10/02 02:07:50 mdb Exp $
// $Id: LocationService.java,v 1.4 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import com.threerings.cocktail.cher.client.Client;
import com.threerings.cocktail.cher.client.InvocationDirector;
import com.threerings.cocktail.party.Log;
import com.threerings.presents.client.Client;
import com.threerings.presents.client.InvocationDirector;
import com.threerings.crowd.Log;
/**
* The location services provide a mechanism by which the client can
@@ -1,18 +1,18 @@
//
// $Id: OccupantManager.java,v 1.5 2001/10/02 02:07:50 mdb Exp $
// $Id: OccupantManager.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import java.util.ArrayList;
import java.util.Iterator;
import com.samskivert.util.HashIntMap;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.presents.dobj.*;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.OccupantInfo;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.cocktail.party.util.PartyContext;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.OccupantInfo;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.util.CrowdContext;
/**
* The occupant manager listens for occupants of places to enter and exit,
@@ -41,7 +41,7 @@ public class OccupantManager
/**
* Constructs a new occupant manager with the supplied context.
*/
public OccupantManager (PartyContext ctx)
public OccupantManager (CrowdContext ctx)
{
// register ourselves as a location observer
ctx.getLocationDirector().addLocationObserver(this);
@@ -1,9 +1,9 @@
//
// $Id: OccupantObserver.java,v 1.1 2001/08/20 20:54:56 mdb Exp $
// $Id: OccupantObserver.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import com.threerings.cocktail.party.data.OccupantInfo;
import com.threerings.crowd.data.OccupantInfo;
/**
* An entity that is interested in hearing about bodies that enter and
@@ -1,14 +1,14 @@
//
// $Id: PlaceController.java,v 1.3 2001/10/09 17:20:03 mdb Exp $
// $Id: PlaceController.java,v 1.4 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import java.awt.event.ActionEvent;
import com.samskivert.swing.Controller;
import com.threerings.cocktail.party.data.PlaceConfig;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.cocktail.party.util.PartyContext;
import com.threerings.crowd.data.PlaceConfig;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.util.CrowdContext;
/**
* Controls the user interface that is used to display a place. When the
@@ -32,7 +32,7 @@ public abstract class PlaceController
* @param ctx the client context.
* @param config the place configuration for this place.
*/
public void init (PartyContext ctx, PlaceConfig config)
public void init (CrowdContext ctx, PlaceConfig config)
{
// keep these around
_ctx = ctx;
@@ -92,7 +92,7 @@ public abstract class PlaceController
}
/** A reference to the active client context. */
protected PartyContext _ctx;
protected CrowdContext _ctx;
/** A reference to our place configuration. */
protected PlaceConfig _config;
@@ -1,9 +1,9 @@
//
// $Id: PlaceView.java,v 1.4 2001/10/06 00:24:46 mdb Exp $
// $Id: PlaceView.java,v 1.5 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.crowd.data.PlaceObject;
/**
* This interface provides a convenient means for decoupling user
@@ -35,7 +35,7 @@ import com.threerings.cocktail.party.data.PlaceObject;
* of place entering and exiting by virtue of the single dispatching
* calls. It is useful to note that place-sensitive user interface
* elements will also generally need a reference to the {@link
* com.threerings.cocktail.party.util.PartyContext} derivative in use by
* com.threerings.crowd.util.CrowdContext} derivative in use by
* the client, but those are best supplied at construct time.
*/
public interface PlaceView
@@ -1,12 +1,12 @@
//
// $Id: PlaceViewUtil.java,v 1.2 2001/10/05 23:57:26 mdb Exp $
// $Id: PlaceViewUtil.java,v 1.3 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.client;
package com.threerings.crowd.client;
import java.awt.Container;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.PlaceObject;
/**
* Provides a mechanism for dispatching notifications to all user
@@ -1,9 +1,9 @@
//
// $Id: BodyObject.dobj,v 1.4 2001/08/21 19:37:21 mdb Exp $
// $Id: BodyObject.dobj,v 1.5 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.data;
package com.threerings.crowd.data;
import com.threerings.cocktail.cher.data.ClientObject;
import com.threerings.presents.data.ClientObject;
public class BodyObject extends ClientObject
{
@@ -1,25 +1,25 @@
//
// $Id: OccupantInfo.java,v 1.2 2001/08/20 20:54:57 mdb Exp $
// $Id: OccupantInfo.java,v 1.3 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.data;
package com.threerings.crowd.data;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.dobj.DSet;
import com.threerings.presents.dobj.DSet;
/**
* The occupant info object contains all of the information about an
* occupant of a place that should be shared with other occupants of the
* place. These objects are stored in the place object itself and are
* updated when bodies enter and exit a place. A system that builds upon
* the Party framework can extend this class to include extra information
* the Crowd framework can extend this class to include extra information
* about their occupants. They will need to be sure to return the proper
* class from {@link
* com.threerings.cocktail.party.server.PlaceManager#getOccupantInfoClass}
* com.threerings.crowd.server.PlaceManager#getOccupantInfoClass}
* and populate their occupant info in {@link
* com.threerings.cocktail.party.server.PlaceManager#populateOccupantInfo}.
* com.threerings.crowd.server.PlaceManager#populateOccupantInfo}.
*/
public class OccupantInfo implements DSet.Element
{
@@ -1,13 +1,13 @@
//
// $Id: PlaceConfig.java,v 1.1 2001/10/05 23:57:26 mdb Exp $
// $Id: PlaceConfig.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.data;
package com.threerings.crowd.data;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.io.Streamable;
import com.threerings.presents.io.Streamable;
/**
* The place config class encapsulates the configuration information for a
@@ -36,14 +36,14 @@ public abstract class PlaceConfig implements Streamable
/**
* Returns the class that should be used to create a controller for
* this place. The controller class must derive from {@link
* com.threerings.cocktail.party.client.PlaceController}.
* com.threerings.crowd.client.PlaceController}.
*/
public abstract Class getControllerClass ();
/**
* Returns the name of the class that should be used to create a
* manager for this place. The manager class must derive from {@link
* com.threerings.cocktail.party.server.PlaceManager}. <em>Note:</em>
* com.threerings.crowd.server.PlaceManager}. <em>Note:</em>
* this method differs from {@link #getControllerClass} because we
* want to avoid compile time linkage of the place config object
* (which is used on the client) to server code. This allows a code
@@ -1,9 +1,9 @@
//
// $Id: PlaceObject.dobj,v 1.5 2001/08/16 04:28:36 mdb Exp $
// $Id: PlaceObject.dobj,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.data;
package com.threerings.crowd.data;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.presents.dobj.*;
public class PlaceObject extends DObject
{
@@ -1,16 +1,16 @@
//
// $Id: CrowdClient.java,v 1.2 2001/08/04 01:55:41 mdb Exp $
// $Id: CrowdClient.java,v 1.3 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.server;
package com.threerings.crowd.server;
import com.threerings.cocktail.cher.server.CherClient;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.presents.server.PresentsClient;
import com.threerings.crowd.data.BodyObject;
/**
* The party client extends the cher client and does some initializations
* necessary for the party services.
* The crowd client extends the presents client and does some
* initializations necessary for the crowd services.
*/
public class PartyClient extends CherClient
public class CrowdClient extends PresentsClient
{
protected void sessionWillStart ()
{
@@ -23,7 +23,7 @@ public class PartyClient extends CherClient
_bodobj.setUsername(_username);
// register our body object mapping
PartyServer.mapBody(_username, _bodobj);
CrowdServer.mapBody(_username, _bodobj);
}
protected void sessionWillResume ()
@@ -38,7 +38,7 @@ public class PartyClient extends CherClient
super.sessionDidTerminate();
// unregister our body object mapping
PartyServer.unmapBody(_username);
CrowdServer.unmapBody(_username);
}
protected BodyObject _bodobj;
@@ -1,23 +1,23 @@
//
// $Id: CrowdServer.java,v 1.7 2001/09/28 22:32:28 mdb Exp $
// $Id: CrowdServer.java,v 1.8 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.server;
package com.threerings.crowd.server;
import java.util.HashMap;
import com.threerings.cocktail.cher.server.CherServer;
import com.threerings.presents.server.PresentsServer;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.BodyObject;
/**
* The party server extends the cher server by configuring it to use the
* extensions provided by the party layer to support party services.
* The crowd server extends the presents server by configuring it to use the
* extensions provided by the crowd layer to support crowd services.
*/
public class PartyServer extends CherServer
public class CrowdServer extends PresentsServer
{
/** The namespace used for server config properties. */
public static final String CONFIG_KEY = "party";
public static final String CONFIG_KEY = "crowd";
/** The place registry. */
public static PlaceRegistry plreg;
@@ -28,14 +28,14 @@ public class PartyServer extends CherServer
public void init ()
throws Exception
{
// do the cher server initialization
// do the presents server initialization
super.init();
// bind the party server config into the namespace
// bind the crowd server config into the namespace
config.bindProperties(CONFIG_KEY, CONFIG_PATH, true);
// configure the client to use our party client
clmgr.setClientClass(PartyClient.class);
// configure the client to use our crowd client
clmgr.setClientClass(CrowdClient.class);
// configure the client to use the body object
clmgr.setClientObjectClass(BodyObject.class);
@@ -46,11 +46,11 @@ public class PartyServer extends CherServer
// register our invocation service providers
registerProviders(config.getValue(PROVIDERS_KEY, (String[])null));
Log.info("Party server initialized.");
Log.info("Crowd server initialized.");
}
/**
* The party server maintains a mapping of username to body object for
* The crowd server maintains a mapping of username to body object for
* all active users on the server. This should only be called from the
* dobjmgr thread.
*/
@@ -60,7 +60,7 @@ public class PartyServer extends CherServer
}
/**
* Called by the party client to map a username to a particular body
* Called by the crowd client to map a username to a particular body
* object. This should only be called from the dobjmgr thread.
*/
protected static void mapBody (String username, BodyObject bodobj)
@@ -69,7 +69,7 @@ public class PartyServer extends CherServer
}
/**
* Called by the party client to unmap a username from a particular
* Called by the crowd client to unmap a username from a particular
* body object. This should only be called from the dobjmgr thread.
*/
protected static void unmapBody (String username)
@@ -79,7 +79,7 @@ public class PartyServer extends CherServer
public static void main (String[] args)
{
PartyServer server = new PartyServer();
CrowdServer server = new CrowdServer();
try {
server.init();
server.run();
@@ -94,7 +94,7 @@ public class PartyServer extends CherServer
// the path to the config file
protected final static String CONFIG_PATH =
"rsrc/config/cocktail/party/server";
"rsrc/config/crowd/server";
// the config key for our list of invocation provider mappings
protected final static String PROVIDERS_KEY = CONFIG_KEY + ".providers";
@@ -1,16 +1,16 @@
//
// $Id: LocationProvider.java,v 1.9 2001/10/05 23:57:26 mdb Exp $
// $Id: LocationProvider.java,v 1.10 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.server;
package com.threerings.crowd.server;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.cocktail.cher.server.InvocationProvider;
import com.threerings.cocktail.cher.server.ServiceFailedException;
import com.threerings.presents.dobj.DObject;
import com.threerings.presents.server.InvocationProvider;
import com.threerings.presents.server.ServiceFailedException;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.client.LocationCodes;
import com.threerings.cocktail.party.data.*;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.crowd.Log;
import com.threerings.crowd.client.LocationCodes;
import com.threerings.crowd.data.*;
import com.threerings.crowd.server.CrowdServer;
/**
* This class provides the server end of the location services.
@@ -52,7 +52,7 @@ public class LocationProvider
int bodoid = source.getOid();
// make sure the place in question actually exists
PlaceManager pmgr = PartyServer.plreg.getPlaceManager(placeId);
PlaceManager pmgr = CrowdServer.plreg.getPlaceManager(placeId);
if (pmgr == null) {
Log.info("Requested to move to non-existent place " +
"[source=" + source + ", place=" + placeId + "].");
@@ -78,7 +78,7 @@ public class LocationProvider
// remove them from the occupant list of the previous location
try {
PlaceObject pold = (PlaceObject)
PartyServer.omgr.getObject(source.location);
CrowdServer.omgr.getObject(source.location);
if (pold != null) {
Object key = new Integer(bodoid);
// remove their occupant info (which is keyed on oid)
@@ -1,15 +1,15 @@
//
// $Id: PlaceManager.java,v 1.16 2001/10/09 18:41:01 mdb Exp $
// $Id: PlaceManager.java,v 1.17 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.server;
package com.threerings.crowd.server;
import java.util.HashMap;
import java.util.Properties;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.presents.dobj.*;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.*;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.*;
/**
* The place manager is the server-side entity that handles all
@@ -18,7 +18,7 @@ import com.threerings.cocktail.party.data.*;
* places) should live in the place manager. An intelligently constructed
* hierarchy of place manager classes working in concert with invocation
* services should provide the majority of the server-side functionality
* of an application built on the Cocktail platform.
* of an application built on the Presents platform.
*
* <p> The base place manager class takes care of the necessary
* interactions with the place registry to manage place registration. It
@@ -1,7 +1,7 @@
//
// $Id: PlaceRegistry.java,v 1.10 2001/10/05 23:57:26 mdb Exp $
// $Id: PlaceRegistry.java,v 1.11 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.server;
package com.threerings.crowd.server;
import java.util.Iterator;
@@ -9,11 +9,11 @@ import com.samskivert.util.Config;
import com.samskivert.util.HashIntMap;
import com.samskivert.util.Queue;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.presents.dobj.*;
import com.threerings.cocktail.party.Log;
import com.threerings.cocktail.party.data.PlaceConfig;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.crowd.Log;
import com.threerings.crowd.data.PlaceConfig;
import com.threerings.crowd.data.PlaceObject;
/**
* The place registry keeps track of all of the active places in the
@@ -65,7 +65,7 @@ public class PlaceRegistry implements Subscriber
_createq.append(pmgr);
// and request to create the place object
PartyServer.omgr.createObject(
CrowdServer.omgr.createObject(
pmgr.getPlaceObjectClass(), this, false);
return pmgr;
@@ -1,18 +1,18 @@
//
// $Id: CrowdContext.java,v 1.5 2001/10/09 17:20:03 mdb Exp $
// $Id: CrowdContext.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.cocktail.party.util;
package com.threerings.crowd.util;
import com.threerings.cocktail.cher.util.CherContext;
import com.threerings.cocktail.party.client.LocationDirector;
import com.threerings.cocktail.party.client.OccupantManager;
import com.threerings.cocktail.party.client.PlaceView;
import com.threerings.presents.util.PresentsContext;
import com.threerings.crowd.client.LocationDirector;
import com.threerings.crowd.client.OccupantManager;
import com.threerings.crowd.client.PlaceView;
/**
* The party context provides access to the various managers, etc. that
* are needed by the party client code.
* The crowd context provides access to the various managers, etc. that
* are needed by the crowd client code.
*/
public interface PartyContext extends CherContext
public interface CrowdContext extends PresentsContext
{
/**
* Returns a reference to the location director.
@@ -1,9 +1,9 @@
//
// $Id: ParlorCodes.java,v 1.4 2001/10/04 22:47:49 mdb Exp $
// $Id: ParlorCodes.java,v 1.5 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.client;
import com.threerings.cocktail.cher.client.InvocationCodes;
import com.threerings.presents.client.InvocationCodes;
/**
* Contains codes used by the parlor invocation services.
@@ -1,5 +1,5 @@
//
// $Id: ParlorDirector.java,v 1.9 2001/10/09 20:20:52 mdb Exp $
// $Id: ParlorDirector.java,v 1.10 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.client;
@@ -7,7 +7,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import com.samskivert.util.HashIntMap;
import com.threerings.cocktail.cher.client.InvocationReceiver;
import com.threerings.presents.client.InvocationReceiver;
import com.threerings.parlor.Log;
import com.threerings.parlor.data.GameConfig;
@@ -1,10 +1,10 @@
//
// $Id: ParlorService.java,v 1.5 2001/10/02 02:09:06 mdb Exp $
// $Id: ParlorService.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.client;
import com.threerings.cocktail.cher.client.Client;
import com.threerings.cocktail.cher.client.InvocationDirector;
import com.threerings.presents.client.Client;
import com.threerings.presents.client.InvocationDirector;
import com.threerings.parlor.Log;
import com.threerings.parlor.data.GameConfig;
@@ -1,9 +1,9 @@
//
// $Id: GameCodes.java,v 1.1 2001/10/11 03:12:38 mdb Exp $
// $Id: GameCodes.java,v 1.2 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.client;
import com.threerings.cocktail.cher.client.InvocationCodes;
import com.threerings.presents.client.InvocationCodes;
/**
* Contains codes used by the game services.
@@ -1,5 +1,5 @@
//
// $Id: GameConfig.java,v 1.5 2001/10/06 00:25:29 mdb Exp $
// $Id: GameConfig.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.data;
@@ -7,7 +7,7 @@ import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.party.data.PlaceConfig;
import com.threerings.crowd.data.PlaceConfig;
/**
* The game config class encapsulates the configuration information for a
@@ -1,5 +1,5 @@
//
// $Id: GameController.java,v 1.5 2001/10/11 03:12:38 mdb Exp $
// $Id: GameController.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.client;
@@ -7,11 +7,11 @@ import java.awt.event.ActionEvent;
import com.samskivert.swing.Controller;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.cocktail.party.client.PlaceController;
import com.threerings.cocktail.party.data.PlaceConfig;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.cocktail.party.util.PartyContext;
import com.threerings.presents.dobj.*;
import com.threerings.crowd.client.PlaceController;
import com.threerings.crowd.data.PlaceConfig;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.util.CrowdContext;
import com.threerings.parlor.Log;
import com.threerings.parlor.data.GameConfig;
@@ -42,7 +42,7 @@ public abstract class GameController
* @param config the configuration of the game we are intended to
* control.
*/
public void init (PartyContext ctx, PlaceConfig config)
public void init (CrowdContext ctx, PlaceConfig config)
{
// cast our references before we call super.init() so that when
// super.init() calls createPlaceView(), we have our casted
@@ -1,15 +1,15 @@
//
// $Id: GameManager.java,v 1.6 2001/10/11 03:12:38 mdb Exp $
// $Id: GameManager.java,v 1.7 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.server;
import com.threerings.cocktail.cher.dobj.MessageEvent;
import com.threerings.presents.dobj.MessageEvent;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.cocktail.party.server.PlaceManager;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.server.PlaceManager;
import com.threerings.crowd.server.CrowdServer;
import com.threerings.crowd.server.CrowdServer;
import com.threerings.parlor.Log;
import com.threerings.parlor.client.GameCodes;
@@ -77,9 +77,9 @@ public class GameManager
Object[] args = new Object[] {
new Integer(_gameobj.getOid()) };
for (int i = 0; i < _players.length; i++) {
BodyObject bobj = PartyServer.lookupBody(_players[i]);
BodyObject bobj = CrowdServer.lookupBody(_players[i]);
// deliver a game ready notification to the player
PartyServer.invmgr.sendNotification(
CrowdServer.invmgr.sendNotification(
bobj.getOid(), MODULE_NAME, GAME_READY_NOTIFICATION, args);
}
}
@@ -169,7 +169,7 @@ public class GameManager
{
int cloid = event.getSourceOid();
BodyObject body = (BodyObject)
PartyServer.omgr.getObject(cloid);
CrowdServer.omgr.getObject(cloid);
if (body == null) {
Log.warning("Player sent am ready notification and then " +
"disappeared [event=" + event + "].");
@@ -1,9 +1,9 @@
//
// $Id: GameObject.dobj,v 1.2 2001/10/01 06:19:15 mdb Exp $
// $Id: GameObject.dobj,v 1.3 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.data;
import com.threerings.cocktail.party.data.PlaceObject;
import com.threerings.crowd.data.PlaceObject;
/**
* A game object hosts the shared data associated with a game played by
@@ -1,16 +1,16 @@
//
// $Id: ParlorManager.java,v 1.7 2001/10/09 20:20:35 mdb Exp $
// $Id: ParlorManager.java,v 1.8 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.server;
import com.samskivert.util.Config;
import com.samskivert.util.HashIntMap;
import com.threerings.cocktail.cher.server.InvocationManager;
import com.threerings.cocktail.cher.server.ServiceFailedException;
import com.threerings.presents.server.InvocationManager;
import com.threerings.presents.server.ServiceFailedException;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.server.CrowdServer;
import com.threerings.parlor.Log;
import com.threerings.parlor.client.ParlorCodes;
@@ -176,7 +176,7 @@ public class ParlorManager
// started up (which is done by the place registry once the
// game object creation has completed)
GameManager gmgr = (GameManager)
PartyServer.plreg.createPlace(invite.config);
CrowdServer.plreg.createPlace(invite.config);
// provide the game manager with some initialization info
String[] players = new String[] {
@@ -1,12 +1,12 @@
//
// $Id: ParlorProvider.java,v 1.5 2001/10/03 03:44:52 mdb Exp $
// $Id: ParlorProvider.java,v 1.6 2001/10/11 04:07:51 mdb Exp $
package com.threerings.parlor.server;
import com.threerings.cocktail.cher.server.InvocationProvider;
import com.threerings.cocktail.cher.server.ServiceFailedException;
import com.threerings.cocktail.party.data.BodyObject;
import com.threerings.cocktail.party.server.PartyServer;
import com.threerings.presents.server.InvocationProvider;
import com.threerings.presents.server.ServiceFailedException;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.server.CrowdServer;
import com.threerings.parlor.Log;
import com.threerings.parlor.client.ParlorCodes;
@@ -49,7 +49,7 @@ public class ParlorProvider
// ensure that the invitee is online at present
try {
BodyObject target = PartyServer.lookupBody(invitee);
BodyObject target = CrowdServer.lookupBody(invitee);
if (target == null) {
throw new ServiceFailedException(INVITEE_NOT_ONLINE);
}
@@ -1,16 +1,16 @@
//
// $Id: ParlorContext.java,v 1.1 2001/10/01 02:56:35 mdb Exp $
// $Id: ParlorContext.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.parlor.util;
import com.threerings.cocktail.party.util.PartyContext;
import com.threerings.crowd.util.CrowdContext;
import com.threerings.parlor.client.ParlorDirector;
/**
* The parlor context provides access to the various managers, etc. that
* are needed by the parlor client code.
*/
public interface ParlorContext extends PartyContext
public interface ParlorContext extends CrowdContext
{
/**
* Returns a reference to the parlor director.
+4 -4
View File
@@ -1,16 +1,16 @@
//
// $Id: Log.java,v 1.4 2001/07/20 23:23:50 mdb Exp $
// $Id: Log.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher;
package com.threerings.presents;
/**
* A placeholder class that contains a reference to the log object used by
* the Cher services.
* the Presents services.
*/
public class Log
{
public static com.samskivert.util.Log log =
new com.samskivert.util.Log("cocktail.cher");
new com.samskivert.util.Log("presents");
/** Convenience function. */
public static void debug (String message)
@@ -1,16 +1,16 @@
//
// $Id: Client.java,v 1.16 2001/10/09 18:17:33 mdb Exp $
// $Id: Client.java,v 1.17 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
import java.util.ArrayList;
import java.util.List;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.data.ClientObject;
import com.threerings.cocktail.cher.dobj.DObjectManager;
import com.threerings.cocktail.cher.net.BootstrapData;
import com.threerings.cocktail.cher.net.Credentials;
import com.threerings.presents.Log;
import com.threerings.presents.data.ClientObject;
import com.threerings.presents.dobj.DObjectManager;
import com.threerings.presents.net.BootstrapData;
import com.threerings.presents.net.Credentials;
/**
* Through the client object, a connection to the system is established
@@ -1,7 +1,7 @@
//
// $Id: ClientAdapter.java,v 1.2 2001/09/13 19:08:21 mdb Exp $
// $Id: ClientAdapter.java,v 1.3 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
/**
* The client adapter makes life easier for client observer classes that
@@ -1,15 +1,15 @@
//
// $Id: ClientDObjectMgr.java,v 1.6 2001/09/17 05:18:20 mdb Exp $
// $Id: ClientDObjectMgr.java,v 1.7 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
import java.util.ArrayList;
import com.samskivert.util.HashIntMap;
import com.samskivert.util.Queue;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.cocktail.cher.net.*;
import com.threerings.presents.Log;
import com.threerings.presents.dobj.*;
import com.threerings.presents.net.*;
/**
* The client distributed object manager manages a set of proxy objects
@@ -1,7 +1,7 @@
//
// $Id: ClientObserver.java,v 1.2 2001/05/30 23:58:31 mdb Exp $
// $Id: ClientObserver.java,v 1.3 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
/**
* A client observer is registered with the client instance to be notified
@@ -1,7 +1,7 @@
//
// $Id: Communicator.java,v 1.15 2001/10/03 03:39:39 mdb Exp $
// $Id: Communicator.java,v 1.16 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
import java.io.*;
import java.net.Socket;
@@ -10,11 +10,11 @@ import java.net.InetAddress;
import com.samskivert.util.LoopingThread;
import com.samskivert.util.Queue;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.dobj.DObjectManager;
import com.threerings.cocktail.cher.io.*;
import com.threerings.cocktail.cher.io.ObjectStreamException;
import com.threerings.cocktail.cher.net.*;
import com.threerings.presents.Log;
import com.threerings.presents.dobj.DObjectManager;
import com.threerings.presents.io.*;
import com.threerings.presents.io.ObjectStreamException;
import com.threerings.presents.net.*;
/**
* The client performs all network I/O on separate threads (one for
@@ -1,7 +1,7 @@
//
// $Id: InvocationCodes.java,v 1.1 2001/10/01 22:14:54 mdb Exp $
// $Id: InvocationCodes.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
/**
* The invocation codes interface provides codes that are commonly used by
@@ -1,7 +1,7 @@
//
// $Id: InvocationDirector.java,v 1.12 2001/10/04 20:02:13 mdb Exp $
// $Id: InvocationDirector.java,v 1.13 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
import java.lang.reflect.Method;
import java.util.HashMap;
@@ -9,10 +9,10 @@ import java.util.HashMap;
import com.samskivert.util.HashIntMap;
import com.samskivert.util.StringUtil;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.data.*;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.cocktail.cher.util.ClassUtil;
import com.threerings.presents.Log;
import com.threerings.presents.data.*;
import com.threerings.presents.dobj.*;
import com.threerings.presents.util.ClassUtil;
/**
* The invocation services provide client to server invocations (service
@@ -1,7 +1,7 @@
//
// $Id: InvocationReceiver.java,v 1.3 2001/10/02 02:05:50 mdb Exp $
// $Id: InvocationReceiver.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
/**
* Classes registered to process invocation notifications should implement
@@ -1,7 +1,7 @@
//
// $Id: LogonException.java,v 1.2 2001/05/30 23:58:31 mdb Exp $
// $Id: LogonException.java,v 1.3 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.client;
package com.threerings.presents.client;
/**
* A logon exception is used to indicate a failure to log on to the
@@ -1,9 +1,9 @@
//
// $Id: ClientObject.java,v 1.1 2001/07/19 05:56:20 mdb Exp $
// $Id: ClientObject.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.data;
package com.threerings.presents.data;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
/**
* Every client in the system has an associated client object to which
@@ -1,9 +1,9 @@
//
// $Id: InvocationObject.java,v 1.2 2001/07/19 19:18:06 mdb Exp $
// $Id: InvocationObject.java,v 1.3 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.data;
package com.threerings.presents.data;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
/**
* A single invocation object is created by the server invocation manager
@@ -1,14 +1,14 @@
//
// $Id: AttributeChangedEvent.java,v 1.8 2001/08/04 00:32:11 mdb Exp $
// $Id: AttributeChangedEvent.java,v 1.9 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Method;
import com.threerings.cocktail.cher.dobj.io.ValueMarshaller;
import com.threerings.presents.dobj.io.ValueMarshaller;
/**
* An attribute changed event is dispatched when a single attribute of a
@@ -1,14 +1,14 @@
//
// $Id: AttributesChangedEvent.java,v 1.7 2001/08/04 00:32:11 mdb Exp $
// $Id: AttributesChangedEvent.java,v 1.8 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import com.samskivert.util.StringUtil;
import com.threerings.cocktail.cher.dobj.io.ValueMarshaller;
import com.threerings.presents.dobj.io.ValueMarshaller;
/**
* An attribute<em>s</em> changed event is dispatched when multiple
@@ -1,7 +1,7 @@
//
// $Id: DEvent.java,v 1.5 2001/08/04 00:32:11 mdb Exp $
// $Id: DEvent.java,v 1.6 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
/**
* A distributed object event is dispatched whenever any modification is
@@ -1,7 +1,7 @@
//
// $Id: DEventUtil.java,v 1.2 2001/06/01 20:35:39 mdb Exp $
// $Id: DEventUtil.java,v 1.3 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.lang.reflect.Method;
import java.util.HashMap;
@@ -1,16 +1,16 @@
//
// $Id: DObject.java,v 1.26 2001/08/21 19:35:02 mdb Exp $
// $Id: DObject.java,v 1.27 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.lang.reflect.Field;
import java.util.ArrayList;
import com.samskivert.util.ListUtil;
import com.threerings.cocktail.cher.Log;
import com.threerings.presents.Log;
/**
* The distributed object forms the foundation of the cocktail system. All
* The distributed object forms the foundation of the Presents system. All
* information shared among users of the system is done via distributed
* objects. A distributed object has a set of subscribers. These
* subscribers have access to the object or a proxy of the object and
@@ -1,7 +1,7 @@
//
// $Id: DObjectManager.java,v 1.8 2001/08/07 20:38:58 mdb Exp $
// $Id: DObjectManager.java,v 1.9 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
/**
* The distributed object manager is responsible for managing the creation
@@ -1,15 +1,15 @@
//
// $Id: DSet.java,v 1.7 2001/10/02 02:05:50 mdb Exp $
// $Id: DSet.java,v 1.8 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Iterator;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.io.Streamable;
import com.threerings.presents.Log;
import com.threerings.presents.io.Streamable;
/**
* The distributed set class provides a means by which an unordered set of
@@ -27,7 +27,7 @@ import com.threerings.cocktail.cher.io.Streamable;
* sent over the wire.
*
* <p> Classes that wish to act as set elements must implement the {@link
* com.threerings.cocktail.cher.dobj.DSet.Element} interface which extends
* com.threerings.presents.dobj.DSet.Element} interface which extends
* {@link Streamable} and adds the requirement that the object provide a
* key which will be used to identify element equality. Thus an element is
* declared to be in a set of the object returned by that element's
@@ -1,14 +1,14 @@
//
// $Id: EntryAddedEvent.java,v 1.3 2001/08/16 03:45:43 mdb Exp $
// $Id: EntryAddedEvent.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.dobj.io.ElementUtil;
import com.threerings.presents.Log;
import com.threerings.presents.dobj.io.ElementUtil;
/**
* An element added event is dispatched when an element is added to a
@@ -1,13 +1,13 @@
//
// $Id: EntryRemovedEvent.java,v 1.4 2001/08/21 19:33:38 mdb Exp $
// $Id: EntryRemovedEvent.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import com.threerings.cocktail.cher.dobj.io.ValueMarshaller;
import com.threerings.presents.dobj.io.ValueMarshaller;
/**
* An element removed event is dispatched when an element is removed from
@@ -1,14 +1,14 @@
//
// $Id: EntryUpdatedEvent.java,v 1.1 2001/08/16 03:45:43 mdb Exp $
// $Id: EntryUpdatedEvent.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.dobj.io.ElementUtil;
import com.threerings.presents.Log;
import com.threerings.presents.dobj.io.ElementUtil;
/**
* An element updated event is dispatched when an element of a
@@ -1,7 +1,7 @@
//
// $Id: MessageEvent.java,v 1.5 2001/08/11 00:05:58 mdb Exp $
// $Id: MessageEvent.java,v 1.6 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -9,7 +9,7 @@ import java.io.IOException;
import java.lang.reflect.Method;
import com.samskivert.util.StringUtil;
import com.threerings.cocktail.cher.dobj.io.ValueMarshaller;
import com.threerings.presents.dobj.io.ValueMarshaller;
/**
* A message event is used to dispatch a message to all subscribers of a
@@ -1,7 +1,7 @@
//
// $Id: NoSuchObjectException.java,v 1.1 2001/06/01 05:01:52 mdb Exp $
// $Id: NoSuchObjectException.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
/**
* A no such object exception is delivered when a subscriber requests
@@ -1,7 +1,7 @@
//
// $Id: ObjectAccessException.java,v 1.1 2001/06/01 05:01:52 mdb Exp $
// $Id: ObjectAccessException.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
/**
* An object access exception is delivered when an object is not
@@ -1,7 +1,7 @@
//
// $Id: ObjectAddedEvent.java,v 1.4 2001/08/04 00:32:11 mdb Exp $
// $Id: ObjectAddedEvent.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -1,7 +1,7 @@
//
// $Id: ObjectDestroyedEvent.java,v 1.1 2001/08/07 20:38:58 mdb Exp $
// $Id: ObjectDestroyedEvent.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -1,7 +1,7 @@
//
// $Id: ObjectRemovedEvent.java,v 1.4 2001/08/04 00:32:11 mdb Exp $
// $Id: ObjectRemovedEvent.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -1,7 +1,7 @@
//
// $Id: OidList.java,v 1.3 2001/08/04 01:04:49 mdb Exp $
// $Id: OidList.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -1,14 +1,14 @@
//
// $Id: ReleaseLockEvent.java,v 1.3 2001/08/04 01:05:12 mdb Exp $
// $Id: ReleaseLockEvent.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Method;
import com.threerings.cocktail.cher.dobj.io.ValueMarshaller;
import com.threerings.presents.dobj.io.ValueMarshaller;
/**
* A release lock event is dispatched at the end of a chain of events to
@@ -1,7 +1,7 @@
//
// $Id: Subscriber.java,v 1.5 2001/08/02 04:49:08 mdb Exp $
// $Id: Subscriber.java,v 1.6 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
/**
* A subscriber is an entity that has access to a distributed object. The
@@ -1,13 +1,13 @@
//
// $Id: TypedEvent.java,v 1.1 2001/06/11 17:44:04 mdb Exp $
// $Id: TypedEvent.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj;
package com.threerings.presents.dobj;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import com.threerings.cocktail.cher.io.TypedObject;
import com.threerings.presents.io.TypedObject;
/**
* A typed event is one that can be transmitted over the network. All
@@ -1,16 +1,16 @@
//
// $Id: DObjectFactory.java,v 1.7 2001/08/07 20:38:58 mdb Exp $
// $Id: DObjectFactory.java,v 1.8 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.HashMap;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.cocktail.cher.io.ObjectStreamException;
import com.threerings.presents.Log;
import com.threerings.presents.dobj.DObject;
import com.threerings.presents.io.ObjectStreamException;
/**
* The distributed object factory is responsible for marshalling and
@@ -1,11 +1,11 @@
//
// $Id: EntryUtil.java,v 1.2 2001/08/21 21:16:53 mdb Exp $
// $Id: EntryUtil.java,v 1.3 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.*;
import com.threerings.cocktail.cher.dobj.DSet;
import com.threerings.presents.dobj.DSet;
/**
* Routines to simplify the process of moving set elements over the wire.
@@ -1,14 +1,14 @@
//
// $Id: BooleanFieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: BooleanFieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class BooleanFieldMarshaller implements FieldMarshaller
{
@@ -1,15 +1,15 @@
//
// $Id: DSetFieldMarshaller.java,v 1.1 2001/08/20 21:44:10 mdb Exp $
// $Id: DSetFieldMarshaller.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.cocktail.cher.dobj.DSet;
import com.threerings.presents.dobj.DObject;
import com.threerings.presents.dobj.DSet;
public class DSetFieldMarshaller implements FieldMarshaller
{
@@ -1,14 +1,14 @@
//
// $Id: DoubleFieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: DoubleFieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class DoubleFieldMarshaller implements FieldMarshaller
{
@@ -1,14 +1,14 @@
//
// $Id: FieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: FieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
/**
* A field marshaller knows how to marshall and unmarshall a particular
@@ -1,11 +1,11 @@
//
// $Id: FieldMarshallerRegistry.java,v 1.5 2001/08/20 21:44:10 mdb Exp $
// $Id: FieldMarshallerRegistry.java,v 1.6 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.lang.reflect.Field;
import java.util.Hashtable;
import com.threerings.cocktail.cher.Log;
import com.threerings.presents.Log;
/**
* Field marshaller instances are registered for each type of field that
@@ -1,14 +1,14 @@
//
// $Id: FloatFieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: FloatFieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class FloatFieldMarshaller implements FieldMarshaller
{
@@ -1,7 +1,7 @@
//
// $Id: FramedInputStream.java,v 1.6 2001/08/21 23:26:21 mdb Exp $
// $Id: FramedInputStream.java,v 1.7 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
import java.io.EOFException;
import java.io.IOException;
@@ -9,7 +9,7 @@ import java.io.InputStream;
import com.samskivert.util.StringUtil;
import com.threerings.cocktail.cher.Log;
import com.threerings.presents.Log;
/**
* The framed input stream reads input that was framed by a framing output
@@ -1,7 +1,7 @@
//
// $Id: FramingOutputStream.java,v 1.3 2001/05/30 23:58:31 mdb Exp $
// $Id: FramingOutputStream.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -1,14 +1,14 @@
//
// $Id: IntFieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: IntFieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class IntFieldMarshaller implements FieldMarshaller
{
@@ -1,14 +1,14 @@
//
// $Id: LongFieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: LongFieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class LongFieldMarshaller implements FieldMarshaller
{
@@ -1,7 +1,7 @@
//
// $Id: Marshaller.java,v 1.4 2001/06/11 17:42:20 mdb Exp $
// $Id: Marshaller.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -13,9 +13,9 @@ import java.util.Arrays;
import java.util.ArrayList;
import java.util.Comparator;
import com.threerings.cocktail.cher.Log;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.cocktail.cher.io.ObjectStreamException;
import com.threerings.presents.Log;
import com.threerings.presents.dobj.DObject;
import com.threerings.presents.io.ObjectStreamException;
/**
* The marshaller inspects the class with which it is constructed and
@@ -1,7 +1,7 @@
//
// $Id: ObjectStreamException.java,v 1.3 2001/05/30 23:58:31 mdb Exp $
// $Id: ObjectStreamException.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
import java.io.IOException;
@@ -1,15 +1,15 @@
//
// $Id: OidListFieldMarshaller.java,v 1.1 2001/08/02 05:09:21 mdb Exp $
// $Id: OidListFieldMarshaller.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.cocktail.cher.dobj.OidList;
import com.threerings.presents.dobj.DObject;
import com.threerings.presents.dobj.OidList;
public class OidListFieldMarshaller implements FieldMarshaller
{
@@ -1,14 +1,14 @@
//
// $Id: ShortFieldMarshaller.java,v 1.3 2001/06/11 17:42:20 mdb Exp $
// $Id: ShortFieldMarshaller.java,v 1.4 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class ShortFieldMarshaller implements FieldMarshaller
{
@@ -1,7 +1,7 @@
//
// $Id: Streamable.java,v 1.1 2001/08/16 03:25:14 mdb Exp $
// $Id: Streamable.java,v 1.2 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
import java.io.IOException;
import java.io.DataInputStream;
@@ -1,14 +1,14 @@
//
// $Id: StringFieldMarshaller.java,v 1.4 2001/06/11 17:42:20 mdb Exp $
// $Id: StringFieldMarshaller.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
public class StringFieldMarshaller implements FieldMarshaller
{
@@ -1,7 +1,7 @@
//
// $Id: TypedObject.java,v 1.4 2001/08/16 03:25:14 mdb Exp $
// $Id: TypedObject.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
/**
* A typed object is one that is associated with a particular type code.
@@ -1,14 +1,14 @@
//
// $Id: TypedObjectFactory.java,v 1.6 2001/06/13 05:16:25 mdb Exp $
// $Id: TypedObjectFactory.java,v 1.7 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.HashMap;
import com.threerings.cocktail.cher.Log;
import com.threerings.presents.Log;
/**
* The encodable factory is used to unserialize encodable object instances
@@ -1,10 +1,10 @@
//
// $Id: TypedObjectRegistry.java,v 1.6 2001/08/16 03:31:09 mdb Exp $
// $Id: TypedObjectRegistry.java,v 1.7 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.io;
package com.threerings.presents.io;
import com.threerings.cocktail.cher.dobj.*;
import com.threerings.cocktail.cher.net.*;
import com.threerings.presents.dobj.*;
import com.threerings.presents.net.*;
/**
* The registry provides a single place where all typed objects that are
@@ -1,13 +1,13 @@
//
// $Id: ValueMarshaller.java,v 1.4 2001/10/03 03:38:55 mdb Exp $
// $Id: ValueMarshaller.java,v 1.5 2001/10/11 04:07:52 mdb Exp $
package com.threerings.cocktail.cher.dobj.io;
package com.threerings.presents.dobj.io;
import java.io.*;
import java.util.HashMap;
import com.samskivert.util.HashIntMap;
import com.threerings.cocktail.cher.io.Streamable;
import com.threerings.presents.io.Streamable;
/**
* The value marshaller provides a mechanism for marshalling and
@@ -37,7 +37,7 @@ public class ValueMarshaller
* The value must be one of the valid distributed object attribute
* types.
*
* @see com.threerings.cocktail.cher.dobj.DObject
* @see com.threerings.presents.dobj.DObject
* @see #readFrom
*/
public static void writeTo (DataOutputStream out, Object value)
@@ -1,13 +1,13 @@
//
// $Id: AuthRequest.java,v 1.6 2001/07/19 19:30:14 mdb Exp $
// $Id: AuthRequest.java,v 1.7 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.io.TypedObjectFactory;
import com.threerings.presents.io.TypedObjectFactory;
public class AuthRequest extends UpstreamMessage
{
@@ -1,13 +1,13 @@
//
// $Id: AuthResponse.java,v 1.8 2001/07/19 19:30:14 mdb Exp $
// $Id: AuthResponse.java,v 1.9 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.dobj.io.DObjectFactory;
import com.threerings.presents.dobj.io.DObjectFactory;
/**
* The auth response communicates authentication success or failure as
@@ -1,9 +1,9 @@
//
// $Id: AuthResponseData.java,v 1.8 2001/10/03 03:41:04 mdb Exp $
// $Id: AuthResponseData.java,v 1.9 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
/**
* An <code>AuthResponseData</code> object is communicated back to the
@@ -1,9 +1,9 @@
//
// $Id: BootstrapData.java,v 1.2 2001/10/09 18:17:52 mdb Exp $
// $Id: BootstrapData.java,v 1.3 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import com.threerings.cocktail.cher.dobj.DObject;
import com.threerings.presents.dobj.DObject;
/**
* A <code>BootstrapData</code> object is communicated back to the client
@@ -1,13 +1,13 @@
//
// $Id: BootstrapNotification.java,v 1.2 2001/07/19 19:30:14 mdb Exp $
// $Id: BootstrapNotification.java,v 1.3 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.dobj.io.DObjectFactory;
import com.threerings.presents.dobj.io.DObjectFactory;
/**
* A bootstrap notification is delivered to the client once the server has
@@ -1,14 +1,14 @@
//
// $Id: Credentials.java,v 1.6 2001/07/19 19:30:14 mdb Exp $
// $Id: Credentials.java,v 1.7 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.io.TypedObject;
import com.threerings.cocktail.cher.io.TypedObjectFactory;
import com.threerings.presents.io.TypedObject;
import com.threerings.presents.io.TypedObjectFactory;
/**
* Credentials are supplied by the client implementation and sent along to
@@ -1,13 +1,13 @@
//
// $Id: DownstreamMessage.java,v 1.7 2001/07/19 19:30:14 mdb Exp $
// $Id: DownstreamMessage.java,v 1.8 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.io.TypedObject;
import com.threerings.presents.io.TypedObject;
/**
* The <code>DownstreamMessage</code> class encapsulates a message in the
@@ -1,14 +1,14 @@
//
// $Id: EventNotification.java,v 1.9 2001/07/19 19:30:14 mdb Exp $
// $Id: EventNotification.java,v 1.10 2001/10/11 04:07:53 mdb Exp $
package com.threerings.cocktail.cher.net;
package com.threerings.presents.net;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.dobj.TypedEvent;
import com.threerings.cocktail.cher.io.TypedObjectFactory;
import com.threerings.presents.dobj.TypedEvent;
import com.threerings.presents.io.TypedObjectFactory;
public class EventNotification extends DownstreamMessage
{

Some files were not shown because too many files have changed in this diff Show More