Files
vilya/apidocs/com/threerings/parlor/client/TableDirector.html
T
2011-04-06 17:01:15 -07:00

690 lines
32 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_24) on Wed Apr 06 17:00:09 PDT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
TableDirector (vilya 1.3 API)
</TITLE>
<META NAME="date" CONTENT="2011-04-06">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TableDirector (vilya 1.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TableDirector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/threerings/parlor/client/TableConfigurator.html" title="class in com.threerings.parlor.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?com/threerings/parlor/client/TableDirector.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TableDirector.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.threerings.parlor.client</FONT>
<BR>
Class TableDirector</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">com.threerings.presents.client.BasicDirector
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.threerings.parlor.client.TableDirector</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>com.threerings.presents.client.InvocationService.InvocationListener, com.threerings.presents.client.InvocationService.ResultListener, com.threerings.presents.client.SessionObserver, com.threerings.presents.dobj.ChangeListener, com.threerings.presents.dobj.SetListener&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>TableDirector</B><DT>extends com.threerings.presents.client.BasicDirector<DT>implements com.threerings.presents.dobj.SetListener&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;, com.threerings.presents.client.InvocationService.ResultListener</DL>
</PRE>
<P>
As tables are created and managed within the scope of a place (a lobby), we want to fold the
table management functionality into the standard hierarchy of place controllers that deal with
place-related functionality on the client. Thus, instead of forcing places that expect to have
tables to extend a <code>TableLobbyController</code> or something similar, we instead provide
the table director which can be instantiated by the place controller (or specific table related
views) to handle the table matchmaking services.
<p> Entites that do so, will need to implement the <A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client"><CODE>TableObserver</CODE></A> interface so that the
table director can notify them when table related things happen.
<p> The table services expect that the place object being used as a lobby in which the table
matchmaking takes place implements the <A HREF="../../../../com/threerings/parlor/data/TableLobbyObject.html" title="interface in com.threerings.parlor.data"><CODE>TableLobbyObject</CODE></A> interface.
<P>
<P>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#TableDirector(com.threerings.parlor.util.ParlorContext, java.lang.String, com.threerings.parlor.client.TableObserver)">TableDirector</A></B>(<A HREF="../../../../com/threerings/parlor/util/ParlorContext.html" title="interface in com.threerings.parlor.util">ParlorContext</A>&nbsp;ctx,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tableField,
<A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client">TableObserver</A>&nbsp;observer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new table director to manage tables with the specified observer which will receive
callbacks when interesting table related things happen.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#addSeatednessObserver(com.threerings.parlor.client.SeatednessObserver)">addSeatednessObserver</A></B>(<A HREF="../../../../com/threerings/parlor/client/SeatednessObserver.html" title="interface in com.threerings.parlor.client">SeatednessObserver</A>&nbsp;observer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests that the specified observer be added to the list of observers that are notified
when this client sits down at or stands up from a table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#bootPlayer(int, com.threerings.util.Name)">bootPlayer</A></B>(int&nbsp;tableId,
com.threerings.util.Name&nbsp;target)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a request to boot a player from a table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#clearTableObject()">clearTableObject</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This must be called by the entity that uses the table director when the using entity has
left and is done dealing with tables.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#clientDidLogoff(com.threerings.presents.client.Client)">clientDidLogoff</A></B>(com.threerings.presents.client.Client&nbsp;client)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#createTable(com.threerings.parlor.data.TableConfig, com.threerings.parlor.game.data.GameConfig)">createTable</A></B>(<A HREF="../../../../com/threerings/parlor/data/TableConfig.html" title="class in com.threerings.parlor.data">TableConfig</A>&nbsp;tableConfig,
<A HREF="../../../../com/threerings/parlor/game/data/GameConfig.html" title="class in com.threerings.parlor.game.data">GameConfig</A>&nbsp;config)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a request to create a table with the specified game configuration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#entryAdded(com.threerings.presents.dobj.EntryAddedEvent)">entryAdded</A></B>(com.threerings.presents.dobj.EntryAddedEvent&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;&nbsp;event)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#entryRemoved(com.threerings.presents.dobj.EntryRemovedEvent)">entryRemoved</A></B>(com.threerings.presents.dobj.EntryRemovedEvent&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;&nbsp;event)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#entryUpdated(com.threerings.presents.dobj.EntryUpdatedEvent)">entryUpdated</A></B>(com.threerings.presents.dobj.EntryUpdatedEvent&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;&nbsp;event)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#getSeatedTable()">getSeatedTable</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current table this client is seated at, or null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#isSeated()">isSeated</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this client is currently seated at a table, false if they are not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#joinTable(int, int)">joinTable</A></B>(int&nbsp;tableId,
int&nbsp;position)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a request to join the specified table at the specified position.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#leaveTable(int)">leaveTable</A></B>(int&nbsp;tableId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a request to leave the specified table at which we are presumably seated.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#removeSeatednessObserver(com.threerings.parlor.client.SeatednessObserver)">removeSeatednessObserver</A></B>(<A HREF="../../../../com/threerings/parlor/client/SeatednessObserver.html" title="interface in com.threerings.parlor.client">SeatednessObserver</A>&nbsp;observer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests that the specified observer be removed from to the list of observers that are
notified when this client sits down at or stands up from a table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#requestFailed(java.lang.String)">requestFailed</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;reason)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#requestProcessed(java.lang.Object)">requestProcessed</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;result)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#setTableObject(com.threerings.presents.dobj.DObject)">setTableObject</A></B>(com.threerings.presents.dobj.DObject&nbsp;tlobj)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This must be called by the entity that uses the table director when the using entity
prepares to enter and display a place.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/parlor/client/TableDirector.html#startTableNow(int)">startTableNow</A></B>(int&nbsp;tableId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a request to have the specified table start now, even if all the seats have not yet
been filled.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.threerings.presents.client.BasicDirector"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class com.threerings.presents.client.BasicDirector</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clientDidLogon, clientObjectDidChange, clientWillLogon, isAvailableInStandalone, setAvailableInStandalone</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="TableDirector(com.threerings.parlor.util.ParlorContext, java.lang.String, com.threerings.parlor.client.TableObserver)"><!-- --></A><H3>
TableDirector</H3>
<PRE>
public <B>TableDirector</B>(<A HREF="../../../../com/threerings/parlor/util/ParlorContext.html" title="interface in com.threerings.parlor.util">ParlorContext</A>&nbsp;ctx,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tableField,
<A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client">TableObserver</A>&nbsp;observer)</PRE>
<DL>
<DD>Creates a new table director to manage tables with the specified observer which will receive
callbacks when interesting table related things happen.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>ctx</CODE> - the parlor context in use by the client.<DD><CODE>tableField</CODE> - the field name of the distributed set that contains the tables we will be
managing.<DD><CODE>observer</CODE> - the entity that will receive callbacks when things happen to the tables.</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="setTableObject(com.threerings.presents.dobj.DObject)"><!-- --></A><H3>
setTableObject</H3>
<PRE>
public void <B>setTableObject</B>(com.threerings.presents.dobj.DObject&nbsp;tlobj)</PRE>
<DL>
<DD>This must be called by the entity that uses the table director when the using entity
prepares to enter and display a place.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clearTableObject()"><!-- --></A><H3>
clearTableObject</H3>
<PRE>
public void <B>clearTableObject</B>()</PRE>
<DL>
<DD>This must be called by the entity that uses the table director when the using entity has
left and is done dealing with tables.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addSeatednessObserver(com.threerings.parlor.client.SeatednessObserver)"><!-- --></A><H3>
addSeatednessObserver</H3>
<PRE>
public void <B>addSeatednessObserver</B>(<A HREF="../../../../com/threerings/parlor/client/SeatednessObserver.html" title="interface in com.threerings.parlor.client">SeatednessObserver</A>&nbsp;observer)</PRE>
<DL>
<DD>Requests that the specified observer be added to the list of observers that are notified
when this client sits down at or stands up from a table.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="removeSeatednessObserver(com.threerings.parlor.client.SeatednessObserver)"><!-- --></A><H3>
removeSeatednessObserver</H3>
<PRE>
public void <B>removeSeatednessObserver</B>(<A HREF="../../../../com/threerings/parlor/client/SeatednessObserver.html" title="interface in com.threerings.parlor.client">SeatednessObserver</A>&nbsp;observer)</PRE>
<DL>
<DD>Requests that the specified observer be removed from to the list of observers that are
notified when this client sits down at or stands up from a table.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isSeated()"><!-- --></A><H3>
isSeated</H3>
<PRE>
public boolean <B>isSeated</B>()</PRE>
<DL>
<DD>Returns true if this client is currently seated at a table, false if they are not.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSeatedTable()"><!-- --></A><H3>
getSeatedTable</H3>
<PRE>
public <A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A> <B>getSeatedTable</B>()</PRE>
<DL>
<DD>Returns the current table this client is seated at, or null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createTable(com.threerings.parlor.data.TableConfig, com.threerings.parlor.game.data.GameConfig)"><!-- --></A><H3>
createTable</H3>
<PRE>
public void <B>createTable</B>(<A HREF="../../../../com/threerings/parlor/data/TableConfig.html" title="class in com.threerings.parlor.data">TableConfig</A>&nbsp;tableConfig,
<A HREF="../../../../com/threerings/parlor/game/data/GameConfig.html" title="class in com.threerings.parlor.game.data">GameConfig</A>&nbsp;config)</PRE>
<DL>
<DD>Sends a request to create a table with the specified game configuration. This user will
become the owner of this table and will be added to the first position in the table. The
response will be communicated via the <A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client"><CODE>TableObserver</CODE></A> interface.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="joinTable(int, int)"><!-- --></A><H3>
joinTable</H3>
<PRE>
public void <B>joinTable</B>(int&nbsp;tableId,
int&nbsp;position)</PRE>
<DL>
<DD>Sends a request to join the specified table at the specified position. The response will be
communicated via the <A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client"><CODE>TableObserver</CODE></A> interface.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="leaveTable(int)"><!-- --></A><H3>
leaveTable</H3>
<PRE>
public void <B>leaveTable</B>(int&nbsp;tableId)</PRE>
<DL>
<DD>Sends a request to leave the specified table at which we are presumably seated. The response
will be communicated via the <A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client"><CODE>TableObserver</CODE></A> interface.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="startTableNow(int)"><!-- --></A><H3>
startTableNow</H3>
<PRE>
public void <B>startTableNow</B>(int&nbsp;tableId)</PRE>
<DL>
<DD>Sends a request to have the specified table start now, even if all the seats have not yet
been filled.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bootPlayer(int, com.threerings.util.Name)"><!-- --></A><H3>
bootPlayer</H3>
<PRE>
public void <B>bootPlayer</B>(int&nbsp;tableId,
com.threerings.util.Name&nbsp;target)</PRE>
<DL>
<DD>Sends a request to boot a player from a table.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clientDidLogoff(com.threerings.presents.client.Client)"><!-- --></A><H3>
clientDidLogoff</H3>
<PRE>
public void <B>clientDidLogoff</B>(com.threerings.presents.client.Client&nbsp;client)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>clientDidLogoff</CODE> in interface <CODE>com.threerings.presents.client.SessionObserver</CODE><DT><B>Overrides:</B><DD><CODE>clientDidLogoff</CODE> in class <CODE>com.threerings.presents.client.BasicDirector</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="entryAdded(com.threerings.presents.dobj.EntryAddedEvent)"><!-- --></A><H3>
entryAdded</H3>
<PRE>
public void <B>entryAdded</B>(com.threerings.presents.dobj.EntryAddedEvent&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;&nbsp;event)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>entryAdded</CODE> in interface <CODE>com.threerings.presents.dobj.SetListener&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="entryUpdated(com.threerings.presents.dobj.EntryUpdatedEvent)"><!-- --></A><H3>
entryUpdated</H3>
<PRE>
public void <B>entryUpdated</B>(com.threerings.presents.dobj.EntryUpdatedEvent&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;&nbsp;event)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>entryUpdated</CODE> in interface <CODE>com.threerings.presents.dobj.SetListener&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="entryRemoved(com.threerings.presents.dobj.EntryRemovedEvent)"><!-- --></A><H3>
entryRemoved</H3>
<PRE>
public void <B>entryRemoved</B>(com.threerings.presents.dobj.EntryRemovedEvent&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;&nbsp;event)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>entryRemoved</CODE> in interface <CODE>com.threerings.presents.dobj.SetListener&lt;<A HREF="../../../../com/threerings/parlor/data/Table.html" title="class in com.threerings.parlor.data">Table</A>&gt;</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="requestProcessed(java.lang.Object)"><!-- --></A><H3>
requestProcessed</H3>
<PRE>
public void <B>requestProcessed</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;result)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>requestProcessed</CODE> in interface <CODE>com.threerings.presents.client.InvocationService.ResultListener</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="requestFailed(java.lang.String)"><!-- --></A><H3>
requestFailed</H3>
<PRE>
public void <B>requestFailed</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;reason)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>requestFailed</CODE> in interface <CODE>com.threerings.presents.client.InvocationService.InvocationListener</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TableDirector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/threerings/parlor/client/TableConfigurator.html" title="class in com.threerings.parlor.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/threerings/parlor/client/TableObserver.html" title="interface in com.threerings.parlor.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?com/threerings/parlor/client/TableDirector.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TableDirector.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2011. All Rights Reserved.
</BODY>
</HTML>