Adding two dictionary-related functions: checking a word against a dictionary,

and retrieving a set of language-specific letters. This is just a transient checkin, since 
it only pushes data both ways through the ActionScript/Java interface ("small step for 
mankind, huge step for me" kind of a thing ;). Word lookup logic will be coming next.



git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@181 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
Robert Zubeck
2007-02-12 23:32:37 +00:00
parent 7a36e3a858
commit 400389ca03
9 changed files with 269 additions and 33 deletions
@@ -48,6 +48,34 @@ public interface EZGameService extends InvocationService
Client client, String msgName, Object value, int playerIdx,
InvocationListener listener);
/**
* Ask the dictionary service for a set of random letters
* appropriate for the given language/culture settings. These will be
* returned via a message back to the caller.
*
* @param client stores information about the caller
* @param locale is an RFC 3066 string specifying language settings,
* for example, "en" or "en-us".
* @param count is the number of letters to be returned.
* @param listener is the callback function
*/
public void getDictionaryLetterSet (
Client client, String locale, int count, ResultListener listener);
/**
* Ask the dictionary service whether the specified word is valid
* with the given language/culture settings. The result will be returned
* via a message back to the caller.
*
* @param client stores information about the caller
* @param locale is an RFC 3066 string specifying language settings,
* for example, "en" or "en-us".
* @param word is the word to be checked against the dictionary.
* @param listener is the callback function
*/
public void checkDictionaryWord (
Client client, String locale, String word, ResultListener listener);
/**
* Add to the specified named collection.
*
@@ -50,8 +50,21 @@ public class EZGameMarshaller extends InvocationMarshaller
});
}
/** The method id used to dispatch {@link #checkDictionaryWord} requests. */
public static final int CHECK_DICTIONARY_WORD = 2;
// from interface EZGameService
public void checkDictionaryWord (Client arg1, String arg2, String arg3, InvocationService.ResultListener arg4)
{
InvocationMarshaller.ResultMarshaller listener4 = new InvocationMarshaller.ResultMarshaller();
listener4.listener = arg4;
sendRequest(arg1, CHECK_DICTIONARY_WORD, new Object[] {
arg2, arg3, listener4
});
}
/** The method id used to dispatch {@link #endGame} requests. */
public static final int END_GAME = 2;
public static final int END_GAME = 3;
// from interface EZGameService
public void endGame (Client arg1, int[] arg2, InvocationService.InvocationListener arg3)
@@ -64,7 +77,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #endTurn} requests. */
public static final int END_TURN = 3;
public static final int END_TURN = 4;
// from interface EZGameService
public void endTurn (Client arg1, int arg2, InvocationService.InvocationListener arg3)
@@ -77,7 +90,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #getCookie} requests. */
public static final int GET_COOKIE = 4;
public static final int GET_COOKIE = 5;
// from interface EZGameService
public void getCookie (Client arg1, int arg2, InvocationService.InvocationListener arg3)
@@ -89,8 +102,21 @@ public class EZGameMarshaller extends InvocationMarshaller
});
}
/** The method id used to dispatch {@link #getDictionaryLetterSet} requests. */
public static final int GET_DICTIONARY_LETTER_SET = 6;
// from interface EZGameService
public void getDictionaryLetterSet (Client arg1, String arg2, int arg3, InvocationService.ResultListener arg4)
{
InvocationMarshaller.ResultMarshaller listener4 = new InvocationMarshaller.ResultMarshaller();
listener4.listener = arg4;
sendRequest(arg1, GET_DICTIONARY_LETTER_SET, new Object[] {
arg2, Integer.valueOf(arg3), listener4
});
}
/** The method id used to dispatch {@link #getFromCollection} requests. */
public static final int GET_FROM_COLLECTION = 5;
public static final int GET_FROM_COLLECTION = 7;
// from interface EZGameService
public void getFromCollection (Client arg1, String arg2, boolean arg3, int arg4, String arg5, int arg6, InvocationService.ConfirmListener arg7)
@@ -103,7 +129,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #mergeCollection} requests. */
public static final int MERGE_COLLECTION = 6;
public static final int MERGE_COLLECTION = 8;
// from interface EZGameService
public void mergeCollection (Client arg1, String arg2, String arg3, InvocationService.InvocationListener arg4)
@@ -116,7 +142,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #sendMessage} requests. */
public static final int SEND_MESSAGE = 7;
public static final int SEND_MESSAGE = 9;
// from interface EZGameService
public void sendMessage (Client arg1, String arg2, Object arg3, int arg4, InvocationService.InvocationListener arg5)
@@ -129,7 +155,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #setCookie} requests. */
public static final int SET_COOKIE = 8;
public static final int SET_COOKIE = 10;
// from interface EZGameService
public void setCookie (Client arg1, byte[] arg2, InvocationService.InvocationListener arg3)
@@ -142,7 +168,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #setProperty} requests. */
public static final int SET_PROPERTY = 9;
public static final int SET_PROPERTY = 11;
// from interface EZGameService
public void setProperty (Client arg1, String arg2, Object arg3, int arg4, InvocationService.InvocationListener arg5)
@@ -155,7 +181,7 @@ public class EZGameMarshaller extends InvocationMarshaller
}
/** The method id used to dispatch {@link #setTicker} requests. */
public static final int SET_TICKER = 10;
public static final int SET_TICKER = 12;
// from interface EZGameService
public void setTicker (Client arg1, String arg2, int arg3, InvocationService.InvocationListener arg4)
@@ -63,6 +63,13 @@ public class EZGameDispatcher extends InvocationDispatcher
);
return;
case EZGameMarshaller.CHECK_DICTIONARY_WORD:
((EZGameProvider)provider).checkDictionaryWord(
source,
(String)args[0], (String)args[1], (InvocationService.ResultListener)args[2]
);
return;
case EZGameMarshaller.END_GAME:
((EZGameProvider)provider).endGame(
source,
@@ -84,6 +91,13 @@ public class EZGameDispatcher extends InvocationDispatcher
);
return;
case EZGameMarshaller.GET_DICTIONARY_LETTER_SET:
((EZGameProvider)provider).getDictionaryLetterSet(
source,
(String)args[0], ((Integer)args[1]).intValue(), (InvocationService.ResultListener)args[2]
);
return;
case EZGameMarshaller.GET_FROM_COLLECTION:
((EZGameProvider)provider).getFromCollection(
source,
@@ -123,6 +123,27 @@ public class EZGameManager extends GameManager
setProperty(propName, data, index);
}
// from EZGameProvider
public void getDictionaryLetterSet (
ClientObject caller, String locale, int count,
InvocationService.ResultListener listener)
throws InvocationException
{
// TODO: real logic here :)
String letters = "A,B,C";
listener.requestProcessed(letters);
}
// from EZGameProvider
public void checkDictionaryWord (
ClientObject caller, String locale, String word,
InvocationService.ResultListener listener)
throws InvocationException
{
// TODO: real logic here :)
listener.requestProcessed (true);
}
// from EZGameProvider
public void addToCollection (
ClientObject caller, String collName, byte[][] data,
@@ -176,7 +197,7 @@ public class EZGameManager extends GameManager
if (playerIndex >= 0 && playerIndex < _gameObj.players.length) {
sendPrivateMessage(playerIndex, msgOrPropName, result);
} else {
setProperty(msgOrPropName, result, -1);
}
@@ -185,11 +206,11 @@ public class EZGameManager extends GameManager
return;
}
}
// TODO: decide what we want to return here
throw new InvocationException(String.valueOf(srcSize));
}
// from EZGameProvider
public void mergeCollection (
ClientObject caller, String srcColl, String intoColl,
@@ -39,6 +39,12 @@ public interface EZGameProvider extends InvocationProvider
public void addToCollection (ClientObject caller, String arg1, byte[][] arg2, boolean arg3, InvocationService.InvocationListener arg4)
throws InvocationException;
/**
* Handles a {@link EZGameService#checkDictionaryWord} request.
*/
public void checkDictionaryWord (ClientObject caller, String arg1, String arg2, InvocationService.ResultListener arg3)
throws InvocationException;
/**
* Handles a {@link EZGameService#endGame} request.
*/
@@ -57,6 +63,12 @@ public interface EZGameProvider extends InvocationProvider
public void getCookie (ClientObject caller, int arg1, InvocationService.InvocationListener arg2)
throws InvocationException;
/**
* Handles a {@link EZGameService#getDictionaryLetterSet} request.
*/
public void getDictionaryLetterSet (ClientObject caller, String arg1, int arg2, InvocationService.ResultListener arg3)
throws InvocationException;
/**
* Handles a {@link EZGameService#getFromCollection} request.
*/