2 Bacula® - The Network Backup Solution
4 Copyright (C) 2004-2006 Free Software Foundation Europe e.V.
6 The main author of Bacula is Kern Sibbald, with contributions from
7 many others, a complete list can be found in the file AUTHORS.
8 This program is Free Software; you can redistribute it and/or
9 modify it under the terms of version two of the GNU General Public
10 License as published by the Free Software Foundation plus additions
11 that are listed in the file LICENSE.
13 This program is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 Bacula® is a registered trademark of John Walker.
24 The licensor of Bacula is the Free Software Foundation Europe
25 (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
26 Switzerland, email:ftf@fsfeurope.org.
31 #include <glib-object.h>
35 #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
36 #define g_marshal_value_peek_char(v) g_value_get_char (v)
37 #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
38 #define g_marshal_value_peek_int(v) g_value_get_int (v)
39 #define g_marshal_value_peek_uint(v) g_value_get_uint (v)
40 #define g_marshal_value_peek_long(v) g_value_get_long (v)
41 #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
42 #define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
43 #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
44 #define g_marshal_value_peek_enum(v) g_value_get_enum (v)
45 #define g_marshal_value_peek_flags(v) g_value_get_flags (v)
46 #define g_marshal_value_peek_float(v) g_value_get_float (v)
47 #define g_marshal_value_peek_double(v) g_value_get_double (v)
48 #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
49 #define g_marshal_value_peek_param(v) g_value_get_param (v)
50 #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
51 #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
52 #define g_marshal_value_peek_object(v) g_value_get_object (v)
53 #else /* !G_ENABLE_DEBUG */
54 /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
55 * Do not access GValues directly in your code. Instead, use the
56 * g_value_get_*() functions
58 #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
59 #define g_marshal_value_peek_char(v) (v)->data[0].v_int
60 #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
61 #define g_marshal_value_peek_int(v) (v)->data[0].v_int
62 #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
63 #define g_marshal_value_peek_long(v) (v)->data[0].v_long
64 #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
65 #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
66 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
67 #define g_marshal_value_peek_enum(v) (v)->data[0].v_int
68 #define g_marshal_value_peek_flags(v) (v)->data[0].v_uint
69 #define g_marshal_value_peek_float(v) (v)->data[0].v_float
70 #define g_marshal_value_peek_double(v) (v)->data[0].v_double
71 #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
72 #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
73 #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
74 #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
75 #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
76 #endif /* !G_ENABLE_DEBUG */
79 /* VOID:OBJECT,OBJECT (eggmarshalers.list:1) */
81 _egg_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
84 const GValue *param_values,
85 gpointer invocation_hint,
86 gpointer marshal_data)
88 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1,
92 register GMarshalFunc_VOID__OBJECT_OBJECT callback;
93 register GCClosure *cc = (GCClosure*) closure;
94 register gpointer data1, data2;
96 g_return_if_fail (n_param_values == 3);
98 if (G_CCLOSURE_SWAP_DATA (closure))
100 data1 = closure->data;
101 data2 = g_value_peek_pointer (param_values + 0);
105 data1 = g_value_peek_pointer (param_values + 0);
106 data2 = closure->data;
108 callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
111 g_marshal_value_peek_object (param_values + 1),
112 g_marshal_value_peek_object (param_values + 2),
116 /* VOID:OBJECT,STRING,LONG,LONG (eggmarshalers.list:2) */
118 _egg_marshal_VOID__OBJECT_STRING_LONG_LONG (GClosure *closure,
119 GValue *return_value,
120 guint n_param_values,
121 const GValue *param_values,
122 gpointer invocation_hint,
123 gpointer marshal_data)
125 typedef void (*GMarshalFunc_VOID__OBJECT_STRING_LONG_LONG) (gpointer data1,
131 register GMarshalFunc_VOID__OBJECT_STRING_LONG_LONG callback;
132 register GCClosure *cc = (GCClosure*) closure;
133 register gpointer data1, data2;
135 g_return_if_fail (n_param_values == 5);
137 if (G_CCLOSURE_SWAP_DATA (closure))
139 data1 = closure->data;
140 data2 = g_value_peek_pointer (param_values + 0);
144 data1 = g_value_peek_pointer (param_values + 0);
145 data2 = closure->data;
147 callback = (GMarshalFunc_VOID__OBJECT_STRING_LONG_LONG) (marshal_data ? marshal_data : cc->callback);
150 g_marshal_value_peek_object (param_values + 1),
151 g_marshal_value_peek_string (param_values + 2),
152 g_marshal_value_peek_long (param_values + 3),
153 g_marshal_value_peek_long (param_values + 4),
157 /* VOID:OBJECT,LONG (eggmarshalers.list:3) */
159 _egg_marshal_VOID__OBJECT_LONG (GClosure *closure,
160 GValue *return_value,
161 guint n_param_values,
162 const GValue *param_values,
163 gpointer invocation_hint,
164 gpointer marshal_data)
166 typedef void (*GMarshalFunc_VOID__OBJECT_LONG) (gpointer data1,
170 register GMarshalFunc_VOID__OBJECT_LONG callback;
171 register GCClosure *cc = (GCClosure*) closure;
172 register gpointer data1, data2;
174 g_return_if_fail (n_param_values == 3);
176 if (G_CCLOSURE_SWAP_DATA (closure))
178 data1 = closure->data;
179 data2 = g_value_peek_pointer (param_values + 0);
183 data1 = g_value_peek_pointer (param_values + 0);
184 data2 = closure->data;
186 callback = (GMarshalFunc_VOID__OBJECT_LONG) (marshal_data ? marshal_data : cc->callback);
189 g_marshal_value_peek_object (param_values + 1),
190 g_marshal_value_peek_long (param_values + 2),
194 /* VOID:OBJECT,STRING,STRING (eggmarshalers.list:4) */
196 _egg_marshal_VOID__OBJECT_STRING_STRING (GClosure *closure,
197 GValue *return_value,
198 guint n_param_values,
199 const GValue *param_values,
200 gpointer invocation_hint,
201 gpointer marshal_data)
203 typedef void (*GMarshalFunc_VOID__OBJECT_STRING_STRING) (gpointer data1,
208 register GMarshalFunc_VOID__OBJECT_STRING_STRING callback;
209 register GCClosure *cc = (GCClosure*) closure;
210 register gpointer data1, data2;
212 g_return_if_fail (n_param_values == 4);
214 if (G_CCLOSURE_SWAP_DATA (closure))
216 data1 = closure->data;
217 data2 = g_value_peek_pointer (param_values + 0);
221 data1 = g_value_peek_pointer (param_values + 0);
222 data2 = closure->data;
224 callback = (GMarshalFunc_VOID__OBJECT_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
227 g_marshal_value_peek_object (param_values + 1),
228 g_marshal_value_peek_string (param_values + 2),
229 g_marshal_value_peek_string (param_values + 3),
233 /* VOID:UINT,UINT (eggmarshalers.list:5) */
235 _egg_marshal_VOID__UINT_UINT (GClosure *closure,
236 GValue *return_value,
237 guint n_param_values,
238 const GValue *param_values,
239 gpointer invocation_hint,
240 gpointer marshal_data)
242 typedef void (*GMarshalFunc_VOID__UINT_UINT) (gpointer data1,
246 register GMarshalFunc_VOID__UINT_UINT callback;
247 register GCClosure *cc = (GCClosure*) closure;
248 register gpointer data1, data2;
250 g_return_if_fail (n_param_values == 3);
252 if (G_CCLOSURE_SWAP_DATA (closure))
254 data1 = closure->data;
255 data2 = g_value_peek_pointer (param_values + 0);
259 data1 = g_value_peek_pointer (param_values + 0);
260 data2 = closure->data;
262 callback = (GMarshalFunc_VOID__UINT_UINT) (marshal_data ? marshal_data : cc->callback);
265 g_marshal_value_peek_uint (param_values + 1),
266 g_marshal_value_peek_uint (param_values + 2),
270 /* BOOLEAN:INT (eggmarshalers.list:6) */
272 _egg_marshal_BOOLEAN__INT (GClosure *closure,
273 GValue *return_value,
274 guint n_param_values,
275 const GValue *param_values,
276 gpointer invocation_hint,
277 gpointer marshal_data)
279 typedef gboolean (*GMarshalFunc_BOOLEAN__INT) (gpointer data1,
282 register GMarshalFunc_BOOLEAN__INT callback;
283 register GCClosure *cc = (GCClosure*) closure;
284 register gpointer data1, data2;
287 g_return_if_fail (return_value != NULL);
288 g_return_if_fail (n_param_values == 2);
290 if (G_CCLOSURE_SWAP_DATA (closure))
292 data1 = closure->data;
293 data2 = g_value_peek_pointer (param_values + 0);
297 data1 = g_value_peek_pointer (param_values + 0);
298 data2 = closure->data;
300 callback = (GMarshalFunc_BOOLEAN__INT) (marshal_data ? marshal_data : cc->callback);
302 v_return = callback (data1,
303 g_marshal_value_peek_int (param_values + 1),
306 g_value_set_boolean (return_value, v_return);
309 /* BOOLEAN:ENUM (eggmarshalers.list:7) */
311 _egg_marshal_BOOLEAN__ENUM (GClosure *closure,
312 GValue *return_value,
313 guint n_param_values,
314 const GValue *param_values,
315 gpointer invocation_hint,
316 gpointer marshal_data)
318 typedef gboolean (*GMarshalFunc_BOOLEAN__ENUM) (gpointer data1,
321 register GMarshalFunc_BOOLEAN__ENUM callback;
322 register GCClosure *cc = (GCClosure*) closure;
323 register gpointer data1, data2;
326 g_return_if_fail (return_value != NULL);
327 g_return_if_fail (n_param_values == 2);
329 if (G_CCLOSURE_SWAP_DATA (closure))
331 data1 = closure->data;
332 data2 = g_value_peek_pointer (param_values + 0);
336 data1 = g_value_peek_pointer (param_values + 0);
337 data2 = closure->data;
339 callback = (GMarshalFunc_BOOLEAN__ENUM) (marshal_data ? marshal_data : cc->callback);
341 v_return = callback (data1,
342 g_marshal_value_peek_enum (param_values + 1),
345 g_value_set_boolean (return_value, v_return);
348 /* BOOLEAN:VOID (eggmarshalers.list:8) */
350 _egg_marshal_BOOLEAN__VOID (GClosure *closure,
351 GValue *return_value,
352 guint n_param_values,
353 const GValue *param_values,
354 gpointer invocation_hint,
355 gpointer marshal_data)
357 typedef gboolean (*GMarshalFunc_BOOLEAN__VOID) (gpointer data1,
359 register GMarshalFunc_BOOLEAN__VOID callback;
360 register GCClosure *cc = (GCClosure*) closure;
361 register gpointer data1, data2;
364 g_return_if_fail (return_value != NULL);
365 g_return_if_fail (n_param_values == 1);
367 if (G_CCLOSURE_SWAP_DATA (closure))
369 data1 = closure->data;
370 data2 = g_value_peek_pointer (param_values + 0);
374 data1 = g_value_peek_pointer (param_values + 0);
375 data2 = closure->data;
377 callback = (GMarshalFunc_BOOLEAN__VOID) (marshal_data ? marshal_data : cc->callback);
379 v_return = callback (data1,
382 g_value_set_boolean (return_value, v_return);
385 /* OBJECT:VOID (eggmarshalers.list:9) */
387 _egg_marshal_OBJECT__VOID (GClosure *closure,
388 GValue *return_value,
389 guint n_param_values,
390 const GValue *param_values,
391 gpointer invocation_hint,
392 gpointer marshal_data)
394 typedef GObject* (*GMarshalFunc_OBJECT__VOID) (gpointer data1,
396 register GMarshalFunc_OBJECT__VOID callback;
397 register GCClosure *cc = (GCClosure*) closure;
398 register gpointer data1, data2;
401 g_return_if_fail (return_value != NULL);
402 g_return_if_fail (n_param_values == 1);
404 if (G_CCLOSURE_SWAP_DATA (closure))
406 data1 = closure->data;
407 data2 = g_value_peek_pointer (param_values + 0);
411 data1 = g_value_peek_pointer (param_values + 0);
412 data2 = closure->data;
414 callback = (GMarshalFunc_OBJECT__VOID) (marshal_data ? marshal_data : cc->callback);
416 v_return = callback (data1,
419 g_value_set_object_take_ownership (return_value, v_return);
422 /* VOID:VOID (eggmarshalers.list:10) */
424 /* VOID:INT,INT (eggmarshalers.list:11) */
426 _egg_marshal_VOID__INT_INT (GClosure *closure,
427 GValue *return_value,
428 guint n_param_values,
429 const GValue *param_values,
430 gpointer invocation_hint,
431 gpointer marshal_data)
433 typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1,
437 register GMarshalFunc_VOID__INT_INT callback;
438 register GCClosure *cc = (GCClosure*) closure;
439 register gpointer data1, data2;
441 g_return_if_fail (n_param_values == 3);
443 if (G_CCLOSURE_SWAP_DATA (closure))
445 data1 = closure->data;
446 data2 = g_value_peek_pointer (param_values + 0);
450 data1 = g_value_peek_pointer (param_values + 0);
451 data2 = closure->data;
453 callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback);
456 g_marshal_value_peek_int (param_values + 1),
457 g_marshal_value_peek_int (param_values + 2),
461 /* VOID:UINT,UINT (eggmarshalers.list:12) */
463 /* VOID:BOOLEAN (eggmarshalers.list:13) */
465 /* VOID:OBJECT,ENUM,BOXED (eggmarshalers.list:14) */
467 _egg_marshal_VOID__OBJECT_ENUM_BOXED (GClosure *closure,
468 GValue *return_value,
469 guint n_param_values,
470 const GValue *param_values,
471 gpointer invocation_hint,
472 gpointer marshal_data)
474 typedef void (*GMarshalFunc_VOID__OBJECT_ENUM_BOXED) (gpointer data1,
479 register GMarshalFunc_VOID__OBJECT_ENUM_BOXED callback;
480 register GCClosure *cc = (GCClosure*) closure;
481 register gpointer data1, data2;
483 g_return_if_fail (n_param_values == 4);
485 if (G_CCLOSURE_SWAP_DATA (closure))
487 data1 = closure->data;
488 data2 = g_value_peek_pointer (param_values + 0);
492 data1 = g_value_peek_pointer (param_values + 0);
493 data2 = closure->data;
495 callback = (GMarshalFunc_VOID__OBJECT_ENUM_BOXED) (marshal_data ? marshal_data : cc->callback);
498 g_marshal_value_peek_object (param_values + 1),
499 g_marshal_value_peek_enum (param_values + 2),
500 g_marshal_value_peek_boxed (param_values + 3),
504 /* VOID:BOXED (eggmarshalers.list:15) */
506 /* BOOLEAN:BOOLEAN (eggmarshalers.list:16) */
508 _egg_marshal_BOOLEAN__BOOLEAN (GClosure *closure,
509 GValue *return_value,
510 guint n_param_values,
511 const GValue *param_values,
512 gpointer invocation_hint,
513 gpointer marshal_data)
515 typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN) (gpointer data1,
518 register GMarshalFunc_BOOLEAN__BOOLEAN callback;
519 register GCClosure *cc = (GCClosure*) closure;
520 register gpointer data1, data2;
523 g_return_if_fail (return_value != NULL);
524 g_return_if_fail (n_param_values == 2);
526 if (G_CCLOSURE_SWAP_DATA (closure))
528 data1 = closure->data;
529 data2 = g_value_peek_pointer (param_values + 0);
533 data1 = g_value_peek_pointer (param_values + 0);
534 data2 = closure->data;
536 callback = (GMarshalFunc_BOOLEAN__BOOLEAN) (marshal_data ? marshal_data : cc->callback);
538 v_return = callback (data1,
539 g_marshal_value_peek_boolean (param_values + 1),
542 g_value_set_boolean (return_value, v_return);
545 /* BOOLEAN:OBJECT,STRING,STRING (eggmarshalers.list:17) */
547 _egg_marshal_BOOLEAN__OBJECT_STRING_STRING (GClosure *closure,
548 GValue *return_value,
549 guint n_param_values,
550 const GValue *param_values,
551 gpointer invocation_hint,
552 gpointer marshal_data)
554 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_STRING_STRING) (gpointer data1,
559 register GMarshalFunc_BOOLEAN__OBJECT_STRING_STRING callback;
560 register GCClosure *cc = (GCClosure*) closure;
561 register gpointer data1, data2;
564 g_return_if_fail (return_value != NULL);
565 g_return_if_fail (n_param_values == 4);
567 if (G_CCLOSURE_SWAP_DATA (closure))
569 data1 = closure->data;
570 data2 = g_value_peek_pointer (param_values + 0);
574 data1 = g_value_peek_pointer (param_values + 0);
575 data2 = closure->data;
577 callback = (GMarshalFunc_BOOLEAN__OBJECT_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
579 v_return = callback (data1,
580 g_marshal_value_peek_object (param_values + 1),
581 g_marshal_value_peek_string (param_values + 2),
582 g_marshal_value_peek_string (param_values + 3),
585 g_value_set_boolean (return_value, v_return);