Farewell sweet shim,
authorAndy Wingo <wingo@pobox.com>
Wed, 6 Feb 2002 16:45:33 +0000 (16:45 +0000)
committerAndy Wingo <wingo@pobox.com>
Wed, 6 Feb 2002 16:45:33 +0000 (16:45 +0000)
Original commit message from CVS:
Farewell sweet shim,
Thou hast serv'd us well --
Though not with cherubim
but in the Attic you shall dwell.

gst/gobject2gtk.c [deleted file]
gst/gobject2gtk.h [deleted file]

diff --git a/gst/gobject2gtk.c b/gst/gobject2gtk.c
deleted file mode 100644 (file)
index 10e10f3..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-/* Written by Erik Walthinsen 06-2001 */
-/* Modified by Jamie Gennis 06-2001 */
-#include <string.h>
-#include <stdio.h>
-#include "gstlog.h"
-#include "gobject2gtk.h"
-
-
-/* list functions not in glib 1.2 */
-GList *
-g_list_delete_link (GList *list, GList *llink)
-{
-  GList *temp = g_list_remove_link(list, llink);
-  g_list_free(llink);
-  return temp;
-}
-
-GSList *
-g_slist_delete_link (GSList *list, GSList *llink)
-{
-  GSList *temp = g_slist_remove_link(list, llink);
-  g_slist_free(llink);
-  return temp;
-}
-
-/* string helper functions not in glib 1.2 */
-
-gchar*
-g_strcanon (gchar       *string,
-           const gchar *valid_chars,
-           gchar        substitutor)
-{
-  register gchar *c;
-  
-  g_return_val_if_fail (string != NULL, NULL);
-  g_return_val_if_fail (valid_chars != NULL, NULL);
-    
-  for (c = string; *c; c++)
-    {
-      if (!strchr (valid_chars, *c))
-       *c = substitutor;
-    }
-
-  return string;
-}
-
-/* GObject dummy implementation */
-static void
-g_object_set_arg(GtkObject *object, GtkArg *arg, guint id)
-{
-  ((GObjectClass *)object->klass)->set_property((GObject *)object,id,arg,NULL);
-}
-
-static void
-g_object_get_arg(GtkObject *object, GtkArg *arg, guint id)
-{
-  ((GObjectClass *)object->klass)->get_property((GObject *)object,id,arg,NULL);
-}
-
-static void
-g_object_base_class_init (GObjectClass *klass)
-{
-  GtkObjectClass *gtkobject_class;
-
-  gtkobject_class = (GtkObjectClass*) klass;
-  gtkobject_class->set_arg = g_object_set_arg;
-  gtkobject_class->get_arg = g_object_get_arg;
-}
-
-void
-g2g_object_run_dispose (GObject *object)
-{
-  g_return_if_fail (G_IS_OBJECT (object));
-  g_return_if_fail (object->ref_count > 0);
-
-  g_object_ref (object);
-  G_OBJECT_GET_CLASS (object)->dispose (object);
-  g_object_unref (object);
-}
-
-GType
-g2g_object_get_type (void)
-{
-  static GType object_type = 0;
-
-  if (!object_type) {
-    static const GtkTypeInfo object_info = {
-      "GObject",
-      sizeof(GObject),
-      sizeof(GObjectClass),
-      (GtkClassInitFunc)NULL,
-      (GtkObjectInitFunc)NULL,
-      (GtkArgSetFunc)NULL,
-      (GtkArgGetFunc)NULL,
-      (GtkClassInitFunc)g_object_base_class_init,
-    };
-    object_type = gtk_type_unique(gtk_object_get_type(),&object_info);
-  }
-  return object_type;
-} 
-
-
-
-
-guint
-g2g_type_register_static (GtkType parent_type, gchar *type_name,
-                        const GTypeInfo *info, guint flags)
-{
-  GtkTypeInfo gtkinfo = {
-    type_name,
-    info->instance_size,
-    info->class_size,
-    info->class_init,
-    info->instance_init,
-    NULL,
-    NULL,
-    info->base_init,
-  };
-  return gtk_type_unique(parent_type,&gtkinfo);
-}
-
-
-gpointer
-g2g_object_new(GtkType type,gpointer blah_varargs_stuff) {
-  return gtk_type_new(type);
-}
-
-
-void
-g2g_object_class_install_property(GObjectClass *oclass,guint property_id,GParamSpec *pspec)
-{
-  gchar *arg_fullname;
-  arg_fullname = g_strdup_printf("%s::%s",gtk_type_name(oclass->type),pspec->name);
-  /* fprintf(stderr,"installing arg \"%s\" into class \"%s\"\n",arg_fullname,""); */
-  gtk_object_add_arg_type(arg_fullname,pspec->value_type,pspec->flags,property_id);
-  g_free(pspec);
-}
-
-GParamSpec *
-g2g_object_class_find_property(GObjectClass *class, const gchar *name)
-{
-  GtkArgInfo *info;
-  GParamSpec *spec;
-
-  /* fprintf(stderr,"class name is %s\n",gtk_type_name(class->type)); */
-
-  /* the return value NULL if no error */
-  if (gtk_object_arg_get_info(class->type,name,&info) != NULL) {
-    return NULL;
-  }
-  
-  spec = g_new0(GParamSpec,1);
-
-  spec->name = (gchar *) name;
-  spec->value_type = info->type;
-  spec->flags = info->arg_flags;
-
-  return spec;
-}
-
-GParamSpec **
-g2g_object_class_list_properties(GObjectClass *oclass,guint *n_properties) {
-  GType type = G_OBJECT_CLASS_TYPE (oclass);
-  guint32 *flags;
-  GtkArg *args;
-  gint num_args;
-  GParamSpec **params;
-  int i;
-
-  args = gtk_object_query_args (type, &flags, &num_args);
-  /* FIXME: args and flags need to be freed. */
-
-  params = g_new0(GParamSpec *,num_args);
-  for (i=0;i<num_args;i++) {
-    params[i] = g_new0(GParamSpec,1);
-    params[i]->name = args[i].name;
-    params[i]->value_type = args[i].type;
-    params[i]->flags = flags[i];
-  }
-
-  *n_properties = num_args;
-
-  return params;
-}
-
-GParamSpec *
-g2g_param_spec_boolean(gchar *name,gchar *nick,gchar *blurb,gboolean def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_BOOL;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_enum(gchar *name,gchar *nick,gchar *blurb,GtkType e,guint def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = e;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_int(gchar *name,gchar *nick,gchar *blurb,gint min,gint max,gint def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_INT;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_uint(gchar *name,gchar *nick,gchar *blurb,guint min,guint max,guint def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_UINT;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_long(gchar *name,gchar *nick,gchar *blurb,glong min,glong max,glong def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_LONG;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_ulong(gchar *name,gchar *nick,gchar *blurb,gulong min,gulong max,gulong def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_ULONG;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_float(gchar *name,gchar *nick,gchar *blurb,float min,float max,float def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_FLOAT;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_double(gchar *name,gchar *nick,gchar *blurb,double min,double max,double def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_DOUBLE;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_pointer(gchar *name,gchar *nick,gchar *blurb,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_POINTER;
-  spec->flags = flags;
-
-  return spec;
-}
-
-GParamSpec *
-g2g_param_spec_string(gchar *name,gchar *nick,gchar *blurb,gchar *def,gint flags) {
-  GParamSpec *spec = g_new(GParamSpec,1);
-
-  spec->name = name;
-  spec->value_type = GTK_TYPE_STRING;
-  spec->flags = flags;
-
-  return spec;
-}
-
-
-
-guint
-g2g_signal_new (const gchar       *name,
-               GtkType            object_type,
-               GtkSignalRunType   signal_flags,
-               guint              function_offset,
-               gpointer           accumulator,  /* GSignalAccumulator */
-               gpointer           accu_data,
-               GtkSignalMarshaller  marshaller,
-               GType              return_val,
-               guint              nparams,
-               ...)
-{
-  GtkType *params;
-  guint i;
-  va_list args;
-  guint signal_id;
-
-  if (strcmp (name, "destroy") == 0)
-    name = "g2gdestroy";
-
-#define MAX_SIGNAL_PARAMS              (31)            /* from gtksignal.c */
-  g_return_val_if_fail (nparams < MAX_SIGNAL_PARAMS, 0);
-     
-  if (nparams > 0) 
-    {
-      params = g_new (GtkType, nparams);
-
-      va_start (args, nparams);
-                   
-      for (i = 0; i < nparams; i++)
-        params[i] = va_arg (args, GtkType);
-  
-      va_end (args);
-    }           
-  else
-    params = NULL;
-  signal_id = gtk_signal_newv (name,
-                               signal_flags,
-                               object_type,
-                               function_offset,
-                               marshaller,
-                               return_val,
-                               nparams,
-                               params);
-          
-  g_free (params);
-
-  /* now register it. */
-  gtk_object_class_add_signals(gtk_type_class(object_type), &signal_id, 1);
-    
-  return signal_id;
-}
-
-gint* g_signal_list_ids (GType type, guint *n_ids)
-{
-  GtkObjectClass *class;
-
-  class = gtk_type_class (type);
-
-  *n_ids = class->nsignals;
-
-  return class->signals;
-}
diff --git a/gst/gobject2gtk.h b/gst/gobject2gtk.h
deleted file mode 100644 (file)
index ee1c0fc..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-#ifndef __GOBJECT_2_GTK_H__
-#define __GOBJECT_2_GTK_H__
-
-#include <gtk/gtk.h>
-
-#define G_MAXUINT UINT_MAX
-#define G_MAXULONG ULONG_MAX
-#define G_MAXINT64 G_MAXULONG
-
-#define G_E     2.7182818284590452354E0
-#define G_LN2   6.9314718055994530942E-1
-#define G_LN10  2.3025850929940456840E0
-#define G_PI    3.14159265358979323846E0
-#define G_PI_2  1.57079632679489661923E0
-#define G_PI_4  0.78539816339744830962E0
-#define G_SQRT2 1.4142135623730950488E0
-
-/* lists functions not in glib 1.2 */
-GList *g_list_delete_link (GList *list, GList *llink);
-GSList *g_slist_delete_link (GSList *list, GSList *llink);
-
-#define g_string_append_printf g_string_printfa
-
-/* string helper functions not in glib 1.2 */
-#define G_CSET_A_2_Z       "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-#define G_CSET_a_2_z       "abcdefghijklmnopqrstuvwxyz"
-#define G_CSET_DIGITS      "0123456789"
-
-#define G_USEC_PER_SEC    1000000
-
-gchar* g_strcanon (gchar *string, const gchar *valid_chars, 
-                   gchar substitutor);
-
-
-/* GObject */
-typedef struct _GObject GObject;
-typedef struct _GObjectClass GObjectClass;
-
-#define g_string_printf   g_string_sprintf
-#define g_string_printfa  g_string_sprintfa
-
-#define g_object_ref(obj)                      gtk_object_ref((GtkObject *)(obj))
-#define g_object_unref(obj)                    gtk_object_unref((GtkObject *)(obj))
-
-/* notification - just disable it */
-#define g_object_freeze_notify(obj)
-#define g_object_notify(obj,name)
-#define g_object_thaw_notify(obj)
-
-/* the helper macros for type checking */
-#define G_TYPE_CHECK_INSTANCE_CAST             GTK_CHECK_CAST
-#define G_TYPE_CHECK_INSTANCE_TYPE             GTK_CHECK_TYPE
-#define G_TYPE_INSTANCE_GET_CLASS(o,t,c)        (((c*)(GTK_OBJECT(o)->klass)))
-#define G_TYPE_CHECK_CLASS_CAST                        GTK_CHECK_CLASS_CAST
-#define G_TYPE_CHECK_CLASS_TYPE                        GTK_CHECK_CLASS_TYPE
-#define G_TYPE_FROM_CLASS(klass)               (((GtkObjectClass *)(klass))->type)
-#define G_OBJECT_GET_CLASS(object)             (G_OBJECT(object)->klass)
-#define G_OBJECT_TYPE                          GTK_OBJECT_TYPE
-#define G_OBJECT_CLASS_TYPE(gclass)            (gclass->type)
-
-/* types */
-#define G_TYPE_NONE                            GTK_TYPE_NONE
-#define G_TYPE_CHAR                            GTK_TYPE_CHAR
-#define G_TYPE_UCHAR                           GTK_TYPE_UCHAR
-#define G_TYPE_BOOLEAN                         GTK_TYPE_BOOL
-#define G_TYPE_INT                             GTK_TYPE_INT
-#define G_TYPE_INT64                           GTK_TYPE_LONG
-#define G_TYPE_UINT                            GTK_TYPE_UINT
-#define G_TYPE_LONG                            GTK_TYPE_LONG
-#define G_TYPE_ULONG                           GTK_TYPE_ULONG
-#define G_TYPE_ENUM                            GTK_TYPE_ENUM
-#define G_TYPE_FLAGS                           GTK_TYPE_FLAGS
-#define G_TYPE_FLOAT                           GTK_TYPE_FLOAT
-#define G_TYPE_DOUBLE                          GTK_TYPE_DOUBLE
-#define G_TYPE_STRING                          GTK_TYPE_STRING
-#define G_TYPE_POINTER                         GTK_TYPE_POINTER
-#define G_TYPE_BOXED                           GTK_TYPE_BOXED
-#define G_TYPE_PARAM                           GTK_TYPE_POINTER
-
-/* marshallers */
-#define g_cclosure_marshal_VOID__VOID                  gtk_marshal_NONE__NONE
-#define g_cclosure_marshal_VOID__BOOLEAN               gtk_marshal_NONE__BOOL
-#define g_cclosure_marshal_VOID__CHAR                  gtk_marshal_NONE__CHAR
-#define g_cclosure_marshal_VOID__UCHAR                 gtk_marshal_NONE__UCHAR
-#define g_cclosure_marshal_VOID__INT                   gtk_marshal_NONE__INT
-#define g_cclosure_marshal_VOID__UINT                  gtk_marshal_NONE__UINT
-#define g_cclosure_marshal_VOID__LONG                  gtk_marshal_NONE__LONG
-#define g_cclosure_marshal_VOID__ULONG                 gtk_marshal_NONE__ULONG
-#define g_cclosure_marshal_VOID__ENUM                  gtk_marshal_NONE__ENUM
-#define g_cclosure_marshal_VOID__FLAGS                 gtk_marshal_NONE__FLAGS
-#define g_cclosure_marshal_VOID__FLOAT                 gtk_marshal_NONE__FLOAT
-#define g_cclosure_marshal_VOID__DOUBLE                        gtk_marshal_NONE__DOUBLE
-#define g_cclosure_marshal_VOID__STRING                        gtk_marshal_NONE__STRING
-#define g_cclosure_marshal_VOID__PARAM                 gtk_marshal_NONE__PARAM
-#define g_cclosure_marshal_VOID__BOXED                 gtk_marshal_NONE__BOXED
-#define g_cclosure_marshal_VOID__POINTER               gtk_marshal_NONE__POINTER
-#define g_cclosure_marshal_VOID__OBJECT                        gtk_marshal_NONE__OBJECT
-#define g_cclosure_marshal_STRING__OBJECT_POINTER      gtk_marshal_STRING__POINTER_POINTER
-#define g_cclosure_marshal_VOID__UINT_POINTER          gtk_marshal_NONE__UINT_POINTER
-
-#define gst_marshal_VOID__VOID                 gtk_marshal_NONE__NONE
-#define gst_marshal_VOID__BOOLEAN              gtk_marshal_NONE__BOOL
-#define gst_marshal_VOID__INT                  gtk_marshal_NONE__INT
-#define gst_marshal_VOID__INT_INT              gtk_marshal_NONE__INT_INT
-#define gst_marshal_VOID__STRING               gtk_marshal_NONE__STRING
-#define gst_marshal_VOID__POINTER              gtk_marshal_NONE__POINTER
-#define gst_marshal_VOID__OBJECT               gtk_marshal_NONE__POINTER
-#define gst_marshal_VOID__OBJECT_PARAM         gtk_marshal_NONE__POINTER_POINTER
-#define gst_marshal_VOID__OBJECT_POINTER       gtk_marshal_NONE__POINTER_POINTER
-#define gst_marshal_VOID__INT_INT              gtk_marshal_NONE__INT_INT
-
-/* General macros */
-#ifdef  __cplusplus
-# define G_BEGIN_DECLS  extern "C" {
-# define G_END_DECLS    }
-#else
-# define G_BEGIN_DECLS
-# define G_END_DECLS
-#endif
-
-/* args */
-/*#define set_property set_arg*/
-/*#define get_property get_arg*/
-
-#define g_object_get_property(obj,argname,pspec)\
-G_STMT_START{ \
-  (pspec)->name = (gchar*)argname;\
-  gtk_object_getv ((GtkObject *)(obj),1,(pspec));\
-}G_STMT_END
-
-#define g_object_set(o,args...)                        gtk_object_set ((GtkObject *) (o), ## args)
-#define g_object_get(o,args...)
-
-
-/* type system */
-#define GType                                  GtkType
-#define GTypeFlags                             guint
-#define GClassInitFunc                         GtkClassInitFunc
-#define GBaseInitFunc                          GtkClassInitFunc
-#define GInstanceInitFunc                      GtkObjectInitFunc
-#define g_type_class_peek_parent(c)            gtk_type_parent_class (GTK_OBJECT_CLASS (c)->type)
-#define g_type_init                             gtk_type_init
-#define g_type_is_a                            gtk_type_is_a
-#define g_type_class_ref                       gtk_type_class
-#define g_type_class_unref(c)
-#define g_type_name(t)                         gtk_type_name(t)
-#define g_type_from_name(t)                    gtk_type_from_name(t)
-#define g_type_parent(t)                       gtk_type_parent(t)
-#define GEnumValue                             GtkEnumValue
-#define g_enum_register_static                 gtk_type_register_enum
-
-
-GType g2g_object_get_type (void);
-
-/*********************************
- * FIXME API NOT in glib2.0
- ***********************************/
-
-
-/* type registration */
-typedef struct _GTypeInfo               GTypeInfo;
-struct _GTypeInfo
-{
-  /* interface types, classed types, instantiated types */
-  guint16                class_size;
-
-  GBaseInitFunc          base_init;
-  gpointer               base_finalize;
-
-  /* classed types, instantiated types */
-  GClassInitFunc         class_init;
-  gpointer               class_finalize;
-  gconstpointer          class_data;
-  
-  /* instantiated types */
-  guint16                instance_size;
-  guint16                n_preallocs;
-  GInstanceInitFunc      instance_init;
-
-  /* value handling */
-  const gpointer         value_table;
-};
-
-#define G_TYPE_FLAG_ABSTRACT                           0
-
-#define g_type_register_static                         g2g_type_register_static
-guint g2g_type_register_static (GtkType parent_type, gchar *type_name,
-                              const GTypeInfo *info, guint flags);
-
-
-
-/* object creation */
-#define g_object_new                                   g2g_object_new
-gpointer g2g_object_new(GtkType type,gpointer blah_varargs_stuff);
-
-/* disposal */
-#define g_object_run_dispose                           g2g_object_run_dispose
-void g2g_object_run_dispose (GObject *object);
-
-
-#define G_SIGNAL_RUN_LAST                              GTK_RUN_LAST
-#define G_SIGNAL_RUN_FIRST                             GTK_RUN_FIRST
-#define G_SIGNAL_RUN_CLEANUP                           0
-#define G_SIGNAL_NO_RECURSE                            GTK_RUN_NO_RECURSE
-#define G_SIGNAL_NO_HOOKS                              GTK_RUN_NO_HOOKS
-#define G_SIGNAL_DETAILED                              0
-
-#define GCallback                                      gpointer        /* FIXME?*/
-#define G_CALLBACK(f)                                  ((gpointer)(f))
-
-#define g_signal_new                                   g2g_signal_new
-#define g_signal_handlers_destroy(x)
-
-guint
-g2g_signal_new (const gchar       *signal_name,
-               GtkType            object_type,
-               GtkSignalRunType   signal_flags,
-               guint              function_offset,
-               gpointer           accumulator,  /* GSignalAccumulator */ 
-               gpointer           accu_data,
-               GtkSignalMarshaller  marshaller,
-               GType              return_type,
-               guint              nparams,
-               ...);
-
-#define \
-g_signal_emit(object,signal,detail,args...) \
-gtk_signal_emit((GtkObject *)object,signal, ## args )
-
-#define \
-g_signal_connect(object,name,func,func_data) \
-gtk_signal_connect((GtkObject *)object,name,func,func_data)
-
-#define \
-g_signal_handlers_disconnect_by_func(object,func,func_data) \
-gtk_signal_disconnect_by_func((GtkObject *)object,func,func_data)
-
-#define \
-g_signal_connect_swapped(object,name,func,func_data) \
-gtk_signal_connect_object((GtkObject *)object,name,func,(GtkObject*)func_data)
-
-#define \
-g_signal_emit_by_name(object,name,data,self) \
-gtk_signal_emit_by_name ((GtkObject *)object,name,data,self)
-
-#define \
-g_signal_has_handler_pending(object,name,data,may_block) \
-gtk_signal_handler_pending ((GtkObject *)object,name,may_block)
-
-#define g_signal_lookup                        gtk_signal_lookup
-#define g_signal_handler_block(o,id)   gtk_signal_handler_block ((GtkObject *)(o), id)
-#define g_signal_handler_unblock(o,id) gtk_signal_handler_unblock ((GtkObject *)(o), id)
-
-gint* g_signal_list_ids (GType type, guint *n_ids);
-
-/* lists */
-GSList*                g_slist_delete_link     (GSList *list, GSList *link) __attribute__ ((no_instrument_function));
-
-
-/* arguments/parameters */
-
-/* first define GValue and GParamSpec */
-#define GValue                 GtkArg
-#define GParamFlags            gint
-#define G_VALUE_TYPE(v)                ((v)->type)
-#define G_PARAM_READWRITE      GTK_ARG_READWRITE
-#define G_PARAM_READABLE       GTK_ARG_READABLE
-#define G_PARAM_WRITABLE       GTK_ARG_WRITABLE
-#define G_OBJECT_WARN_INVALID_PROPERTY_ID(a,b,c)
-typedef struct _GParamSpec GParamSpec;
-struct _GParamSpec {
-  gchar *name;
-  GType value_type;
-  GParamFlags flags;
-};
-
-#define g_value_init(value,t)                  ((value)->type = (t))
-#define g_value_copy(src_val,dest_val) (dest_val = gtk_arg_copy(src_val,dest_val))
-#define g_value_unset(val)
-
-#define g_object_class_install_property                g2g_object_class_install_property
-void g2g_object_class_install_property(GObjectClass *oclass,guint property_id,GParamSpec *pspec);
-#define g_object_class_find_property           g2g_object_class_find_property
-GParamSpec *g2g_object_class_find_property(GObjectClass *oclass,const gchar *name);
-#define g_object_class_list_properties         g2g_object_class_list_properties
-GParamSpec **g2g_object_class_list_properties(GObjectClass *oclass,guint *n_properties);
-
-#define G_IS_PARAM_SPEC_ENUM(pspec)            (GTK_FUNDAMENTAL_TYPE(pspec->value_type) == GTK_TYPE_ENUM)
-
-#define g_param_spec_boolean                   g2g_param_spec_boolean
-GParamSpec *g2g_param_spec_boolean(gchar *name,gchar *nick,gchar *blurb,gboolean def,gint flags);
-#define g_param_spec_int                       g2g_param_spec_int
-GParamSpec *g2g_param_spec_int(gchar *name,gchar *nick,gchar *blurb,gint min,gint max,gint def,gint flags);
-#define g_param_spec_uint                      g2g_param_spec_uint
-GParamSpec *g2g_param_spec_uint(gchar *name,gchar *nick,gchar *blurb,guint min,guint max,guint def,gint flags);
-#define g_param_spec_long                      g2g_param_spec_long
-GParamSpec *g2g_param_spec_long(gchar *name,gchar *nick,gchar *blurb,glong min,glong max,glong def,gint flags);
-#define g_param_spec_ulong                     g2g_param_spec_ulong
-GParamSpec *g2g_param_spec_ulong(gchar *name,gchar *nick,gchar *blurb,gulong min,gulong max,gulong def,gint flags);
-#define g_param_spec_float                     g2g_param_spec_float
-GParamSpec *g2g_param_spec_float(gchar *name,gchar *nick,gchar *blurb,float min,float max,float def,gint flags);
-#define g_param_spec_double                    g2g_param_spec_double
-GParamSpec *g2g_param_spec_double(gchar *name,gchar *nick,gchar *blurb,double min,double max,double def,gint flags);
-#define g_param_spec_enum                      g2g_param_spec_enum
-GParamSpec *g2g_param_spec_enum(gchar *name,gchar *nick,gchar *blurb,GType e,guint def,gint flags);
-#define g_param_spec_pointer                   g2g_param_spec_pointer
-GParamSpec *g2g_param_spec_pointer(gchar *name,gchar *nick,gchar *blurb,gint flags);
-#define g_param_spec_string                    g2g_param_spec_string
-GParamSpec *g2g_param_spec_string(gchar *name,gchar *nick,gchar *blurb,gchar *def,gint flags);
-
-#define g_value_get_char(value)                        GTK_VALUE_CHAR(*value)
-#define g_value_set_char(value,data)           (GTK_VALUE_CHAR(*value) = (data))
-#define g_value_get_uchar(value)               GTK_VALUE_UCHAR(*value)
-#define g_value_set_uchar(value,data)          (GTK_VALUE_UCHAR(*value) = (data))
-#define g_value_get_boolean(value)             GTK_VALUE_BOOL(*value)
-#define g_value_set_boolean(value,data)                (GTK_VALUE_BOOL(*value) = (data))
-#define g_value_get_enum(value)                        GTK_VALUE_INT(*value)
-#define g_value_set_enum(value,data)           (GTK_VALUE_INT(*value) = (data))
-#define g_value_get_int(value)                 GTK_VALUE_INT(*value)
-#define g_value_set_int(value,data)                    (GTK_VALUE_INT(*value) = (data))
-#define g_value_get_uint(value)                        GTK_VALUE_UINT(*value)
-#define g_value_set_uint(value,data)           (GTK_VALUE_UINT(*value) = (data))
-#define g_value_get_long(value)                        GTK_VALUE_LONG(*value)
-#define g_value_set_long(value,data)           (GTK_VALUE_LONG(*value) = (data))
-#define g_value_get_ulong(value)               GTK_VALUE_ULONG(*value)
-#define g_value_set_ulong(value,data)          (GTK_VALUE_ULONG(*value) = (data))
-#define g_value_get_float(value)               GTK_VALUE_FLOAT(*value)
-#define g_value_set_float(value,data)          (GTK_VALUE_FLOAT(*value) = (data))
-#define g_value_get_double(value)              GTK_VALUE_DOUBLE(*value)
-#define g_value_set_double(value,data)         (GTK_VALUE_DOUBLE(*value) = (data))
-#define g_value_get_string(value)              GTK_VALUE_STRING(*value)
-#define g_value_set_string(value,data)         (GTK_VALUE_STRING(*value) = (data))
-#define g_value_get_pointer(value)             GTK_VALUE_POINTER(*value)
-#define g_value_set_pointer(value,data)                (GTK_VALUE_POINTER(*value) = (data))
-
-/* FIXME semi 64-bit support, we map to ulong here... */
-#define g_param_spec_int64                     g2g_param_spec_ulong
-#define g_value_get_int64(value)               GTK_VALUE_ULONG(*value)
-#define g_value_set_int64(value,data)          (GTK_VALUE_ULONG(*value) = (data))
-
-#define G_VALUE_HOLDS_CHAR(value) (((value)->type)==GTK_TYPE_CHAR)
-#define G_VALUE_HOLDS_UCHAR(value) (((value)->type)==GTK_TYPE_UCHAR)
-#define G_VALUE_HOLDS_BOOLEAN(value) (((value)->type)==GTK_TYPE_BOOL)
-#define G_VALUE_HOLDS_INT(value) (((value)->type)==GTK_TYPE_INT)
-#define G_VALUE_HOLDS_UINT(value) (((value)->type)==GTK_TYPE_UINT)
-#define G_VALUE_HOLDS_LONG(value) (((value)->type)==GTK_TYPE_LONG)
-#define G_VALUE_HOLDS_ULONG(value) (((value)->type)==GTK_TYPE_ULONG)
-#define G_VALUE_HOLDS_FLOAT(value) (((value)->type)==GTK_TYPE_FLOAT)
-#define G_VALUE_HOLDS_DOUBLE(value) (((value)->type)==GTK_TYPE_DOUBLE)
-#define G_VALUE_HOLDS_STRING(value) (((value)->type)==GTK_TYPE_STRING)
-#define G_VALUE_HOLDS_POINTER(value) (((value)->type)==GTK_TYPE_POINTER)
-
-/* the object itself */
-/*#define GObject                              GtkObject */
-/*#define GObjectClass                         GtkObjectClass */
-#define G_OBJECT(obj)                          ((GObject *)(obj))
-#define G_OBJECT_CLASS(c)                      ((GObjectClass *)(c))
-
-#define G_TYPE_OBJECT \
-  (g2g_object_get_type())
-/*#define G_OBJECT(obj)  */
-/*  (GTK_CHECK_CAST((obj),G_TYPE_OBJECT,GObject)) */
-/*#define G_OBJECT_CLASS(klass)  */
-/*  (GTK_CHECK_CLASS_CAST((klass),G_TYPE_OBJECT,GObjectClass)) */
-#define G_IS_OBJECT(obj) \
-  (GTK_CHECK_TYPE((obj),G_TYPE_OBJECT))
-#define G_IS_OBJECT_CLASS(obj) \
-  (GTK_CHECK_CLASS_TYPE((klass),G_TYPE_OBJECT))
-
-struct _GObject {
-/***** THE FOLLOWING IS A VERBATIM COPY FROM GTKOBJECT *****/
-  /* GtkTypeObject related fields: */
-  GObjectClass *klass;
-   
-  /* 32 bits of flags. GtkObject only uses 4 of these bits and
-   *  GtkWidget uses the rest. This is done because structs are
-   *  aligned on 4 or 8 byte boundaries. If a new bitfield were
-   *  used in GtkWidget much space would be wasted.
-   */
-  guint32 flags;
-  
-  /* reference count.
-   * refer to the file docs/refcounting.txt on this issue.
-   */
-  guint ref_count;
-  
-  /* A list of keyed data pointers, used for e.g. the list of signal
-   * handlers or an object's user_data.
-   */
-  GData *object_data;
-/***** END OF COPY FROM GTKOBJECT *****/
-};
-
-struct _GObjectClass {
-/***** THE FOLLOWING IS A VERBATIM COPY FROM GTKOBJECT *****/
-  /* GtkTypeClass fields: */               
-  GtkType type;
-
-   
-  /* The signals this object class handles. "signals" is an
-   *  array of signal ID's.
-   */
-  guint *signals;
-     
-  /* The number of signals listed in "signals".
-   */
-  guint nsignals;
-  
-  /* The number of arguments per class.
-   */
-  guint n_args;
-  GSList *construct_args;
-
-  /* Non overridable class methods to set and get per class arguments */
-  void (*set_arg) (GtkObject *object,
-                   GtkArg    *arg,
-                   guint      arg_id);
-  void (*get_arg) (GtkObject *object,
-                   GtkArg    *arg,
-                   guint      arg_id);
-  
-  /* The functions that will end an objects life time. In one way ore
-   *  another all three of them are defined for all objects. If an
-   *  object class overrides one of the methods in order to perform class
-   *  specific destruction then it must still invoke its superclass'
-   *  implementation of the method after it is finished with its
-   *  own cleanup. (See the destroy function for GtkWidget for
-   *  an example of how to do this).   
-   */
-  void (* dispose) (GObject *object);
-  void (* destroy)  (GObject *object);
-  void (* finalize) (GObject *object);
-/***** END OF COPY FROM GTKOBJECT *****/
-
-  void (*set_property) (GObject *object, guint prop_id,
-                        const GValue *value, GParamSpec *pspec);
-  void (*get_property) (GObject *object, guint prop_id,
-                        GValue *value, GParamSpec *pspec);
-                       
-  void (*dispatch_properties_changed) (GObject *object, guint n_pspecs,
-                                      GParamSpec **pspecs);
-
-};
-
-GType g_object_get_type (void);
-
-#endif /* __GOBJECT_2_GTK_H__ */