RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 24-Sep-2009 05:49:47 Branch: HEAD Handle: 2009092403494600 Modified files: rpm/js rpmdb-js.c rpmdbe-js.c Log: - js: stub in the next round of method wrappers. Summary: Revision Changes Path 1.16 +116 -0 rpm/js/rpmdb-js.c 1.6 +232 -1 rpm/js/rpmdbe-js.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/js/rpmdb-js.c ============================================================================ $ cvs diff -u -r1.15 -r1.16 rpmdb-js.c --- rpm/js/rpmdb-js.c 24 Sep 2009 00:18:20 -0000 1.15 +++ rpm/js/rpmdb-js.c 24 Sep 2009 03:49:46 -0000 1.16 @@ -102,6 +102,44 @@ #define DBT_INIT {0} static JSBool +rpmdb_Associate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); + DB * db = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (db == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; +exit: + return ok; +} + +static JSBool +rpmdb_AssociateForeign(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); + DB * db = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (db == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; +exit: + return ok; +} + +static JSBool rpmdb_Close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); @@ -129,6 +167,41 @@ } static JSBool +rpmdb_Compact(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); + DB * db = ptr; + uint32_t _flags = 0; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (db == NULL) goto exit; + *rval = JSVAL_FALSE; + + if (!(ok = JS_ConvertArguments(cx, argc, argv, "/u", &_flags))) + goto exit; + + if (db->app_private != NULL) { + DB_TXN * _txnid = NULL; + DBT * _start = NULL; + DBT * _stop = NULL; + DB_COMPACT * _c_data = NULL; + DBT * _end = NULL; + int ret = db->compact(db, _txnid, _start, _stop, _c_data, _flags, _end); + if (ret) + db->err(db, ret, "DB->compact"); + else + *rval = JSVAL_TRUE; + } + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool rpmdb_Cursor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); @@ -297,6 +370,44 @@ } static JSBool +rpmdb_Join(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); + DB * db = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (db == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; +exit: + return ok; +} + +static JSBool +rpmdb_KeyRange(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); + DB * db = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (db == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; +exit: + return ok; +} + +static JSBool rpmdb_Open(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbClass, NULL); @@ -687,11 +798,16 @@ } static JSFunctionSpec rpmdb_funcs[] = { + JS_FS("associate", rpmdb_Associate, 0,0,0), + JS_FS("associate_foreign", rpmdb_AssociateForeign, 0,0,0), JS_FS("close", rpmdb_Close, 0,0,0), + JS_FS("compact", rpmdb_Compact, 0,0,0), JS_FS("cursor", rpmdb_Cursor, 0,0,0), JS_FS("del", rpmdb_Del, 0,0,0), JS_FS("exists", rpmdb_Exists, 0,0,0), JS_FS("get", rpmdb_Get, 0,0,0), + JS_FS("join", rpmdb_Join, 0,0,0), + JS_FS("key_range", rpmdb_KeyRange, 0,0,0), JS_FS("open", rpmdb_Open, 0,0,0), JS_FS("pget", rpmdb_Pget, 0,0,0), JS_FS("put", rpmdb_Put, 0,0,0), @@ . patch -p0 <<'@@ .' Index: rpm/js/rpmdbe-js.c ============================================================================ $ cvs diff -u -r1.5 -r1.6 rpmdbe-js.c --- rpm/js/rpmdbe-js.c 24 Sep 2009 02:59:04 -0000 1.5 +++ rpm/js/rpmdbe-js.c 24 Sep 2009 03:49:46 -0000 1.6 @@ -43,6 +43,26 @@ /* --- Object methods */ static JSBool +rpmdbe_CdsgroupBegin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool rpmdbe_Close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); @@ -53,7 +73,7 @@ _METHOD_DEBUG_ENTRY(_debug); if (dbenv == NULL) goto exit; - *rval = JSVAL_TRUE; + *rval = JSVAL_FALSE; { int ret = dbenv->close(dbenv, _flags); if (ret) @@ -138,6 +158,46 @@ } static JSBool +rpmdbe_FileidReset(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_LsnReset(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool rpmdbe_Open(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); @@ -206,6 +266,66 @@ } static JSBool +rpmdbe_RepmgrStart(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_RepmgrStat(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_RepmgrStatPrint(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool rpmdbe_StatPrint(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); @@ -235,13 +355,124 @@ return ok; } +static JSBool +rpmdbe_TxnBegin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_TxnCheckpoint(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_TxnRecover(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_TxnStat(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + +static JSBool +rpmdbe_TxnStatPrint(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL); + DB_ENV * dbenv = ptr; + JSBool ok = JS_FALSE; + +_METHOD_DEBUG_ENTRY(_debug); + + if (dbenv == NULL) goto exit; + *rval = JSVAL_FALSE; + + /* FIXME todo++ */ + + ok = JS_TRUE; + +exit: + return ok; +} + static JSFunctionSpec rpmdbe_funcs[] = { + JS_FS("cdsgroup_begin", rpmdbe_CdsgroupBegin, 0,0,0), JS_FS("close", rpmdbe_Close, 0,0,0), JS_FS("dbremove", rpmdbe_Dbremove, 0,0,0), JS_FS("dbrename", rpmdbe_Dbrename, 0,0,0), + JS_FS("fileid_reset", rpmdbe_FileidReset, 0,0,0), + JS_FS("lsn_reset", rpmdbe_LsnReset, 0,0,0), JS_FS("open", rpmdbe_Open, 0,0,0), JS_FS("remove", rpmdbe_Remove, 0,0,0), + JS_FS("repmgr_start", rpmdbe_RepmgrStart, 0,0,0), + JS_FS("repmgr_stat", rpmdbe_RepmgrStat, 0,0,0), + JS_FS("repmgr_stat_print", rpmdbe_RepmgrStatPrint, 0,0,0), JS_FS("stat_print", rpmdbe_StatPrint, 0,0,0), + JS_FS("txn_begin", rpmdbe_TxnBegin, 0,0,0), + JS_FS("txn_checkpoint", rpmdbe_TxnCheckpoint, 0,0,0), + JS_FS("txn_recover", rpmdbe_TxnRecover, 0,0,0), + JS_FS("txn_stat", rpmdbe_TxnStat, 0,0,0), + JS_FS("txn_stat_print", rpmdbe_TxnStatPrint, 0,0,0), JS_FS_END }; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
