mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-15 08:47:56 +01:00
trivial API change
any key concatenation should be in common/ code
This commit is contained in:
parent
6314fd8a01
commit
f4c080cdf7
8 changed files with 44 additions and 74 deletions
|
@ -441,14 +441,13 @@ and_dutil_getUserQuantityString( XW_DUtilCtxt* duc, XWEnv xwe,
|
|||
}
|
||||
|
||||
static void
|
||||
and_dutil_storePtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* keys[],
|
||||
and_dutil_storePtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* key,
|
||||
const void* data, XP_U32 len )
|
||||
{
|
||||
DUTIL_CBK_HEADER( "store", "(Ljava/lang/String;[B)V" );
|
||||
XP_ASSERT( NULL == keys[1] );
|
||||
|
||||
jbyteArray jdata = makeByteArray( env, len, data );
|
||||
jstring jkey = (*env)->NewStringUTF( env, keys[0] );
|
||||
jstring jkey = (*env)->NewStringUTF( env, key );
|
||||
|
||||
(*env)->CallVoidMethod( env, dutil->jdutil, mid, jkey, jdata );
|
||||
|
||||
|
@ -471,12 +470,11 @@ loadToByteArray( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* key )
|
|||
}
|
||||
|
||||
static void
|
||||
and_dutil_loadPtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* keys[],
|
||||
and_dutil_loadPtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* key,
|
||||
void* data, XP_U32* lenp )
|
||||
{
|
||||
XP_ASSERT( NULL == keys[1] );
|
||||
JNIEnv* env = xwe;
|
||||
jbyteArray jvalue = loadToByteArray( duc, env, keys[0] );
|
||||
jbyteArray jvalue = loadToByteArray( duc, env, key );
|
||||
jsize len = 0;
|
||||
if ( jvalue != NULL ) {
|
||||
len = (*env)->GetArrayLength( env, jvalue );
|
||||
|
|
|
@ -113,8 +113,7 @@ load( XW_DUtilCtxt* dutil, XWEnv xwe )
|
|||
dutil->devCtxt = state = XP_CALLOC( dutil->mpool, sizeof(*state) );
|
||||
|
||||
XWStreamCtxt* stream = mkStream( dutil );
|
||||
const XP_UCHAR* keys[] = { KEY_DEVSTATE, NULL };
|
||||
dutil_loadStream( dutil, xwe, keys, stream );
|
||||
dutil_loadStream( dutil, xwe, KEY_DEVSTATE, stream );
|
||||
|
||||
if ( 0 < stream_getSize( stream ) ) {
|
||||
state->devCount = stream_getU16( stream );
|
||||
|
@ -152,8 +151,7 @@ dvcStoreLocked( XW_DUtilCtxt* dutil, XWEnv xwe, DevCtxt* state )
|
|||
XWStreamCtxt* stream = mkStream( dutil );
|
||||
stream_putU16( stream, state->devCount );
|
||||
stream_putU8( stream, state->mqttQOS );
|
||||
const XP_UCHAR* keys[] = { KEY_DEVSTATE, NULL };
|
||||
dutil_storeStream( dutil, xwe, keys, stream );
|
||||
dutil_storeStream( dutil, xwe, KEY_DEVSTATE, stream );
|
||||
stream_destroy( stream );
|
||||
}
|
||||
|
||||
|
@ -174,7 +172,6 @@ dvc_store( XW_DUtilCtxt* dutil, XWEnv xwe )
|
|||
static void
|
||||
getMQTTDevID( XW_DUtilCtxt* dutil, XWEnv xwe, XP_Bool forceNew, MQTTDevID* devID )
|
||||
{
|
||||
const XP_UCHAR* keys[] = { MQTT_DEVID_KEY, NULL };
|
||||
#ifdef BOGUS_ALL_SAME_DEVID
|
||||
XP_USE(forceNew);
|
||||
MQTTDevID bogusID = 0;
|
||||
|
@ -184,9 +181,9 @@ getMQTTDevID( XW_DUtilCtxt* dutil, XWEnv xwe, XP_Bool forceNew, MQTTDevID* devID
|
|||
|
||||
MQTTDevID tmp = 0;
|
||||
XP_U32 len = sizeof(tmp);
|
||||
dutil_loadPtr( dutil, xwe, keys, &tmp, &len );
|
||||
dutil_loadPtr( dutil, xwe, MQTT_DEVID_KEY, &tmp, &len );
|
||||
if ( len != sizeof(tmp) || 0 != XP_MEMCMP( &bogusID, &tmp, sizeof(tmp) ) ) {
|
||||
dutil_storePtr( dutil, xwe, keys, &bogusID, sizeof(bogusID) );
|
||||
dutil_storePtr( dutil, xwe, MQTT_DEVID_KEY, &bogusID, sizeof(bogusID) );
|
||||
}
|
||||
*devID = bogusID;
|
||||
|
||||
|
@ -195,7 +192,7 @@ getMQTTDevID( XW_DUtilCtxt* dutil, XWEnv xwe, XP_Bool forceNew, MQTTDevID* devID
|
|||
MQTTDevID tmp = 0;
|
||||
XP_U32 len = sizeof(tmp);
|
||||
if ( !forceNew ) {
|
||||
dutil_loadPtr( dutil, xwe, keys, &tmp, &len );
|
||||
dutil_loadPtr( dutil, xwe, MQTT_DEVID_KEY, &tmp, &len );
|
||||
}
|
||||
|
||||
/* XP_LOGFF( "len: %d; sizeof(tmp): %zu", len, sizeof(tmp) ); */
|
||||
|
@ -221,7 +218,7 @@ getMQTTDevID( XW_DUtilCtxt* dutil, XWEnv xwe, XP_Bool forceNew, MQTTDevID* devID
|
|||
}
|
||||
XP_LOGFF( "average bits set: %d", total / NUM_RUNS );
|
||||
|
||||
dutil_storePtr( dutil, xwe, keys, &tmp, sizeof(tmp) );
|
||||
dutil_storePtr( dutil, xwe, MQTT_DEVID_KEY, &tmp, sizeof(tmp) );
|
||||
|
||||
# ifdef DEBUG
|
||||
XP_UCHAR buf[32];
|
||||
|
@ -245,8 +242,7 @@ dvc_getMQTTDevID( XW_DUtilCtxt* dutil, XWEnv xwe, MQTTDevID* devID )
|
|||
void
|
||||
dvc_setMQTTDevID( XW_DUtilCtxt* dutil, XWEnv xwe, const MQTTDevID* devID )
|
||||
{
|
||||
const XP_UCHAR* keys[] = { MQTT_DEVID_KEY, NULL };
|
||||
dutil_storePtr( dutil, xwe, keys, devID, sizeof(*devID) );
|
||||
dutil_storePtr( dutil, xwe, MQTT_DEVID_KEY, devID, sizeof(*devID) );
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -813,16 +809,10 @@ dvc_onWebSendResult( XW_DUtilCtxt* dutil, XWEnv xwe, XP_U32 resultKey,
|
|||
tmp = cJSON_GetObjectItem( result, "atNext" );
|
||||
if ( !!tmp ) {
|
||||
XP_U32 atNext = tmp->valueint;
|
||||
{
|
||||
const XP_UCHAR* keys1[] = { LAST_REG_KEY, NULL };
|
||||
dutil_storePtr( dutil, xwe, keys1, &atNext,
|
||||
sizeof(atNext) );
|
||||
}
|
||||
{
|
||||
const XP_UCHAR* keys2[] = { KEY_GITREV, NULL };
|
||||
dutil_storePtr( dutil, xwe, keys2, GITREV,
|
||||
XP_STRLEN(GITREV) );
|
||||
}
|
||||
dutil_storePtr( dutil, xwe, LAST_REG_KEY, &atNext,
|
||||
sizeof(atNext) );
|
||||
dutil_storePtr( dutil, xwe, KEY_GITREV, GITREV,
|
||||
XP_STRLEN(GITREV) );
|
||||
}
|
||||
|
||||
tmp = cJSON_GetObjectItem( result, "qos" );
|
||||
|
@ -969,8 +959,7 @@ storePhoniesData( XW_DUtilCtxt* dutil, XWEnv xwe, DevCtxt* dc )
|
|||
XP_ASSERT( pdc1 == pdc );
|
||||
}
|
||||
|
||||
const XP_UCHAR* keys[] = { KEY_LEGAL_PHONIES, NULL };
|
||||
dutil_storeStream( dutil, xwe, keys, stream );
|
||||
dutil_storeStream( dutil, xwe, KEY_LEGAL_PHONIES, stream );
|
||||
stream_destroy( stream );
|
||||
}
|
||||
|
||||
|
@ -981,8 +970,7 @@ loadPhoniesData( XW_DUtilCtxt* dutil, XWEnv xwe, DevCtxt* dc )
|
|||
XP_ASSERT ( !dc->pd );
|
||||
|
||||
XWStreamCtxt* stream = mkStream( dutil );
|
||||
const XP_UCHAR* keys[] = { KEY_LEGAL_PHONIES, NULL };
|
||||
dutil_loadStream( dutil, xwe, keys, stream );
|
||||
dutil_loadStream( dutil, xwe, KEY_LEGAL_PHONIES, stream );
|
||||
|
||||
XP_U8 flags;
|
||||
if ( stream_gotU8( stream, &flags ) && PD_VERSION_1 == flags ) {
|
||||
|
@ -1197,16 +1185,10 @@ registerIf( XW_DUtilCtxt* dutil, XWEnv xwe )
|
|||
{
|
||||
XP_U32 atNext = 0;
|
||||
XP_U32 len = sizeof(atNext);
|
||||
{
|
||||
const XP_UCHAR* keys1[] = { LAST_REG_KEY, NULL };
|
||||
dutil_loadPtr( dutil, xwe, keys1, &atNext, &len );
|
||||
}
|
||||
dutil_loadPtr( dutil, xwe, LAST_REG_KEY, &atNext, &len );
|
||||
XP_UCHAR gitrev[128];
|
||||
len = VSIZE(gitrev);
|
||||
{
|
||||
const XP_UCHAR* keys2[] = { KEY_GITREV, NULL };
|
||||
dutil_loadPtr( dutil, xwe, keys2, gitrev, &len );
|
||||
}
|
||||
dutil_loadPtr( dutil, xwe, KEY_GITREV, gitrev, &len );
|
||||
if ( len >= VSIZE(gitrev) ) {
|
||||
len = VSIZE(gitrev) - 1;
|
||||
}
|
||||
|
|
|
@ -30,26 +30,26 @@
|
|||
#include "xwmutex.h"
|
||||
|
||||
static void
|
||||
super_dutil_storeStream( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* keys[],
|
||||
super_dutil_storeStream( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* key,
|
||||
XWStreamCtxt* data )
|
||||
{
|
||||
const void* ptr = stream_getPtr( data );
|
||||
XP_U16 len = stream_getSize( data );
|
||||
dutil_storePtr( duc, xwe, keys, (void*)ptr, len );
|
||||
dutil_storePtr( duc, xwe, key, (void*)ptr, len );
|
||||
}
|
||||
|
||||
static void
|
||||
super_dutil_loadStream( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
const XP_UCHAR* keys[], XWStreamCtxt* inOut )
|
||||
const XP_UCHAR* key, XWStreamCtxt* inOut )
|
||||
{
|
||||
/* get the size */
|
||||
XP_U32 len = 0;
|
||||
dutil_loadPtr( duc, xwe, keys, NULL, &len );
|
||||
dutil_loadPtr( duc, xwe, key, NULL, &len );
|
||||
|
||||
/* load if it exists */
|
||||
if ( 0 < len ) {
|
||||
void* buf = XP_MALLOC( duc->mpool, len );
|
||||
dutil_loadPtr( duc, xwe, keys, buf, &len );
|
||||
dutil_loadPtr( duc, xwe, key, buf, &len );
|
||||
|
||||
stream_putBytes( inOut, buf, len );
|
||||
XP_FREEP( duc->mpool, &buf );
|
||||
|
|
|
@ -55,16 +55,16 @@ typedef struct _DUtilVtable {
|
|||
XP_U16 stringCode,
|
||||
XP_U16 quantity );
|
||||
void (*m_dutil_storeStream)( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
const XP_UCHAR* keys[],
|
||||
const XP_UCHAR* key,
|
||||
XWStreamCtxt* stream );
|
||||
void (*m_dutil_loadStream)( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
const XP_UCHAR* keys[],
|
||||
const XP_UCHAR* key,
|
||||
XWStreamCtxt* inOut );
|
||||
void (*m_dutil_storePtr)( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
const XP_UCHAR* keys[],
|
||||
const XP_UCHAR* key,
|
||||
const void* data, XP_U32 len);
|
||||
void (*m_dutil_loadPtr)( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
const XP_UCHAR* keys[],
|
||||
const XP_UCHAR* key,
|
||||
void* data, XP_U32* lenp );
|
||||
# ifdef XWFEATURE_DEVICE
|
||||
void (*m_dutil_forEach)( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
|
|
|
@ -69,8 +69,7 @@ loadStateLocked( XW_DUtilCtxt* dutil, XWEnv xwe )
|
|||
dutil->kpCtxt = state = XP_CALLOC( dutil->mpool, sizeof(*state) );
|
||||
XWStreamCtxt* stream = mem_stream_make_raw( MPPARM(dutil->mpool)
|
||||
dutil_getVTManager(dutil) );
|
||||
const XP_UCHAR* keys[] = { KNOWN_PLAYERS_KEY, NULL };
|
||||
dutil_loadStream( dutil, xwe, keys, stream );
|
||||
dutil_loadStream( dutil, xwe, KNOWN_PLAYERS_KEY, stream );
|
||||
if ( 0 < stream_getSize( stream ) ) {
|
||||
XP_U8 vers = stream_getU8( stream );
|
||||
stream_setVersion( stream, vers );
|
||||
|
@ -106,8 +105,7 @@ saveState( XW_DUtilCtxt* dutil, XWEnv xwe, KPState* state )
|
|||
|
||||
dll_map( &state->players->links, saveProc, NULL, stream );
|
||||
|
||||
const XP_UCHAR* keys[] = { KNOWN_PLAYERS_KEY, NULL };
|
||||
dutil_storeStream( dutil, xwe, keys, stream );
|
||||
dutil_storeStream( dutil, xwe, KNOWN_PLAYERS_KEY, stream );
|
||||
stream_destroy( stream );
|
||||
state->dirty = XP_FALSE;
|
||||
}
|
||||
|
|
|
@ -126,8 +126,7 @@ smsproto_init( MPFORMAL XWEnv xwe, XW_DUtilCtxt* dutil )
|
|||
MPASSIGN( state->mpool, mpool );
|
||||
|
||||
XP_U32 siz = sizeof(state->nNextID);
|
||||
const XP_UCHAR* keys[] = { KEY_NEXTID, NULL, };
|
||||
dutil_loadPtr( state->dutil, xwe, keys, &state->nNextID, &siz );
|
||||
dutil_loadPtr( state->dutil, xwe, KEY_NEXTID, &state->nNextID, &siz );
|
||||
XP_LOGF( "%s(): loaded nextMsgID: %d", __func__, state->nNextID );
|
||||
|
||||
restorePartials( state, xwe );
|
||||
|
@ -706,8 +705,7 @@ savePartials( SMSProto* state, XWEnv xwe )
|
|||
if ( state->lastStoredSize == 2 && newSize == 2 ) {
|
||||
XP_LOGFF( "not storing empty again" );
|
||||
} else {
|
||||
const XP_UCHAR* keys[] = { KEY_PARTIALS, NULL, };
|
||||
dutil_storeStream( state->dutil, xwe, keys, stream );
|
||||
dutil_storeStream( state->dutil, xwe, KEY_PARTIALS, stream );
|
||||
state->lastStoredSize = newSize;
|
||||
}
|
||||
|
||||
|
@ -721,8 +719,7 @@ restorePartials( SMSProto* state, XWEnv xwe )
|
|||
{
|
||||
XWStreamCtxt* stream = mkStream( state );
|
||||
|
||||
const XP_UCHAR* keys[] = { KEY_PARTIALS, NULL, };
|
||||
dutil_loadStream( state->dutil, xwe, keys, stream );
|
||||
dutil_loadStream( state->dutil, xwe, KEY_PARTIALS, stream );
|
||||
if ( stream_getSize( stream ) >= 1
|
||||
&& PARTIALS_FORMAT == stream_getU8( stream ) ) {
|
||||
int nFromPhones = stream_getU8( stream );
|
||||
|
@ -883,8 +880,7 @@ static int
|
|||
nextMsgID( SMSProto* state, XWEnv xwe )
|
||||
{
|
||||
int result = ++state->nNextID % 0x000000FF;
|
||||
const XP_UCHAR* keys[] = { KEY_NEXTID, NULL, };
|
||||
dutil_storePtr( state->dutil, xwe, keys, &state->nNextID,
|
||||
dutil_storePtr( state->dutil, xwe, KEY_NEXTID, &state->nNextID,
|
||||
sizeof(state->nNextID) );
|
||||
LOG_RETURNF( "%d", result );
|
||||
return result;
|
||||
|
|
|
@ -171,8 +171,7 @@ storeCountsLocked( XW_DUtilCtxt* dutil, XWEnv xwe )
|
|||
}
|
||||
}
|
||||
|
||||
const XP_UCHAR* keys[] = { STATS_KEY, NULL };
|
||||
dutil_storeStream( dutil, xwe, keys, stream );
|
||||
dutil_storeStream( dutil, xwe, STATS_KEY, stream );
|
||||
stream_destroy( stream );
|
||||
}
|
||||
|
||||
|
@ -186,8 +185,7 @@ loadCountsLocked( XW_DUtilCtxt* dutil, XWEnv xwe )
|
|||
ss->statsVals = statsVals;
|
||||
|
||||
XWStreamCtxt* stream = mkStream( dutil );
|
||||
const XP_UCHAR* keys[] = { STATS_KEY, NULL };
|
||||
dutil_loadStream( dutil, xwe, keys, stream );
|
||||
dutil_loadStream( dutil, xwe, STATS_KEY, stream );
|
||||
|
||||
XP_U8 version;
|
||||
if ( stream_gotU8( stream, &version ) ) {
|
||||
|
|
|
@ -52,9 +52,9 @@ static const XP_UCHAR* linux_dutil_getUserString( XW_DUtilCtxt* duc, XWEnv xwe,
|
|||
static const XP_UCHAR* linux_dutil_getUserQuantityString( XW_DUtilCtxt* duc, XWEnv xwe, XP_U16 code,
|
||||
XP_U16 quantity );
|
||||
|
||||
static void linux_dutil_storePtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* keys[],
|
||||
static void linux_dutil_storePtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* key,
|
||||
const void* data, XP_U32 len );
|
||||
static void linux_dutil_loadPtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* keys[],
|
||||
static void linux_dutil_loadPtr( XW_DUtilCtxt* duc, XWEnv xwe, const XP_UCHAR* key,
|
||||
void* data, XP_U32* lenp );
|
||||
static void linux_dutil_forEach( XW_DUtilCtxt* duc, XWEnv xwe,
|
||||
const XP_UCHAR* keys[],
|
||||
|
@ -580,36 +580,34 @@ linux_dutil_getUserQuantityString( XW_DUtilCtxt* duc, XWEnv xwe, XP_U16 code,
|
|||
|
||||
static void
|
||||
linux_dutil_storePtr( XW_DUtilCtxt* duc, XWEnv XP_UNUSED(xwe),
|
||||
const XP_UCHAR* keys[],
|
||||
const XP_UCHAR* key,
|
||||
const void* data, const XP_U32 len )
|
||||
{
|
||||
XP_ASSERT( keys[1] == NULL );
|
||||
LaunchParams* params = (LaunchParams*)duc->closure;
|
||||
sqlite3* pDb = params->pDb;
|
||||
|
||||
gchar* b64 = g_base64_encode( data, len);
|
||||
gdb_store( pDb, keys[0], b64 );
|
||||
gdb_store( pDb, key, b64 );
|
||||
g_free( b64 );
|
||||
}
|
||||
|
||||
static void
|
||||
linux_dutil_loadPtr( XW_DUtilCtxt* duc, XWEnv XP_UNUSED(xwe),
|
||||
const XP_UCHAR* keys[],
|
||||
const XP_UCHAR* key,
|
||||
void* data, XP_U32* lenp )
|
||||
{
|
||||
XP_ASSERT( NULL == keys[1] );
|
||||
LaunchParams* params = (LaunchParams*)duc->closure;
|
||||
sqlite3* pDb = params->pDb;
|
||||
|
||||
gint buflen = 0;
|
||||
FetchResult res = gdb_fetch( pDb, keys[0], NULL, NULL, &buflen );
|
||||
FetchResult res = gdb_fetch( pDb, key, NULL, NULL, &buflen );
|
||||
if ( res == BUFFER_TOO_SMALL ) { /* expected: I passed 0 */
|
||||
if ( 0 == *lenp ) {
|
||||
*lenp = buflen;
|
||||
} else {
|
||||
gchar* tmp = XP_MALLOC( duc->mpool, buflen );
|
||||
gint tmpLen = buflen;
|
||||
res = gdb_fetch( pDb, keys[0], NULL, tmp, &tmpLen );
|
||||
res = gdb_fetch( pDb, key, NULL, tmp, &tmpLen );
|
||||
XP_ASSERT( buflen == tmpLen );
|
||||
XP_ASSERT( res == SUCCESS );
|
||||
XP_ASSERT( tmp[buflen-1] == '\0' );
|
||||
|
@ -627,7 +625,7 @@ linux_dutil_loadPtr( XW_DUtilCtxt* duc, XWEnv XP_UNUSED(xwe),
|
|||
*lenp = 0; /* doesn't exist */
|
||||
}
|
||||
|
||||
XP_LOGFF( "(key=%s) => len: %d", keys[0], *lenp );
|
||||
XP_LOGFF( "(key=%s) => len: %d", key, *lenp );
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Reference in a new issue