Files
vilya/apidocs/com/threerings/micasa/lobby/LobbyRegistry.html
T
2015-03-14 10:44:30 -07:00

443 lines
22 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_31) on Sat Mar 14 10:07:07 PDT 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LobbyRegistry (Vilya Core 1.6 API)</title>
<meta name="date" content="2015-03-14">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LobbyRegistry (Vilya Core 1.6 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LobbyRegistry.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html" title="interface in com.threerings.micasa.lobby"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/threerings/micasa/lobby/LobbySelector.html" title="class in com.threerings.micasa.lobby"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/threerings/micasa/lobby/LobbyRegistry.html" target="_top">Frames</a></li>
<li><a href="LobbyRegistry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.threerings.micasa.lobby</div>
<h2 title="Class LobbyRegistry" class="title">Class LobbyRegistry</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.threerings.micasa.lobby.LobbyRegistry</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html" title="interface in com.threerings.micasa.lobby">LobbyProvider</a>, com.threerings.presents.server.InvocationProvider</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">LobbyRegistry</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html" title="interface in com.threerings.micasa.lobby">LobbyProvider</a></pre>
<div class="block">The lobby registry is the primary class that coordinates the lobby services on the client. It
sets up the necessary invocation services and keeps track of the lobbies in operation on the
server. Only one lobby registry should be created on a server.
<p> Presently, the lobby registry is configured with lobbies via the server configuration. An
example configuration follows:
<pre><code>
lobby_ids = foolobby, barlobby, bazlobby
foolobby.mgrclass = com.threerings.micasa.lobby.LobbyManager
foolobby.ugi = &lt;universal game identifier&gt;
foolobby.name = &lt;human readable lobby name&gt;
foolobby.config1 = some config value
foolobby.config2 = some other config value
barlobby.mgrclass = com.threerings.micasa.lobby.LobbyManager
barlobby.ugi = &lt;universal game identifier&gt;
barlobby.name = &lt;human readable lobby name&gt;
...
</code></pre>
This information will be loaded from the MiCasa server configuration which means that it should
live in <code>rsrc/config/micasa/server.properties</code> somwhere in the classpath where it
will override the default MiCasa server properties file.
<p> The <code>UGI</code> or universal game identifier is a string that is used to uniquely
identify every type of game and also to classify it according to meaningful keywords. It is best
described with a few examples:
<pre><code>
backgammon,board,strategy
spades,card,partner
yahtzee,dice
</code></pre>
As you can see, a UGI should start with an identifier uniquely identifying the type of game and
can be followed by a list of keywords that classify it as a member of a particular category of
games (eg. board, card, dice, partner game, strategy game). A game can belong to multiple
categories.
<p> As long as the UGIs in use by a particular server make some kind of sense, the client will
be able to use them to search for lobbies containing games of similar types using the provided
facilities.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#LobbyRegistry-com.threerings.presents.server.InvocationManager-">LobbyRegistry</a></span>(com.threerings.presents.server.InvocationManager&nbsp;invmgr)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#getCategories-com.threerings.crowd.data.BodyObject-">getCategories</a></span>(com.threerings.crowd.data.BodyObject&nbsp;requester)</code>
<div class="block">Returns an array containing the category identifiers of all the categories in which lobbies
have been registered with the registry.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#getCategories-com.threerings.presents.data.ClientObject-com.threerings.micasa.lobby.LobbyService.CategoriesListener-">getCategories</a></span>(com.threerings.presents.data.ClientObject&nbsp;caller,
<a href="../../../../com/threerings/micasa/lobby/LobbyService.CategoriesListener.html" title="interface in com.threerings.micasa.lobby">LobbyService.CategoriesListener</a>&nbsp;listener)</code>
<div class="block">Processes a request by the client to obtain a list of the lobby categories available on this
server.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#getDefaultLobbyOid--">getDefaultLobbyOid</a></span>()</code>
<div class="block">Returns the oid of the default lobby.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#getLobbies-com.threerings.crowd.data.BodyObject-java.lang.String-java.util.List-">getLobbies</a></span>(com.threerings.crowd.data.BodyObject&nbsp;requester,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;category,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/threerings/micasa/lobby/Lobby.html" title="class in com.threerings.micasa.lobby">Lobby</a>&gt;&nbsp;target)</code>
<div class="block">Returns information about all lobbies hosting games in the specified category.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#getLobbies-com.threerings.presents.data.ClientObject-java.lang.String-com.threerings.micasa.lobby.LobbyService.LobbiesListener-">getLobbies</a></span>(com.threerings.presents.data.ClientObject&nbsp;caller,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;category,
<a href="../../../../com/threerings/micasa/lobby/LobbyService.LobbiesListener.html" title="interface in com.threerings.micasa.lobby">LobbyService.LobbiesListener</a>&nbsp;listener)</code>
<div class="block">Processes a request by the client to obtain a list of lobbies matching the supplied category
string.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/micasa/lobby/LobbyRegistry.html#init--">init</a></span>()</code>
<div class="block">Initializes the registry, creating our default lobbies.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="LobbyRegistry-com.threerings.presents.server.InvocationManager-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LobbyRegistry</h4>
<pre>@Inject
public&nbsp;LobbyRegistry(com.threerings.presents.server.InvocationManager&nbsp;invmgr)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init()</pre>
<div class="block">Initializes the registry, creating our default lobbies.</div>
</li>
</ul>
<a name="getDefaultLobbyOid--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultLobbyOid</h4>
<pre>public&nbsp;int&nbsp;getDefaultLobbyOid()</pre>
<div class="block">Returns the oid of the default lobby.</div>
</li>
</ul>
<a name="getLobbies-com.threerings.crowd.data.BodyObject-java.lang.String-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLobbies</h4>
<pre>public&nbsp;void&nbsp;getLobbies(com.threerings.crowd.data.BodyObject&nbsp;requester,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;category,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/threerings/micasa/lobby/Lobby.html" title="class in com.threerings.micasa.lobby">Lobby</a>&gt;&nbsp;target)</pre>
<div class="block">Returns information about all lobbies hosting games in the specified category.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requester</code> - the body object of the client requesting the lobby list (which can be used
to filter the list based on their capabilities).</dd>
<dd><code>category</code> - the category of game for which the lobbies are desired.</dd>
<dd><code>target</code> - the list into which the matching lobbies will be deposited.</dd>
</dl>
</li>
</ul>
<a name="getCategories-com.threerings.crowd.data.BodyObject-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCategories</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getCategories(com.threerings.crowd.data.BodyObject&nbsp;requester)</pre>
<div class="block">Returns an array containing the category identifiers of all the categories in which lobbies
have been registered with the registry.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requester</code> - the body object of the client requesting the category list (which can be
used to filter the list based on their capabilities).</dd>
</dl>
</li>
</ul>
<a name="getCategories-com.threerings.presents.data.ClientObject-com.threerings.micasa.lobby.LobbyService.CategoriesListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCategories</h4>
<pre>public&nbsp;void&nbsp;getCategories(com.threerings.presents.data.ClientObject&nbsp;caller,
<a href="../../../../com/threerings/micasa/lobby/LobbyService.CategoriesListener.html" title="interface in com.threerings.micasa.lobby">LobbyService.CategoriesListener</a>&nbsp;listener)</pre>
<div class="block">Processes a request by the client to obtain a list of the lobby categories available on this
server.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html#getCategories-com.threerings.presents.data.ClientObject-com.threerings.micasa.lobby.LobbyService.CategoriesListener-">getCategories</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html" title="interface in com.threerings.micasa.lobby">LobbyProvider</a></code></dd>
</dl>
</li>
</ul>
<a name="getLobbies-com.threerings.presents.data.ClientObject-java.lang.String-com.threerings.micasa.lobby.LobbyService.LobbiesListener-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getLobbies</h4>
<pre>public&nbsp;void&nbsp;getLobbies(com.threerings.presents.data.ClientObject&nbsp;caller,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;category,
<a href="../../../../com/threerings/micasa/lobby/LobbyService.LobbiesListener.html" title="interface in com.threerings.micasa.lobby">LobbyService.LobbiesListener</a>&nbsp;listener)</pre>
<div class="block">Processes a request by the client to obtain a list of lobbies matching the supplied category
string.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html#getLobbies-com.threerings.presents.data.ClientObject-java.lang.String-com.threerings.micasa.lobby.LobbyService.LobbiesListener-">getLobbies</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html" title="interface in com.threerings.micasa.lobby">LobbyProvider</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LobbyRegistry.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/threerings/micasa/lobby/LobbyProvider.html" title="interface in com.threerings.micasa.lobby"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/threerings/micasa/lobby/LobbySelector.html" title="class in com.threerings.micasa.lobby"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/threerings/micasa/lobby/LobbyRegistry.html" target="_top">Frames</a></li>
<li><a href="LobbyRegistry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
</body>
</html>