Remove devID from comms address. It's not needed yet, may never be,

and I don't want to store it until it is.
This commit is contained in:
Eric House 2015-07-22 06:16:29 -07:00
parent 9e533f82db
commit dad39eedde
9 changed files with 30 additions and 37 deletions

View file

@ -549,12 +549,12 @@ Java_org_eehouse_android_xw4_jni_XwJNI_nli_1from_1stream
JNIEXPORT void JNICALL
Java_org_eehouse_android_xw4_jni_XwJNI_comms_1getInitialAddr
( JNIEnv* env, jclass C, jobject jaddr, jstring jname, jint port, jint devID )
( JNIEnv* env, jclass C, jobject jaddr, jstring jname, jint port )
{
CommsAddrRec addr;
const char* chars = (*env)->GetStringUTFChars( env, jname, NULL );
comms_getInitialAddr( &addr, chars, port, devID );
comms_getInitialAddr( &addr, chars, port );
(*env)->ReleaseStringUTFChars( env, jname, chars );
setJAddrRec( env, jaddr, &addr );
}

View file

@ -581,9 +581,8 @@ public class GameConfigDelegate extends DelegateBase
} else if ( !localOnlyGame() ) {
String relayName = XWPrefs.getDefaultRelayHost( m_activity );
int relayPort = XWPrefs.getDefaultRelayPort( m_activity );
int devID = DevID.getRelayDevIDInt( m_activity );
XwJNI.comms_getInitialAddr( m_carOrig, relayName,
relayPort, devID );
relayPort );
}
m_conTypes = (CommsConnTypeSet)m_carOrig.conTypes.clone();
XwJNI.game_dispose( gamePtr );

View file

@ -112,8 +112,7 @@ public class GameUtils {
if ( 0 == addr.conTypes.size() ) {
String relayName = XWPrefs.getDefaultRelayHost( context );
int relayPort = XWPrefs.getDefaultRelayPort( context );
int devID = DevID.getRelayDevIDInt( context );
XwJNI.comms_getInitialAddr( addr, relayName, relayPort, devID );
XwJNI.comms_getInitialAddr( addr, relayName, relayPort );
}
}
XwJNI.game_dispose( gamePtr );

View file

@ -97,8 +97,8 @@ public class XwJNI {
}
private static native void nli_from_stream( NetLaunchInfo nli, byte[] stream );
public static native void comms_getInitialAddr( CommsAddrRec addr,
String relayHost,
int relayPort, int devID );
String relayHost,
int relayPort );
public static native String comms_getUUID();
// Game methods

View file

@ -585,9 +585,6 @@ addrFromStreamOne( CommsAddrRec* addrP, XWStreamCtxt* stream, CommsConnType typ
stringFromStreamHere( stream, addrP->u.ip_relay.hostName,
sizeof(addrP->u.ip_relay.hostName) );
addrP->u.ip_relay.ipAddr = stream_getU32( stream );
if ( version >= STREAM_VERS_DEVIDS ) {
addrP->u.ip_relay.devID = stream_getU32( stream );
}
addrP->u.ip_relay.port = stream_getU16( stream );
if ( version >= STREAM_VERS_DICTLANG ) {
addrP->u.ip_relay.seeksPublicRoom = stream_getBits( stream, 1 );
@ -815,7 +812,6 @@ addrToStreamOne( XWStreamCtxt* stream, CommsConnType typ, const CommsAddrRec* ad
stringToStream( stream, addrP->u.ip_relay.invite );
stringToStream( stream, addrP->u.ip_relay.hostName );
stream_putU32( stream, addrP->u.ip_relay.ipAddr );
stream_putU32( stream, addrP->u.ip_relay.devID );
stream_putU16( stream, addrP->u.ip_relay.port );
stream_putBits( stream, 1, addrP->u.ip_relay.seeksPublicRoom );
stream_putBits( stream, 1, addrP->u.ip_relay.advertiseRoom );
@ -1018,14 +1014,12 @@ comms_getInitialAddr( CommsAddrRec* addr
#ifdef XWFEATURE_RELAY
, const XP_UCHAR* relayName
, XP_U16 relayPort
, XP_U32 devID
#endif
)
{
#if defined XWFEATURE_RELAY
addr_setType( addr, COMMS_CONN_RELAY ); /* for temporary ease in debugging */
addr->u.ip_relay.ipAddr = 0L; /* force 'em to set it */
addr->u.ip_relay.devID = devID;
addr->u.ip_relay.port = relayPort;
{
const char* name = relayName;

View file

@ -1,4 +1,4 @@
/* -*-mode: C; fill-column: 78; c-basic-offset: 4; -*- */
/* -*- compile-command: "cd ../linux && make MEMDEBUG=TRUE -j3"; -*- */
/*
* Copyright 2001 - 2014 by Eric House (xwords@eehouse.org). All rights
* reserved.
@ -90,7 +90,6 @@ typedef struct _CommsAddrRec {
XP_UCHAR invite[MAX_INVITE_LEN + 1];
XP_UCHAR hostName[MAX_HOSTNAME_LEN + 1];
XP_U32 ipAddr; /* looked up from above */
XP_U32 devID;
XP_U16 port;
XP_Bool seeksPublicRoom;
XP_Bool advertiseRoom;
@ -181,7 +180,6 @@ void comms_getInitialAddr( CommsAddrRec* addr
#ifdef XWFEATURE_RELAY
, const XP_UCHAR* relayName
, XP_U16 relayPort
, XP_U32 devID
#endif
);
XP_Bool comms_checkAddr( DeviceRole role, const CommsAddrRec* addr,

View file

@ -83,10 +83,10 @@ static GtkWidget* addButton( GtkWidget* hbox, gchar* label, GCallback func,
static void handle_invite_button( GtkWidget* widget, GtkGameGlobals* globals );
static void gtkShowFinalScores( const GtkGameGlobals* globals,
XP_Bool ignoreTimeout );
static void send_invites( CommonGlobals* cGlobals,
const CommsAddrRec* inviteAddr,
const XP_UCHAR* relayID,
XP_U16 nPlayers );
static void send_invites( CommonGlobals* cGlobals, XP_U16 nPlayers,
XP_U32 devID, const XP_UCHAR* relayID,
const XP_UCHAR* phone );
#define GTK_TRAY_HT_ROWS 3
@ -900,7 +900,7 @@ on_board_window_shown( GtkWidget* XP_UNUSED(widget), GtkGameGlobals* globals )
CommsAddrRec addr = {0};
addrFromStream( &addr, stream );
send_invites( cGlobals, &addr, relayID, 1 /*nPlayers*/ );
send_invites( cGlobals, 1, 0, relayID, NULL );
}
}
stream_destroy( stream );
@ -1020,9 +1020,7 @@ new_game_impl( GtkGameGlobals* globals, XP_Bool fireConnDlg )
if ( !!cGlobals->game.comms ) {
comms_getAddr( cGlobals->game.comms, &addr );
} else {
XP_U32 devID = linux_getDevIDRelay( cGlobals->params );
comms_getInitialAddr( &addr, RELAY_NAME_DEFAULT, RELAY_PORT_DEFAULT,
devID );
comms_getInitialAddr( &addr, RELAY_NAME_DEFAULT, RELAY_PORT_DEFAULT );
}
CurGameInfo* gi = cGlobals->gi;
@ -1631,17 +1629,19 @@ handle_invite_button( GtkWidget* XP_UNUSED(widget), GtkGameGlobals* globals )
CommsAddrRec inviteAddr = {0};
gint nPlayers = nMissing;
XP_Bool confirmed = gtkInviteDlg( globals, &inviteAddr, &nPlayers );
XP_U32 devID;
XP_Bool confirmed = gtkInviteDlg( globals, &inviteAddr, &nPlayers, &devID );
XP_LOGF( "%s: inviteDlg => %d", __func__, confirmed );
if ( confirmed ) {
send_invites( cGlobals, &inviteAddr, NULL, nPlayers );
send_invites( cGlobals, nPlayers, devID, NULL, NULL );
}
} /* handle_invite_button */
static void
send_invites( CommonGlobals* cGlobals, const CommsAddrRec* inviteAddr,
const XP_UCHAR* relayID, XP_U16 nPlayers )
send_invites( CommonGlobals* cGlobals, XP_U16 nPlayers,
XP_U32 devID, const XP_UCHAR* relayID,
const XP_UCHAR* phone )
{
CommsAddrRec addr = {0};
CommsCtxt* comms = cGlobals->game.comms;
@ -1667,14 +1667,13 @@ send_invites( CommonGlobals* cGlobals, const CommsAddrRec* inviteAddr,
}
#endif
if ( addr_hasType( inviteAddr, COMMS_CONN_SMS ) ) {
if ( !!phone ) {
XP_ASSERT( 0 ); /* not implemented */
/* linux_sms_invite( cGlobals->params, gi, &addr, gameName, */
/* nPlayers, forceChannel, */
/* inviteAddr.u.sms.phone, inviteAddr.u.sms.port ); */
}
if ( addr_hasType( inviteAddr, COMMS_CONN_RELAY ) ) {
XP_U32 devID = inviteAddr->u.ip_relay.devID;
if ( 0 != devID || !!relayID ) {
XP_ASSERT( 0 != devID || (!!relayID && !!relayID[0]) );
relaycon_invite( cGlobals->params, devID, relayID, &nli );
}
@ -2826,8 +2825,7 @@ makeNewGame( GtkGameGlobals* globals )
if ( 0 == relayPort ) {
relayPort = RELAY_PORT_DEFAULT;
}
comms_getInitialAddr( &cGlobals->addr, relayName, relayPort,
linux_getDevIDRelay( cGlobals->params ) );
comms_getInitialAddr( &cGlobals->addr, relayName, relayPort );
}
CurGameInfo* gi = cGlobals->gi;

View file

@ -38,6 +38,7 @@ typedef struct _GtkInviteState {
GtkGameGlobals* globals;
CommsAddrRec* addr;
gint* nPlayersP;
XP_U32* devIDp;
gint maxPlayers;
GtkWidget* nPlayersCombo;
@ -95,7 +96,7 @@ handle_ok( GtkWidget* XP_UNUSED(widget), gpointer closure )
case COMMS_CONN_RELAY:
txt = gtk_entry_get_text( GTK_ENTRY(state->devID) );
snprintf( s_devIDBuf, sizeof(s_devIDBuf), "%s", txt );
state->addr->u.ip_relay.devID = atoi( txt );
*state->devIDp = atoi( txt );
break;
#endif
#ifdef XWFEATURE_BLUETOOTH
@ -273,7 +274,10 @@ onPageChanged( GtkNotebook* XP_UNUSED(notebook), gpointer XP_UNUSED(arg1),
}
XP_Bool
gtkInviteDlg( GtkGameGlobals* globals, CommsAddrRec* addr, gint* nPlayersP )
gtkInviteDlg( GtkGameGlobals* globals, CommsAddrRec* addr,
gint* nPlayersP, XP_U32* devIDp )
{
GtkInviteState state;
XP_MEMSET( &state, 0, sizeof(state) );
@ -281,6 +285,7 @@ gtkInviteDlg( GtkGameGlobals* globals, CommsAddrRec* addr, gint* nPlayersP )
state.globals = globals;
state.addr = addr;
state.nPlayersP = nPlayersP;
state.devIDp = devIDp;
state.maxPlayers = *nPlayersP;
GtkWidget* dialog;

View file

@ -24,7 +24,7 @@
/* return true if not cancelled */
XP_Bool gtkInviteDlg( GtkGameGlobals* globals, CommsAddrRec* addr,
/*inout*/ gint* nPlayers );
/*inout*/ gint* nPlayers, /* out */ XP_U32* devID );
#endif