Exemplo n.º 1
0
static JSObject*
gjs_keep_alive_create_in_global(JSContext *context)
{
    JSObject *keep_alive;
    JSObject *global;

    JS_BeginRequest(context);

    global = JS_GetGlobalObject(context);

    keep_alive = gjs_keep_alive_new(context);

    if (!JS_DefineProperty(context, global,
                           GLOBAL_KEEP_ALIVE_NAME,
                           OBJECT_TO_JSVAL(keep_alive),
                           NULL, NULL,
                           /* No ENUMERATE since this is a hidden
                            * implementation detail kind of property
                            */
                           JSPROP_READONLY | JSPROP_PERMANENT))
        gjs_fatal("no memory to define keep_alive property");

    JS_EndRequest(context);
    return keep_alive;
}
Exemplo n.º 2
0
static JSObject*
gjs_keep_alive_create(JSContext *context)
{
    JSObject *keep_alive;

    JS_BeginRequest(context);

    keep_alive = gjs_keep_alive_new(context);
    if (!keep_alive)
        g_error("could not create keep_alive on global object, no memory?");

    gjs_set_global_slot(context, GJS_GLOBAL_SLOT_KEEP_ALIVE, JS::ObjectValue(*keep_alive));

    JS_EndRequest(context);
    return keep_alive;
}