trivial API change

any key concatenation should be in common/ code
This commit is contained in:
Eric House 2024-11-01 08:18:06 -07:00
parent 6314fd8a01
commit f4c080cdf7
8 changed files with 44 additions and 74 deletions

View file

@ -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 );

View file

@ -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,17 +809,11 @@ 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,
dutil_storePtr( dutil, xwe, LAST_REG_KEY, &atNext,
sizeof(atNext) );
}
{
const XP_UCHAR* keys2[] = { KEY_GITREV, NULL };
dutil_storePtr( dutil, xwe, keys2, GITREV,
dutil_storePtr( dutil, xwe, KEY_GITREV, GITREV,
XP_STRLEN(GITREV) );
}
}
tmp = cJSON_GetObjectItem( result, "qos" );
if ( !!tmp ) {
@ -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;
}

View file

@ -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 );

View file

@ -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,

View file

@ -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;
}

View file

@ -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;

View file

@ -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 ) ) {

View file

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