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:   25-Sep-2009 00:38:09
  Branch: HEAD                             Handle: 2009092422380100

  Modified files:
    rpm/js                  rpmdbe-js.c

  Log:
    - js: stub-in the memp_foo methods.

  Summary:
    Revision    Changes     Path
    1.11        +170 -0     rpm/js/rpmdbe-js.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/js/rpmdbe-js.c
  ============================================================================
  $ cvs diff -u -r1.10 -r1.11 rpmdbe-js.c
  --- rpm/js/rpmdbe-js.c        24 Sep 2009 19:09:37 -0000      1.10
  +++ rpm/js/rpmdbe-js.c        24 Sep 2009 22:38:01 -0000      1.11
  @@ -374,6 +374,170 @@
   }
   
   static JSBool
  +rpmdbe_MempFcreate(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_MempRegister(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_MempStat(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval 
*rval)
  +{
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL);
  +    DB_ENV * dbenv = ptr;
  +    uint32_t _flags = DB_STAT_ALL;
  +    JSBool ok = JS_FALSE;
  +
  +_METHOD_DEBUG_ENTRY(_debug);
  +
  +    if (dbenv == NULL) goto exit;
  +    *rval = JSVAL_FALSE;
  +
  +     /* FIXME todo++ */
  +    if (!(ok = JS_ConvertArguments(cx, argc, argv, "/u", &_flags)))
  +     goto exit;
  +
  +    if (dbenv->app_private != NULL) {
  +     DB_MPOOL_STAT ** _gsp = NULL;   /* XXX todo++ */
  +#ifdef       NOTYET
  +     DB_MPOOL_FSTAT *(*_fsp)[] = NULL;
  +#endif
  +
  +     int ret = dbenv->memp_stat(dbenv, _gsp, NULL, _flags);
  +     if (ret)
  +         dbenv->err(dbenv, ret, "DB_ENV->memp_stat");
  +     else
  +         *rval = JSVAL_TRUE;
  +    }
  +
  +    ok = JS_TRUE;
  +
  +exit:
  +    return ok;
  +}
  +
  +static JSBool
  +rpmdbe_MempStatPrint(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, 
jsval *rval)
  +{
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL);
  +    DB_ENV * dbenv = ptr;
  +    uint32_t _flags = DB_STAT_ALL;
  +    JSBool ok = JS_FALSE;
  +
  +_METHOD_DEBUG_ENTRY(_debug);
  +
  +    if (dbenv == NULL) goto exit;
  +    *rval = JSVAL_FALSE;
  +
  +    if (!(ok = JS_ConvertArguments(cx, argc, argv, "/u", &_flags)))
  +     goto exit;
  +
  +    if (dbenv->app_private != NULL) {
  +     int ret = dbenv->memp_stat_print(dbenv, _flags);
  +     if (ret)
  +         dbenv->err(dbenv, ret, "DB_ENV->memp_stat_print");
  +     else
  +         *rval = JSVAL_TRUE;
  +    }
  +
  +    ok = JS_TRUE;
  +
  +exit:
  +    return ok;
  +}
  +
  +static JSBool
  +rpmdbe_MempSync(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;
  +
  +    if (dbenv->app_private != NULL) {
  +     DB_LSN * _lsn = NULL;
  +     int ret = dbenv->memp_sync(dbenv, _lsn);
  +     if (ret)
  +         dbenv->err(dbenv, ret, "DB_ENV->memp_sync");
  +     else
  +         *rval = JSVAL_TRUE;
  +    }
  +
  +    ok = JS_TRUE;
  +
  +exit:
  +    return ok;
  +}
  +
  +static JSBool
  +rpmdbe_MempTrickle(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, 
jsval *rval)
  +{
  +    void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL);
  +    DB_ENV * dbenv = ptr;
  +    int _percent = 20;
  +    JSBool ok = JS_FALSE;
  +
  +_METHOD_DEBUG_ENTRY(_debug);
  +
  +    if (dbenv == NULL) goto exit;
  +    *rval = JSVAL_VOID;
  +
  +    if (!(ok = JS_ConvertArguments(cx, argc, argv, "/i", &_percent)))
  +     goto exit;
  +
  +    if (dbenv->app_private != NULL) {
  +     int nwrote = 0;
  +     int ret = dbenv->memp_trickle(dbenv, _percent, &nwrote);
  +     if (ret)
  +         dbenv->err(dbenv, ret, "DB_ENV->memp_sync");
  +     else
  +         *rval = INT_TO_JSVAL(nwrote);
  +    }
  +
  +    ok = JS_TRUE;
  +
  +exit:
  +    return ok;
  +}
  +
  +static JSBool
   rpmdbe_MutexAlloc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, 
jsval *rval)
   {
       void * ptr = JS_GetInstancePrivate(cx, obj, &rpmdbeClass, NULL);
  @@ -1032,6 +1196,12 @@
       JS_FS("failchk", rpmdbe_Failchk,         0,0,0),
       JS_FS("fileid_reset", rpmdbe_FileidReset,        0,0,0),
       JS_FS("lsn_reset",       rpmdbe_LsnReset,        0,0,0),
  +    JS_FS("memp_fcreate",    rpmdbe_MempFcreate,     0,0,0),
  +    JS_FS("memp_register",   rpmdbe_MempRegister,    0,0,0),
  +    JS_FS("memp_stat",       rpmdbe_MempStat,        0,0,0),
  +    JS_FS("memp_stat_print", rpmdbe_MempStatPrint,   0,0,0),
  +    JS_FS("memp_sync",       rpmdbe_MempSync,        0,0,0),
  +    JS_FS("memp_trickle",    rpmdbe_MempTrickle,     0,0,0),
       JS_FS("mutex_alloc",     rpmdbe_MutexAlloc,      0,0,0),
       JS_FS("mutex_free",      rpmdbe_MutexFree,       0,0,0),
       JS_FS("mutex_lock",      rpmdbe_MutexLock,       0,0,0),
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to