static VALUE rc_get_uris(VALUE self) { gsize i; gsize size; gchar** uris = gtk_recent_chooser_get_uris(_SELF(self), &size); VALUE ary = rb_ary_new(); for (i = 0; i < size; i++){ rb_ary_push(ary, CSTR2RVAL(uris[i])); } g_strfreev(uris); return ary; }
JNIEXPORT jobjectArray JNICALL Java_org_gnome_gtk_GtkRecentChooser_gtk_1recent_1chooser_1get_1uris ( JNIEnv* env, jclass cls, jlong _self, jlongArray _length ) { gchar** result; jobjectArray _result; GtkRecentChooser* self; gsize* length; // convert parameter self self = (GtkRecentChooser*) _self; // convert parameter length length = (gsize*) (*env)->GetLongArrayElements(env, _length, NULL); if (length == NULL) { return NULL; // Java Exception already thrown } // call function result = gtk_recent_chooser_get_uris(self, length); // cleanup parameter self // cleanup parameter length (*env)->ReleaseLongArrayElements(env, _length, (jlong*)length, 0); // translate return value to JNI type _result = (jobjectArray) bindings_java_convert_gchararray_to_jarray(env, (const gchar**)result); // cleanup return value if (result != NULL) { g_strfreev(result); } // and finally return _result; }