mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-11 08:48:06 +01:00
add wrapper makeSimpleStream; handle new TILES_LEFT menuitem; server
now writes dict name to counts/values stream
This commit is contained in:
parent
b49a134fb0
commit
ea98508e43
1 changed files with 29 additions and 33 deletions
|
@ -482,6 +482,15 @@ positionBoard( PalmAppGlobals* globals )
|
||||||
return erase;
|
return erase;
|
||||||
} /* positionBoard */
|
} /* positionBoard */
|
||||||
|
|
||||||
|
static XWStreamCtxt*
|
||||||
|
makeSimpleStream( PalmAppGlobals* globals, MemStreamCloseCallback cb )
|
||||||
|
{
|
||||||
|
return mem_stream_make( MPPARM(globals->mpool)
|
||||||
|
globals->vtMgr,
|
||||||
|
globals,
|
||||||
|
CHANNEL_NONE, cb );
|
||||||
|
} /* makeSimpleStream */
|
||||||
|
|
||||||
static XWStreamCtxt*
|
static XWStreamCtxt*
|
||||||
gameRecordToStream( PalmAppGlobals* globals, XP_U16 index )
|
gameRecordToStream( PalmAppGlobals* globals, XP_U16 index )
|
||||||
{
|
{
|
||||||
|
@ -501,8 +510,7 @@ gameRecordToStream( PalmAppGlobals* globals, XP_U16 index )
|
||||||
if ( index < numRecs ) {
|
if ( index < numRecs ) {
|
||||||
handle = DmGetRecord( dbP, index );
|
handle = DmGetRecord( dbP, index );
|
||||||
|
|
||||||
recStream = mem_stream_make( MEMPOOL globals->vtMgr, globals,
|
recStream = makeSimpleStream( globals, NULL );
|
||||||
0, NULL );
|
|
||||||
stream_open( recStream );
|
stream_open( recStream );
|
||||||
stream_putBytes( recStream, MemHandleLock(handle),
|
stream_putBytes( recStream, MemHandleLock(handle),
|
||||||
MemHandleSize(handle) );
|
MemHandleSize(handle) );
|
||||||
|
@ -1226,8 +1234,7 @@ saveOpenGame( PalmAppGlobals* globals )
|
||||||
board_hideTray( globals->game.board ); /* so won't be visible when
|
board_hideTray( globals->game.board ); /* so won't be visible when
|
||||||
next opened */
|
next opened */
|
||||||
}
|
}
|
||||||
memStream = mem_stream_make( MEMPOOL globals->vtMgr, globals, 0,
|
memStream = makeSimpleStream( globals, writeToDb );
|
||||||
writeToDb );
|
|
||||||
stream_open( memStream );
|
stream_open( memStream );
|
||||||
|
|
||||||
/* write the things's name. Name is first because we want to be able
|
/* write the things's name. Name is first because we want to be able
|
||||||
|
@ -1875,8 +1882,7 @@ initAndStartBoard( PalmAppGlobals* globals, XP_Bool newGame )
|
||||||
if ( newGame && globals->gameInfo.serverRole == SERVER_ISCLIENT ) {
|
if ( newGame && globals->gameInfo.serverRole == SERVER_ISCLIENT ) {
|
||||||
XWStreamCtxt* stream;
|
XWStreamCtxt* stream;
|
||||||
XP_ASSERT( !!globals->game.comms );
|
XP_ASSERT( !!globals->game.comms );
|
||||||
stream = mem_stream_make( MEMPOOL globals->vtMgr, globals,
|
stream = makeSimpleStream( globals, palm_send_on_close );
|
||||||
CHANNEL_NONE, palm_send_on_close );
|
|
||||||
server_initClientConnection( globals->game.server, stream );
|
server_initClientConnection( globals->game.server, stream );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -2066,6 +2072,7 @@ mainViewHandleEvent( EventPtr event )
|
||||||
OpenSavedGameData* savedGameData;
|
OpenSavedGameData* savedGameData;
|
||||||
char newName[MAX_GAMENAME_LENGTH];
|
char newName[MAX_GAMENAME_LENGTH];
|
||||||
XP_U16 prevSize;
|
XP_U16 prevSize;
|
||||||
|
XWStreamCtxt* stream;
|
||||||
|
|
||||||
CALLBACK_PROLOGUE();
|
CALLBACK_PROLOGUE();
|
||||||
|
|
||||||
|
@ -2225,28 +2232,27 @@ mainViewHandleEvent( EventPtr event )
|
||||||
|
|
||||||
case XW_TILEVALUES_PULLDOWN_ID:
|
case XW_TILEVALUES_PULLDOWN_ID:
|
||||||
if ( !!globals->game.server ) {
|
if ( !!globals->game.server ) {
|
||||||
XWStreamCtxt* stream = mem_stream_make( MEMPOOL
|
stream = makeSimpleStream( globals, NULL );
|
||||||
globals->vtMgr,
|
|
||||||
globals,
|
|
||||||
CHANNEL_NONE,
|
|
||||||
NULL );
|
|
||||||
XP_UCHAR* s = getResString( globals, STR_VALUES_HEADER );
|
|
||||||
stream_putBytes( stream, s, XP_STRLEN((const char*)s) );
|
|
||||||
|
|
||||||
server_formatPoolCounts( globals->game.server, stream,
|
server_formatDictCounts( globals->game.server, stream,
|
||||||
3 ); /* 3: ncols */
|
4 ); /* 4: ncols */
|
||||||
|
|
||||||
askFromStream( globals, stream, STR_VALUES_TITLE, true );
|
askFromStream( globals, stream, STR_VALUES_TITLE, true );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case XW_TILESLEFT_PULLDOWN_ID:
|
||||||
|
if ( !!globals->game.board ) {
|
||||||
|
stream = makeSimpleStream( globals, NULL );
|
||||||
|
board_formatRemainingTiles( globals->game.board, stream );
|
||||||
|
askFromStream( globals, stream, STR_REMAINS_TITLE, true );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case XW_HISTORY_PULLDOWN_ID:
|
case XW_HISTORY_PULLDOWN_ID:
|
||||||
if ( !!globals->game.server ) {
|
if ( !!globals->game.server ) {
|
||||||
XP_Bool gameOver = server_getGameIsOver(globals->game.server);
|
XP_Bool gameOver = server_getGameIsOver(globals->game.server);
|
||||||
XWStreamCtxt* stream = mem_stream_make( MEMPOOL
|
stream = makeSimpleStream( globals, NULL );
|
||||||
globals->vtMgr,
|
|
||||||
globals,
|
|
||||||
CHANNEL_NONE, NULL );
|
|
||||||
|
|
||||||
model_writeGameHistory( globals->game.model, stream,
|
model_writeGameHistory( globals->game.model, stream,
|
||||||
globals->game.server, gameOver );
|
globals->game.server, gameOver );
|
||||||
|
@ -2442,11 +2448,7 @@ mainViewHandleEvent( EventPtr event )
|
||||||
|
|
||||||
case XW_NETSTATS_PULLDOWN_ID:
|
case XW_NETSTATS_PULLDOWN_ID:
|
||||||
if ( !!globals->game.comms ) {
|
if ( !!globals->game.comms ) {
|
||||||
XWStreamCtxt* stream = mem_stream_make( MEMPOOL
|
stream = makeSimpleStream( globals, askOnClose );
|
||||||
globals->vtMgr,
|
|
||||||
globals,
|
|
||||||
CHANNEL_NONE,
|
|
||||||
askOnClose );
|
|
||||||
comms_getStats( globals->game.comms, stream );
|
comms_getStats( globals->game.comms, stream );
|
||||||
stream_destroy( stream );
|
stream_destroy( stream );
|
||||||
}
|
}
|
||||||
|
@ -2454,11 +2456,7 @@ mainViewHandleEvent( EventPtr event )
|
||||||
#ifdef MEM_DEBUG
|
#ifdef MEM_DEBUG
|
||||||
case XW_MEMSTATS_PULLDOWN_ID :
|
case XW_MEMSTATS_PULLDOWN_ID :
|
||||||
if ( !!globals->mpool ) {
|
if ( !!globals->mpool ) {
|
||||||
XWStreamCtxt* stream = mem_stream_make( MEMPOOL
|
stream = makeSimpleStream( globals, askOnClose );
|
||||||
globals->vtMgr,
|
|
||||||
globals,
|
|
||||||
CHANNEL_NONE,
|
|
||||||
askOnClose );
|
|
||||||
mpool_stats( globals->mpool, stream );
|
mpool_stats( globals->mpool, stream );
|
||||||
stream_destroy( stream );
|
stream_destroy( stream );
|
||||||
}
|
}
|
||||||
|
@ -2589,8 +2587,7 @@ displayFinalScores( PalmAppGlobals* globals )
|
||||||
{
|
{
|
||||||
XWStreamCtxt* stream;
|
XWStreamCtxt* stream;
|
||||||
|
|
||||||
stream = mem_stream_make( MEMPOOL globals->vtMgr, globals,
|
stream = makeSimpleStream( globals, NULL );
|
||||||
CHANNEL_NONE, NULL );
|
|
||||||
server_writeFinalScores( globals->game.server, stream );
|
server_writeFinalScores( globals->game.server, stream );
|
||||||
stream_putU8( stream, '\0' );
|
stream_putU8( stream, '\0' );
|
||||||
|
|
||||||
|
@ -3382,8 +3379,7 @@ palm_util_makeStreamFromAddr( XW_UtilCtxt* uc, XP_U16 channelNo )
|
||||||
just be passing a null on-close
|
just be passing a null on-close
|
||||||
function? */
|
function? */
|
||||||
XP_LOGF( "making stream for channel %d", channelNo );
|
XP_LOGF( "making stream for channel %d", channelNo );
|
||||||
stream = mem_stream_make( MEMPOOL globals->vtMgr, globals,
|
stream = makeSimpleStream( globals, palm_send_on_close );
|
||||||
channelNo, palm_send_on_close );
|
|
||||||
return stream;
|
return stream;
|
||||||
} /* palm_util_makeStreamFromAddr */
|
} /* palm_util_makeStreamFromAddr */
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue