Keep track of the client object id in the agent object (this will allow WhirledGameManager.validateUser to check out a dispatch from a bureau client)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5152 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -38,6 +38,9 @@ public class AgentObject extends DObject
|
|||||||
|
|
||||||
/** The field name of the <code>className</code> field. */
|
/** The field name of the <code>className</code> field. */
|
||||||
public static const CLASS_NAME :String = "className";
|
public static const CLASS_NAME :String = "className";
|
||||||
|
|
||||||
|
/** The field name of the <code>clientOid</code> field. */
|
||||||
|
public static const CLIENT_OID :String = "clientOid";
|
||||||
// AUTO-GENERATED: FIELDS END
|
// AUTO-GENERATED: FIELDS END
|
||||||
|
|
||||||
/** The id of the bureau the agent is running in. This is normally a unique id corresponding
|
/** The id of the bureau the agent is running in. This is normally a unique id corresponding
|
||||||
@@ -57,71 +60,91 @@ public class AgentObject extends DObject
|
|||||||
* used depends on the type of bureau and will be resolve in the bureau client. */
|
* used depends on the type of bureau and will be resolve in the bureau client. */
|
||||||
public var className :String;
|
public var className :String;
|
||||||
|
|
||||||
|
/** The id of the client running this agent (only set after the agent is assigned to a
|
||||||
|
* bureau and is running). */
|
||||||
|
public var clientOid :int;
|
||||||
|
|
||||||
// AUTO-GENERATED: METHODS START
|
// AUTO-GENERATED: METHODS START
|
||||||
/**
|
// /**
|
||||||
* Requests that the <code>bureauId</code> field be set to the
|
// * Requests that the <code>bureauId</code> field be set to the
|
||||||
* specified value. The local value will be updated immediately and an
|
// * specified value. The local value will be updated immediately and an
|
||||||
* event will be propagated through the system to notify all listeners
|
// * event will be propagated through the system to notify all listeners
|
||||||
* that the attribute did change. Proxied copies of this object (on
|
// * that the attribute did change. Proxied copies of this object (on
|
||||||
* clients) will apply the value change when they received the
|
// * clients) will apply the value change when they received the
|
||||||
* attribute changed notification.
|
// * attribute changed notification.
|
||||||
*/
|
// */
|
||||||
public function setBureauId (value :String) :void
|
// public function setBureauId (value :String) :void
|
||||||
{
|
// {
|
||||||
var ovalue :String = this.bureauId;
|
// var ovalue :String = this.bureauId;
|
||||||
requestAttributeChange(
|
// requestAttributeChange(
|
||||||
BUREAU_ID, value, ovalue);
|
// BUREAU_ID, value, ovalue);
|
||||||
this.bureauId = value;
|
// this.bureauId = value;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* Requests that the <code>bureauType</code> field be set to the
|
// * Requests that the <code>bureauType</code> field be set to the
|
||||||
* specified value. The local value will be updated immediately and an
|
// * specified value. The local value will be updated immediately and an
|
||||||
* event will be propagated through the system to notify all listeners
|
// * event will be propagated through the system to notify all listeners
|
||||||
* that the attribute did change. Proxied copies of this object (on
|
// * that the attribute did change. Proxied copies of this object (on
|
||||||
* clients) will apply the value change when they received the
|
// * clients) will apply the value change when they received the
|
||||||
* attribute changed notification.
|
// * attribute changed notification.
|
||||||
*/
|
// */
|
||||||
public function setBureauType (value :String) :void
|
// public function setBureauType (value :String) :void
|
||||||
{
|
// {
|
||||||
var ovalue :String = this.bureauType;
|
// var ovalue :String = this.bureauType;
|
||||||
requestAttributeChange(
|
// requestAttributeChange(
|
||||||
BUREAU_TYPE, value, ovalue);
|
// BUREAU_TYPE, value, ovalue);
|
||||||
this.bureauType = value;
|
// this.bureauType = value;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* Requests that the <code>code</code> field be set to the
|
// * Requests that the <code>code</code> field be set to the
|
||||||
* specified value. The local value will be updated immediately and an
|
// * specified value. The local value will be updated immediately and an
|
||||||
* event will be propagated through the system to notify all listeners
|
// * event will be propagated through the system to notify all listeners
|
||||||
* that the attribute did change. Proxied copies of this object (on
|
// * that the attribute did change. Proxied copies of this object (on
|
||||||
* clients) will apply the value change when they received the
|
// * clients) will apply the value change when they received the
|
||||||
* attribute changed notification.
|
// * attribute changed notification.
|
||||||
*/
|
// */
|
||||||
public function setCode (value :String) :void
|
// public function setCode (value :String) :void
|
||||||
{
|
// {
|
||||||
var ovalue :String = this.code;
|
// var ovalue :String = this.code;
|
||||||
requestAttributeChange(
|
// requestAttributeChange(
|
||||||
CODE, value, ovalue);
|
// CODE, value, ovalue);
|
||||||
this.code = value;
|
// this.code = value;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* Requests that the <code>className</code> field be set to the
|
// * Requests that the <code>className</code> field be set to the
|
||||||
* specified value. The local value will be updated immediately and an
|
// * specified value. The local value will be updated immediately and an
|
||||||
* event will be propagated through the system to notify all listeners
|
// * event will be propagated through the system to notify all listeners
|
||||||
* that the attribute did change. Proxied copies of this object (on
|
// * that the attribute did change. Proxied copies of this object (on
|
||||||
* clients) will apply the value change when they received the
|
// * clients) will apply the value change when they received the
|
||||||
* attribute changed notification.
|
// * attribute changed notification.
|
||||||
*/
|
// */
|
||||||
public function setClassName (value :String) :void
|
// public function setClassName (value :String) :void
|
||||||
{
|
// {
|
||||||
var ovalue :String = this.className;
|
// var ovalue :String = this.className;
|
||||||
requestAttributeChange(
|
// requestAttributeChange(
|
||||||
CLASS_NAME, value, ovalue);
|
// CLASS_NAME, value, ovalue);
|
||||||
this.className = value;
|
// this.className = value;
|
||||||
}
|
// }
|
||||||
// AUTO-GENERATED: METHODS END
|
|
||||||
|
// /**
|
||||||
|
// * Requests that the <code>clientOid</code> field be set to the
|
||||||
|
// * specified value. The local value will be updated immediately and an
|
||||||
|
// * event will be propagated through the system to notify all listeners
|
||||||
|
// * that the attribute did change. Proxied copies of this object (on
|
||||||
|
// * clients) will apply the value change when they received the
|
||||||
|
// * attribute changed notification.
|
||||||
|
// */
|
||||||
|
// public function setClientOid (value :int) :void
|
||||||
|
// {
|
||||||
|
// var ovalue :int = this.clientOid;
|
||||||
|
// requestAttributeChange(
|
||||||
|
// CLIENT_OID, Integer.valueOf(value), Integer.valueOf(ovalue));
|
||||||
|
// this.clientOid = value;
|
||||||
|
// }
|
||||||
|
// // AUTO-GENERATED: METHODS END
|
||||||
|
|
||||||
// from interface Streamable
|
// from interface Streamable
|
||||||
override public function readObject (ins :ObjectInputStream) :void
|
override public function readObject (ins :ObjectInputStream) :void
|
||||||
@@ -131,6 +154,7 @@ public class AgentObject extends DObject
|
|||||||
bureauType = ins.readField(String) as String;
|
bureauType = ins.readField(String) as String;
|
||||||
code = ins.readField(String) as String;
|
code = ins.readField(String) as String;
|
||||||
className = ins.readField(String) as String;
|
className = ins.readField(String) as String;
|
||||||
|
clientOid = ins.readInt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ public class AgentObject extends DObject
|
|||||||
|
|
||||||
/** The field name of the <code>className</code> field. */
|
/** The field name of the <code>className</code> field. */
|
||||||
public static final String CLASS_NAME = "className";
|
public static final String CLASS_NAME = "className";
|
||||||
|
|
||||||
|
/** The field name of the <code>clientOid</code> field. */
|
||||||
|
public static final String CLIENT_OID = "clientOid";
|
||||||
// AUTO-GENERATED: FIELDS END
|
// AUTO-GENERATED: FIELDS END
|
||||||
|
|
||||||
/** The id of the bureau the agent is running in. This is normally a unique id corresponding
|
/** The id of the bureau the agent is running in. This is normally a unique id corresponding
|
||||||
@@ -56,6 +59,10 @@ public class AgentObject extends DObject
|
|||||||
* used depends on the type of bureau and will be resolve in the bureau client. */
|
* used depends on the type of bureau and will be resolve in the bureau client. */
|
||||||
public String className;
|
public String className;
|
||||||
|
|
||||||
|
/** The id of the client running this agent (only set after the agent is assigned to a
|
||||||
|
* bureau and run). */
|
||||||
|
public int clientOid;
|
||||||
|
|
||||||
// AUTO-GENERATED: METHODS START
|
// AUTO-GENERATED: METHODS START
|
||||||
/**
|
/**
|
||||||
* Requests that the <code>bureauId</code> field be set to the
|
* Requests that the <code>bureauId</code> field be set to the
|
||||||
@@ -120,5 +127,21 @@ public class AgentObject extends DObject
|
|||||||
CLASS_NAME, value, ovalue);
|
CLASS_NAME, value, ovalue);
|
||||||
this.className = value;
|
this.className = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Requests that the <code>clientOid</code> field be set to the
|
||||||
|
* specified value. The local value will be updated immediately and an
|
||||||
|
* event will be propagated through the system to notify all listeners
|
||||||
|
* that the attribute did change. Proxied copies of this object (on
|
||||||
|
* clients) will apply the value change when they received the
|
||||||
|
* attribute changed notification.
|
||||||
|
*/
|
||||||
|
public void setClientOid (int value)
|
||||||
|
{
|
||||||
|
int ovalue = this.clientOid;
|
||||||
|
requestAttributeChange(
|
||||||
|
CLIENT_OID, Integer.valueOf(value), Integer.valueOf(ovalue));
|
||||||
|
this.clientOid = value;
|
||||||
|
}
|
||||||
// AUTO-GENERATED: METHODS END
|
// AUTO-GENERATED: METHODS END
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -320,6 +320,7 @@ public class BureauRegistry
|
|||||||
switch (found.state) {
|
switch (found.state) {
|
||||||
case Bureau.STARTED:
|
case Bureau.STARTED:
|
||||||
found.bureau.agentStates.put(found.agent, Bureau.RUNNING);
|
found.bureau.agentStates.put(found.agent, Bureau.RUNNING);
|
||||||
|
found.agent.setClientOid(client.getOid());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Bureau.STILL_BORN:
|
case Bureau.STILL_BORN:
|
||||||
|
|||||||
Reference in New Issue
Block a user