Mario Sánchez wrote: > My question is... is this true? There's not a wrapper for GNode yet?
It's true. Most of the non-type-system-related data structures from glib aren't wrapped in GLib#, because it's generally better to try to map those APIs to use more .NET-ish data types. > In case of this to be true... How can I wrap a library which contains > functions using GNodes? Would be a good idea trying to implement a GNode > C# wrapper by myself or it's a better way to achieve this problem? There are two pieces to what you have to do: decide how you want to represent the GNodes in C#, and then tell that to GAPI. For the first part, it depends on whether or not you need to manipulate the GNodes from C#, or if you're just going to be treating them as opaque cookies that you receive from some methods and pass back to others. If you need to manipulate them, you'll need to create your own wrapper type for them in C#. Look at the way that GList is wrapped for some ideas, as well as the generated wrappers for a GLib.Opaque-based type like Gdk.Cursor. Another possibility would be to try running GAPI on gnode.h, and seeing what it comes up with. You might need to tweak it a bit before it's usable. On the other hand, if you don't need to ever actually use the GNodes from C#, then you could just map GNode* to IntPtr. Once you've decided what type to map it to (either your own wrapper type, or IntPtr), tell GAPI by using a symbols file, as explained at http://mono-project.com/GAPI#Symbols. (Use "simple" to map to IntPtr, or "manual" to map to an opaque type.) -- Dan _______________________________________________ Gtk-sharp-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
