From: Robert M. <rob...@de...> - 2005-04-12 21:57:53
|
Tim Ringenbach wrote: > Actually, I was thinking of not making it a GObject, because it doesn't > really use anything GObject's provide, except maybe refcounts. No > signals, no properties, nothing would inherit from it. > > But I'm not an expert on where the line is drawn for GObject or not > GObject. I'll note though that glib itself has several primitives, > GList, GString, GQueue, GHashTable, that they didn't make GObjects. > > --Tim The point of GObjects is that they're registered within the GType type system, which can be used from languages other than the implementation language of the objects - they can be mixed and matched. You can write GObjects in Python and use them from a C program, although the more common approach is making C GObjects available in higher-level languages, like The line is drawn where you consider something is a language feature or an exportable feature of your program or part of its API. GHashTable et al are parts of the glib C utility library, and add data structures and stuff which aren't available/reliable in C standard libraries, and are not related to the gtype/gobject stuff which is a pretty discrete API. GaimMarkup is clearly in the latter group though, and will need to be GObjectified if libgaim's API is to be wrapped for other uses. Regards, Rob |