view src/gq-marshal.c @ 1667:ece97f3f2305

fixes for a built without Exiv2 don't try to access XMP metadata if not compiled with Exiv2 some metadata options are valid without Exiv2, do not disable them
author nadvornik
date Tue, 30 Jun 2009 20:12:28 +0000
parents c9949c19a6d0
children
line wrap: on
line source

#include "gq-marshal.h"

#include	<glib-object.h>


#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v)  g_value_get_boolean(v)
#define g_marshal_value_peek_char(v)     g_value_get_char(v)
#define g_marshal_value_peek_uchar(v)    g_value_get_uchar(v)
#define g_marshal_value_peek_int(v)      g_value_get_int(v)
#define g_marshal_value_peek_uint(v)     g_value_get_uint(v)
#define g_marshal_value_peek_long(v)     g_value_get_long(v)
#define g_marshal_value_peek_ulong(v)    g_value_get_ulong(v)
#define g_marshal_value_peek_int64(v)    g_value_get_int64(v)
#define g_marshal_value_peek_uint64(v)   g_value_get_uint64(v)
#define g_marshal_value_peek_enum(v)     g_value_get_enum(v)
#define g_marshal_value_peek_flags(v)    g_value_get_flags(v)
#define g_marshal_value_peek_float(v)    g_value_get_float(v)
#define g_marshal_value_peek_double(v)   g_value_get_double(v)
#define g_marshal_value_peek_string(v)   (char*) g_value_get_string(v)
#define g_marshal_value_peek_param(v)    g_value_get_param(v)
#define g_marshal_value_peek_boxed(v)    g_value_get_boxed(v)
#define g_marshal_value_peek_pointer(v)  g_value_get_pointer(v)
#define g_marshal_value_peek_object(v)   g_value_get_object(v)
#else /* !G_ENABLE_DEBUG */
/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
 *          Do not access GValues directly in your code. Instead, use the
 *          g_value_get_*() functions
 */
#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
#endif /* !G_ENABLE_DEBUG */


/* VOID:VOID (gq-marshal.list:1) */

/* VOID:INT,INT,INT,INT (gq-marshal.list:2) */
void
gq_marshal_VOID__INT_INT_INT_INT(GClosure     *closure,
                                 GValue       *return_value G_GNUC_UNUSED,
                                 guint         n_param_values,
                                 const GValue *param_values,
                                 gpointer      invocation_hint G_GNUC_UNUSED,
                                 gpointer      marshal_data)
{
  typedef void (*GMarshalFunc_VOID__INT_INT_INT_INT) (gpointer     data1,
                                                      gint         arg_1,
                                                      gint         arg_2,
                                                      gint         arg_3,
                                                      gint         arg_4,
                                                      gpointer     data2);
  register GMarshalFunc_VOID__INT_INT_INT_INT callback;
  register GCClosure *cc = (GCClosure*) closure;
  register gpointer data1, data2;

  g_return_if_fail(n_param_values == 5);

  if (G_CCLOSURE_SWAP_DATA(closure))
    {
      data1 = closure->data;
      data2 = g_value_peek_pointer(param_values + 0);
    }
  else
    {
      data1 = g_value_peek_pointer(param_values + 0);
      data2 = closure->data;
    }
  callback = (GMarshalFunc_VOID__INT_INT_INT_INT) (marshal_data ? marshal_data : cc->callback);

  callback(data1,
           g_marshal_value_peek_int(param_values + 1),
           g_marshal_value_peek_int(param_values + 2),
           g_marshal_value_peek_int(param_values + 3),
           g_marshal_value_peek_int(param_values + 4),
           data2);
}

/* VOID:DOUBLE (gq-marshal.list:3) */

/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */