~ubuntu-branches/debian/wheezy/cheese/wheezy

« back to all changes in this revision

Viewing changes to libcheese/cheese-marshal.c

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2011-12-27 14:09:47 UTC
  • mfrom: (1.2.33)
  • mto: This revision was merged to the branch mainline in revision 22.
  • Revision ID: package-import@ubuntu.com-20111227140947-g2mm6vzq0qc6cg8l
Tags: upstream-3.3.3
ImportĀ upstreamĀ versionĀ 3.3.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "cheese-marshal.h"
2
 
 
3
 
#include        <glib-object.h>
4
 
 
5
 
 
6
 
#ifdef G_ENABLE_DEBUG
7
 
#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
8
 
#define g_marshal_value_peek_char(v)     g_value_get_char (v)
9
 
#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
10
 
#define g_marshal_value_peek_int(v)      g_value_get_int (v)
11
 
#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
12
 
#define g_marshal_value_peek_long(v)     g_value_get_long (v)
13
 
#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
14
 
#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
15
 
#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
16
 
#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
17
 
#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
18
 
#define g_marshal_value_peek_float(v)    g_value_get_float (v)
19
 
#define g_marshal_value_peek_double(v)   g_value_get_double (v)
20
 
#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
21
 
#define g_marshal_value_peek_param(v)    g_value_get_param (v)
22
 
#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
23
 
#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
24
 
#define g_marshal_value_peek_object(v)   g_value_get_object (v)
25
 
#define g_marshal_value_peek_variant(v)  g_value_get_variant (v)
26
 
#else /* !G_ENABLE_DEBUG */
27
 
/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
28
 
 *          Do not access GValues directly in your code. Instead, use the
29
 
 *          g_value_get_*() functions
30
 
 */
31
 
#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
32
 
#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
33
 
#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
34
 
#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
35
 
#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
36
 
#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
37
 
#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
38
 
#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
39
 
#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
40
 
#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
41
 
#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
42
 
#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
43
 
#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
44
 
#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
45
 
#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
46
 
#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
47
 
#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
48
 
#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
49
 
#define g_marshal_value_peek_variant(v)  (v)->data[0].v_pointer
50
 
#endif /* !G_ENABLE_DEBUG */
51
 
 
52
 
 
53
 
/* VOID:STRING,STRING,STRING,INT (./cheese-marshal.list:1) */
54
 
void
55
 
_cheese_marshal_VOID__STRING_STRING_STRING_INT (GClosure     *closure,
56
 
                                                GValue       *return_value G_GNUC_UNUSED,
57
 
                                                guint         n_param_values,
58
 
                                                const GValue *param_values,
59
 
                                                gpointer      invocation_hint G_GNUC_UNUSED,
60
 
                                                gpointer      marshal_data)
61
 
{
62
 
  typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_INT) (gpointer     data1,
63
 
                                                               gpointer     arg_1,
64
 
                                                               gpointer     arg_2,
65
 
                                                               gpointer     arg_3,
66
 
                                                               gint         arg_4,
67
 
                                                               gpointer     data2);
68
 
  register GMarshalFunc_VOID__STRING_STRING_STRING_INT callback;
69
 
  register GCClosure *cc = (GCClosure*) closure;
70
 
  register gpointer data1, data2;
71
 
 
72
 
  g_return_if_fail (n_param_values == 5);
73
 
 
74
 
  if (G_CCLOSURE_SWAP_DATA (closure))
75
 
    {
76
 
      data1 = closure->data;
77
 
      data2 = g_value_peek_pointer (param_values + 0);
78
 
    }
79
 
  else
80
 
    {
81
 
      data1 = g_value_peek_pointer (param_values + 0);
82
 
      data2 = closure->data;
83
 
    }
84
 
  callback = (GMarshalFunc_VOID__STRING_STRING_STRING_INT) (marshal_data ? marshal_data : cc->callback);
85
 
 
86
 
  callback (data1,
87
 
            g_marshal_value_peek_string (param_values + 1),
88
 
            g_marshal_value_peek_string (param_values + 2),
89
 
            g_marshal_value_peek_string (param_values + 3),
90
 
            g_marshal_value_peek_int (param_values + 4),
91
 
            data2);
92
 
}
93