[Mono-devel-list] binding GObjects into Mono
Frederic Peters
fpeters at entrouvert.com
Fri Jan 21 09:54:43 EST 2005
Hello,
I am developing a Mono binding for Lasso <http://lasso.entrouvert.org>
which uses lots of GObject. The basis is done with SWIG but it is not
enough and I need some custom code to cast GObject* pointers to right
classes.
Mapped to well-known GTK+ my case looks like this:
struct GtkBin {
GtkContainer container;
GtkWidget *child;
}
I would then need to do object->child and get a GtkButton, a GtkVBox,
whatever the object is but not a GtkWidget object.
For reference the JNI binding does something like this (it is not by me):
/* classPath is the appropritate class name, created with G_OBJECT_TYPE_NAME */
clazz = (*jenv)->FindClass(jenv, classPath);
jmethodID mid = (*jenv)->GetMethodID(jenv, clazz, "<init>", "(JZ)V");
if (mid)
*(void**)&$result = (*jenv)->NewObject(jenv, clazz, mid, $1, false);
(the $ are for swig)
What would be Mono/.net equivalent to FindClass and GetMethodID ? Or
is this something completely different ?
I looked at Gtk# but couldn't find anything.
Thanks,
Frederic
More information about the Mono-devel-list
mailing list