handle (display) the relay's new error message

This commit is contained in:
Eric House 2013-01-19 15:18:36 -08:00
parent 65e9789c3f
commit 0ef3549a4e
4 changed files with 17 additions and 3 deletions

View file

@ -26,6 +26,7 @@
#include "gtkboard.h"
#include "linuxmain.h"
#include "relaycon.h"
#include "gtkask.h"
static void onNewData( GtkAppGlobals* apg, sqlite3_int64 rowid,
XP_Bool isNew );
@ -443,6 +444,13 @@ gtkDevIDChanged( void* closure, const XP_UCHAR* devID )
}
}
static void
gtkErrorMsgRcvd( void* closure, const XP_UCHAR* msg )
{
GtkAppGlobals* apg = (GtkAppGlobals*)closure;
(void)gtkask( apg->window, msg, GTK_BUTTONS_OK );
}
void
onGameSaved( void* closure, sqlite3_int64 rowid,
XP_Bool firstTime )
@ -515,6 +523,7 @@ gtkmain( LaunchParams* params )
.msgReceived = gtkGotBuf,
.msgNoticeReceived = gtkNoticeRcvd,
.devIDChanged = gtkDevIDChanged,
.msgErrorMsg = gtkErrorMsgRcvd,
};
relaycon_init( params, &procs, &apg,
@ -522,7 +531,7 @@ gtkmain( LaunchParams* params )
params->connInfo.relay.defaultSendPort );
sendRelayReg( &apg );
(void)makeGamesWindow( &apg );
apg.window = makeGamesWindow( &apg );
gtk_main();
closeGamesDB( apg.pDb );

View file

@ -1,6 +1,6 @@
/* -*-mode: C; fill-column: 78; c-basic-offset: 4; -*- */
/* -*- compile-command: "make MEMDEBUG=TRUE -j3"; -*- */
/*
* Copyright 2001-2007 by Eric House (xwords@eehouse.org). All rights
* Copyright 2001-2013 by Eric House (xwords@eehouse.org). All rights
* reserved.
*
* This program is free software; you can redistribute it and/or
@ -238,6 +238,7 @@ typedef struct _GtkAppGlobals {
LaunchParams* params;
GSList* globalsList;
GList* sources;
GtkWidget* window;
GtkWidget* listWidget;
GtkWidget* openButton;
GtkWidget* deleteButton;

View file

@ -189,6 +189,9 @@ relaycon_receive( void* closure, int socket )
(*storage->procs.msgNoticeReceived)( storage->procsClosure, ntohl(gameToken) );
break;
}
case XWPDEV_MSGRSP:
(*storage->procs.msgErrorMsg)( storage->procsClosure, (XP_UCHAR*)ptr );
break;
default:
XP_LOGF( "%s: Unexpected cmd %d", __func__, cmd );
XP_ASSERT( 0 );

View file

@ -26,6 +26,7 @@ typedef struct _Procs {
void (*msgReceived)( void* closure, XP_U8* buf, XP_U16 len );
void (*msgNoticeReceived)( void* closure, XP_U32 gameToken );
void (*devIDChanged)( void* closure, const XP_UCHAR* devID );
void (*msgErrorMsg)( void* closure, const XP_UCHAR* msg );
} RelayConnProcs;
void relaycon_init( LaunchParams* params, const RelayConnProcs* procs,