java-gobject-introspection r148 - in trunk/src/org/gnome/gir: compiler gobject repository runtime
- From: walters svn gnome org
- To: svn-commits-list gnome org
- Subject: java-gobject-introspection r148 - in trunk/src/org/gnome/gir: compiler gobject repository runtime
- Date: Sun, 7 Dec 2008 17:27:25 +0000 (UTC)
Author: walters
Date: Sun Dec 7 17:27:25 2008
New Revision: 148
URL: http://svn.gnome.org/viewvc/java-gobject-introspection?rev=148&view=rev
Log:
Move init into GlibRuntime, where we're doing most other special bits
Some import and other misc cleanups.
Removed:
trunk/src/org/gnome/gir/gobject/GObjectGlobals.java
Modified:
trunk/src/org/gnome/gir/compiler/ClassCompilation.java
trunk/src/org/gnome/gir/gobject/GlibRuntime.java
trunk/src/org/gnome/gir/gobject/NativeObject.java
trunk/src/org/gnome/gir/repository/Repository.java
trunk/src/org/gnome/gir/runtime/GType.java
Modified: trunk/src/org/gnome/gir/compiler/ClassCompilation.java
==============================================================================
--- trunk/src/org/gnome/gir/compiler/ClassCompilation.java (original)
+++ trunk/src/org/gnome/gir/compiler/ClassCompilation.java Sun Dec 7 17:27:25 2008
@@ -6,7 +6,6 @@
import static org.objectweb.asm.Opcodes.ACC_STATIC;
import static org.objectweb.asm.Opcodes.RETURN;
-import org.gnome.gir.repository.Repository;
import org.gnome.gir.runtime.GType;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.ClassWriter;
Modified: trunk/src/org/gnome/gir/gobject/GlibRuntime.java
==============================================================================
--- trunk/src/org/gnome/gir/gobject/GlibRuntime.java (original)
+++ trunk/src/org/gnome/gir/gobject/GlibRuntime.java Sun Dec 7 17:27:25 2008
@@ -27,6 +27,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
import org.gnome.gir.repository.Transfer;
import org.gnome.gir.runtime.GObject;
@@ -46,6 +47,31 @@
private static final Set<CallbackData> outstandingCallbacks
= Collections.synchronizedSet(new HashSet<CallbackData>());
+
+ private static AtomicBoolean initialized = new AtomicBoolean(false);
+
+ public static void init() {
+ if (initialized.getAndSet(true))
+ return;
+ final GlibAPI.GLogFunc handler = new GlibAPI.GLogFunc() {
+ @Override
+ public void callback(String log_domain, int log_level,
+ String message, Pointer data) {
+ if (((log_level & GlibAPI.GLogLevelFlags.CRITICAL) > 0) ||
+ ((log_level & GlibAPI.GLogLevelFlags.ERROR) > 0) ||
+ ((log_level & GlibAPI.GLogLevelFlags.WARNING) > 0)) {
+ String msg = "GLib Failure: " + log_domain + " " + message;
+ System.err.println(msg);
+ throw new RuntimeException(msg);
+ }
+ }
+ };
+
+ GlibAPI.glib.g_log_set_default_handler(handler, null);
+ GThreadAPI.gthread.g_thread_init(null);
+ GObjectAPI.gobj.g_type_init();
+ }
+
public static final String toStringAndGFree(Pointer ptr) {
String result = ptr.getString(0);
GlibAPI.glib.g_free(ptr);
Modified: trunk/src/org/gnome/gir/gobject/NativeObject.java
==============================================================================
--- trunk/src/org/gnome/gir/gobject/NativeObject.java (original)
+++ trunk/src/org/gnome/gir/gobject/NativeObject.java Sun Dec 7 17:27:25 2008
@@ -227,7 +227,6 @@
}
- @SuppressWarnings("unchecked")
protected static Class<?> lookupProxyChain(GType gtype) {
Class<?> ret = null;
while (ret == null && !gtype.equals(GType.OBJECT)) {
Modified: trunk/src/org/gnome/gir/repository/Repository.java
==============================================================================
--- trunk/src/org/gnome/gir/repository/Repository.java (original)
+++ trunk/src/org/gnome/gir/repository/Repository.java Sun Dec 7 17:27:25 2008
@@ -2,7 +2,7 @@
import org.gnome.gir.gobject.GErrorException;
import org.gnome.gir.gobject.GErrorStruct;
-import org.gnome.gir.gobject.GObjectGlobals;
+import org.gnome.gir.gobject.GlibRuntime;
import org.gnome.gir.gobject.NativeObject;
import org.gnome.gir.runtime.GObject;
@@ -86,7 +86,7 @@
}
public static synchronized Repository getDefault() {
- GObjectGlobals.init();
+ GlibRuntime.init();
return (Repository) NativeObject.Internals.objectFor(getNativeLibrary().g_irepository_get_default(),
Repository.class, false, false);
}
Modified: trunk/src/org/gnome/gir/runtime/GType.java
==============================================================================
--- trunk/src/org/gnome/gir/runtime/GType.java (original)
+++ trunk/src/org/gnome/gir/runtime/GType.java Sun Dec 7 17:27:25 2008
@@ -48,12 +48,9 @@
import java.util.Map;
import org.gnome.gir.gobject.GObjectAPI;
-import org.gnome.gir.gobject.UnmappedPointer;
import org.gnome.gir.repository.BaseInfo;
import org.gnome.gir.repository.Repository;
-import org.objectweb.asm.Type;
-import com.sun.jna.Callback;
import com.sun.jna.FromNativeContext;
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]