JS_EXPORT_API gchar* greeter_get_default_session () { gchar *key = NULL; extern LightDMGreeter *greeter; guint i; gchar* session_name = g_strdup( lightdm_greeter_get_default_session_hint(greeter)); if (session_name != NULL) { if (sessions == NULL) { sessions = lightdm_get_sessions (); } for (i = 0; i < g_list_length (sessions); ++i) { LightDMSession *session = (LightDMSession *)g_list_nth_data( sessions, i); gchar *name = g_strdup (lightdm_session_get_name (session)); if (g_strcmp0 (session_name, name) == 0) { key = g_strdup (lightdm_session_get_key (session)); g_free (name); break; } else { g_free (name); continue; } } } g_free (session_name); return key; }
static JSValueRef get_default_session_cb(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef *exception) { return string_or_null(context, lightdm_greeter_get_default_session_hint(GREETER)); }