/* * Java-Gnome Bindings Library * * Copyright 1998-2004 the Java-Gnome Team, all rights reserved. * * The Java-Gnome bindings library is free software distributed under * the terms of the GNU Library General Public License version 2. */ #include #include #include #include "gst_java.h" void initGstObject(GstObject *object, JGRef *ref) { g_object_add_toggle_ref ((GObject *) object, toggleNotify, ref); gst_object_sink(object); } jobject getGstObjectHandle(JNIEnv* env, GstObject* object) { jobject handle; JGRef *ref; ref = getData(object); if (ref == NULL) { handle = getHandleFromPointer(env, object); ref = setData(env, object, handle); initGstObject(object, ref); return handle; } g_print("retrieving existing object\n"); return ref->object; } jobjectArray getGstObjectHandlesFromPointers(JNIEnv* env, void** pointer, int numPtrs) { return getHandlesFromPointers(env, pointer, numPtrs, (GetHandleFunc) getGstObjectHandle); } jobjectArray getGstObjectHandlesFromGList(JNIEnv* env, GList* list) { return getHandlesFromGList(env, list, (GetHandleFunc) getGstObjectHandle); } jobjectArray getGstObjectHandlesFromGSList(JNIEnv* env, GSList* list) { return getHandlesFromGSList(env, list, (GetHandleFunc) getGstObjectHandle); }