add wrapper makeSimpleStream; handle new TILES_LEFT menuitem; server

now writes dict name to counts/values stream
This commit is contained in:
ehouse 2004-11-06 02:33:43 +00:00
parent b49a134fb0
commit ea98508e43

View file

@ -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 */