Register ourselves as an invocation handler and handle failed invitations.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@385 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ParlorDirector.java,v 1.6 2001/10/02 21:52:33 mdb Exp $
|
// $Id: ParlorDirector.java,v 1.7 2001/10/03 03:43:14 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.parlor.client;
|
package com.threerings.parlor.client;
|
||||||
|
|
||||||
@@ -35,6 +35,11 @@ public class ParlorDirector
|
|||||||
public ParlorDirector (ParlorContext ctx)
|
public ParlorDirector (ParlorContext ctx)
|
||||||
{
|
{
|
||||||
_ctx = ctx;
|
_ctx = ctx;
|
||||||
|
|
||||||
|
// register ourselves with the invocation director as handling
|
||||||
|
// parlor notifications
|
||||||
|
_ctx.getClient().getInvocationDirector().
|
||||||
|
registerReceiver(MODULE_NAME, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -190,6 +195,9 @@ public class ParlorDirector
|
|||||||
*/
|
*/
|
||||||
public void handleGameReadyNotification (int gameOid, GameConfig config)
|
public void handleGameReadyNotification (int gameOid, GameConfig config)
|
||||||
{
|
{
|
||||||
|
Log.info("Handling game ready [goid=" + gameOid +
|
||||||
|
", config=" + config + "].");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// create the game controller for this game
|
// create the game controller for this game
|
||||||
GameController ctrl = (GameController)
|
GameController ctrl = (GameController)
|
||||||
@@ -359,7 +367,27 @@ public class ParlorDirector
|
|||||||
*/
|
*/
|
||||||
public void handleInviteFailed (int invid, String reason)
|
public void handleInviteFailed (int invid, String reason)
|
||||||
{
|
{
|
||||||
// TBD
|
Log.info("Handling invite failed [invid=" + invid +
|
||||||
|
", reason=" + reason + "].");
|
||||||
|
|
||||||
|
// remove the invitation record from the submitted table and let
|
||||||
|
// the observer know that we're hosed
|
||||||
|
Invitation invite = (Invitation)_submittedInvites.remove(invid);
|
||||||
|
if (invite == null) {
|
||||||
|
Log.warning("Received failed notification for non-existent " +
|
||||||
|
"invitation request!? [invid=" + invid +
|
||||||
|
", reason=" + reason + "].");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// let the observer know what's up
|
||||||
|
try {
|
||||||
|
invite.observer.invitationRefused(invite.inviteId, reason);
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.warning("Invite observer choked on refusal notification " +
|
||||||
|
"[invite=" + invite + ", reason=" + reason + "].");
|
||||||
|
Log.logStackTrace(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user