Line data Source code
1 : /*
2 : * This file is generated by gdbus-codegen, do not modify it.
3 : *
4 : * The license of this code is the same as for the D-Bus interface description
5 : * it was derived from. Note that it links to GLib, so must comply with the
6 : * LGPL linking clauses.
7 : */
8 :
9 : #ifdef HAVE_CONFIG_H
10 : # include "config.h"
11 : #endif
12 :
13 : #include "../daemon/dbus/gkd-secrets-generated.h"
14 :
15 : #include <string.h>
16 : #ifdef G_OS_UNIX
17 : # include <gio/gunixfdlist.h>
18 : #endif
19 :
20 : #ifdef G_ENABLE_DEBUG
21 : #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
22 : #define g_marshal_value_peek_char(v) g_value_get_schar (v)
23 : #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
24 : #define g_marshal_value_peek_int(v) g_value_get_int (v)
25 : #define g_marshal_value_peek_uint(v) g_value_get_uint (v)
26 : #define g_marshal_value_peek_long(v) g_value_get_long (v)
27 : #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
28 : #define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
29 : #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
30 : #define g_marshal_value_peek_enum(v) g_value_get_enum (v)
31 : #define g_marshal_value_peek_flags(v) g_value_get_flags (v)
32 : #define g_marshal_value_peek_float(v) g_value_get_float (v)
33 : #define g_marshal_value_peek_double(v) g_value_get_double (v)
34 : #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
35 : #define g_marshal_value_peek_param(v) g_value_get_param (v)
36 : #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
37 : #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
38 : #define g_marshal_value_peek_object(v) g_value_get_object (v)
39 : #define g_marshal_value_peek_variant(v) g_value_get_variant (v)
40 : #else /* !G_ENABLE_DEBUG */
41 : /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
42 : * Do not access GValues directly in your code. Instead, use the
43 : * g_value_get_*() functions
44 : */
45 : #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
46 : #define g_marshal_value_peek_char(v) (v)->data[0].v_int
47 : #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
48 : #define g_marshal_value_peek_int(v) (v)->data[0].v_int
49 : #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
50 : #define g_marshal_value_peek_long(v) (v)->data[0].v_long
51 : #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
52 : #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
53 : #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
54 : #define g_marshal_value_peek_enum(v) (v)->data[0].v_long
55 : #define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
56 : #define g_marshal_value_peek_float(v) (v)->data[0].v_float
57 : #define g_marshal_value_peek_double(v) (v)->data[0].v_double
58 : #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
59 : #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
60 : #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
61 : #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
62 : #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
63 : #define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer
64 : #endif /* !G_ENABLE_DEBUG */
65 :
66 : typedef struct
67 : {
68 : GDBusArgInfo parent_struct;
69 : gboolean use_gvariant;
70 : } _ExtendedGDBusArgInfo;
71 :
72 : typedef struct
73 : {
74 : GDBusMethodInfo parent_struct;
75 : const gchar *signal_name;
76 : gboolean pass_fdlist;
77 : } _ExtendedGDBusMethodInfo;
78 :
79 : typedef struct
80 : {
81 : GDBusSignalInfo parent_struct;
82 : const gchar *signal_name;
83 : } _ExtendedGDBusSignalInfo;
84 :
85 : typedef struct
86 : {
87 : GDBusPropertyInfo parent_struct;
88 : const gchar *hyphen_name;
89 : guint use_gvariant : 1;
90 : guint emits_changed_signal : 1;
91 : } _ExtendedGDBusPropertyInfo;
92 :
93 : typedef struct
94 : {
95 : GDBusInterfaceInfo parent_struct;
96 : const gchar *hyphen_name;
97 : } _ExtendedGDBusInterfaceInfo;
98 :
99 : typedef struct
100 : {
101 : const _ExtendedGDBusPropertyInfo *info;
102 : guint prop_id;
103 : GValue orig_value; /* the value before the change */
104 : } ChangedProperty;
105 :
106 : static void
107 20 : _changed_property_free (ChangedProperty *data)
108 : {
109 20 : g_value_unset (&data->orig_value);
110 20 : g_free (data);
111 20 : }
112 :
113 : static gboolean
114 12 : _g_strv_equal0 (gchar **a, gchar **b)
115 : {
116 12 : gboolean ret = FALSE;
117 : guint n;
118 12 : if (a == NULL && b == NULL)
119 : {
120 0 : ret = TRUE;
121 0 : goto out;
122 : }
123 12 : if (a == NULL || b == NULL)
124 12 : goto out;
125 0 : if (g_strv_length (a) != g_strv_length (b))
126 0 : goto out;
127 0 : for (n = 0; a[n] != NULL; n++)
128 0 : if (g_strcmp0 (a[n], b[n]) != 0)
129 0 : goto out;
130 0 : ret = TRUE;
131 12 : out:
132 12 : return ret;
133 : }
134 :
135 : static gboolean
136 0 : _g_variant_equal0 (GVariant *a, GVariant *b)
137 : {
138 0 : gboolean ret = FALSE;
139 0 : if (a == NULL && b == NULL)
140 : {
141 0 : ret = TRUE;
142 0 : goto out;
143 : }
144 0 : if (a == NULL || b == NULL)
145 0 : goto out;
146 0 : ret = g_variant_equal (a, b);
147 0 : out:
148 0 : return ret;
149 : }
150 :
151 : G_GNUC_UNUSED static gboolean
152 68 : _g_value_equal (const GValue *a, const GValue *b)
153 : {
154 68 : gboolean ret = FALSE;
155 68 : g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
156 68 : switch (G_VALUE_TYPE (a))
157 : {
158 52 : case G_TYPE_BOOLEAN:
159 52 : ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
160 52 : break;
161 0 : case G_TYPE_UCHAR:
162 0 : ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
163 0 : break;
164 0 : case G_TYPE_INT:
165 0 : ret = (g_value_get_int (a) == g_value_get_int (b));
166 0 : break;
167 0 : case G_TYPE_UINT:
168 0 : ret = (g_value_get_uint (a) == g_value_get_uint (b));
169 0 : break;
170 0 : case G_TYPE_INT64:
171 0 : ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
172 0 : break;
173 0 : case G_TYPE_UINT64:
174 0 : ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
175 0 : break;
176 0 : case G_TYPE_DOUBLE:
177 : {
178 : /* Avoid -Wfloat-equal warnings by doing a direct bit compare */
179 0 : gdouble da = g_value_get_double (a);
180 0 : gdouble db = g_value_get_double (b);
181 0 : ret = memcmp (&da, &db, sizeof (gdouble)) == 0;
182 : }
183 0 : break;
184 4 : case G_TYPE_STRING:
185 4 : ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
186 4 : break;
187 0 : case G_TYPE_VARIANT:
188 0 : ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
189 0 : break;
190 12 : default:
191 12 : if (G_VALUE_TYPE (a) == G_TYPE_STRV)
192 12 : ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
193 : else
194 0 : g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
195 12 : break;
196 : }
197 68 : return ret;
198 : }
199 :
200 : static void
201 16 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING_VARIANT (
202 : GClosure *closure,
203 : GValue *return_value,
204 : unsigned int n_param_values,
205 : const GValue *param_values,
206 : void *invocation_hint G_GNUC_UNUSED,
207 : void *marshal_data)
208 : {
209 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectStringVariantFunc)
210 : (void *data1,
211 : GDBusMethodInvocation *arg_method_invocation,
212 : const gchar *arg_algorithm,
213 : GVariant *arg_input,
214 : void *data2);
215 : _GDbusCodegenMarshalBoolean_ObjectStringVariantFunc callback;
216 16 : GCClosure *cc = (GCClosure*) closure;
217 : void *data1, *data2;
218 : gboolean v_return;
219 :
220 16 : g_return_if_fail (return_value != NULL);
221 16 : g_return_if_fail (n_param_values == 4);
222 :
223 16 : if (G_CCLOSURE_SWAP_DATA (closure))
224 : {
225 0 : data1 = closure->data;
226 0 : data2 = g_value_peek_pointer (param_values + 0);
227 : }
228 : else
229 : {
230 16 : data1 = g_value_peek_pointer (param_values + 0);
231 16 : data2 = closure->data;
232 : }
233 :
234 16 : callback = (_GDbusCodegenMarshalBoolean_ObjectStringVariantFunc)
235 16 : (marshal_data ? marshal_data : cc->callback);
236 :
237 : v_return =
238 16 : callback (data1,
239 16 : g_marshal_value_peek_object (param_values + 1),
240 16 : g_marshal_value_peek_string (param_values + 2),
241 16 : g_marshal_value_peek_variant (param_values + 3),
242 : data2);
243 :
244 16 : g_value_set_boolean (return_value, v_return);
245 : }
246 :
247 : static void
248 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT_STRING (
249 : GClosure *closure,
250 : GValue *return_value,
251 : unsigned int n_param_values,
252 : const GValue *param_values,
253 : void *invocation_hint G_GNUC_UNUSED,
254 : void *marshal_data)
255 : {
256 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectVariantStringFunc)
257 : (void *data1,
258 : GDBusMethodInvocation *arg_method_invocation,
259 : GVariant *arg_properties,
260 : const gchar *arg_alias,
261 : void *data2);
262 : _GDbusCodegenMarshalBoolean_ObjectVariantStringFunc callback;
263 1 : GCClosure *cc = (GCClosure*) closure;
264 : void *data1, *data2;
265 : gboolean v_return;
266 :
267 1 : g_return_if_fail (return_value != NULL);
268 1 : g_return_if_fail (n_param_values == 4);
269 :
270 1 : if (G_CCLOSURE_SWAP_DATA (closure))
271 : {
272 0 : data1 = closure->data;
273 0 : data2 = g_value_peek_pointer (param_values + 0);
274 : }
275 : else
276 : {
277 1 : data1 = g_value_peek_pointer (param_values + 0);
278 1 : data2 = closure->data;
279 : }
280 :
281 1 : callback = (_GDbusCodegenMarshalBoolean_ObjectVariantStringFunc)
282 1 : (marshal_data ? marshal_data : cc->callback);
283 :
284 : v_return =
285 1 : callback (data1,
286 1 : g_marshal_value_peek_object (param_values + 1),
287 1 : g_marshal_value_peek_variant (param_values + 2),
288 1 : g_marshal_value_peek_string (param_values + 3),
289 : data2);
290 :
291 1 : g_value_set_boolean (return_value, v_return);
292 : }
293 :
294 : static void
295 2 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT (
296 : GClosure *closure,
297 : GValue *return_value,
298 : unsigned int n_param_values,
299 : const GValue *param_values,
300 : void *invocation_hint G_GNUC_UNUSED,
301 : void *marshal_data)
302 : {
303 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectVariantFunc)
304 : (void *data1,
305 : GDBusMethodInvocation *arg_method_invocation,
306 : GVariant *arg_attributes,
307 : void *data2);
308 : _GDbusCodegenMarshalBoolean_ObjectVariantFunc callback;
309 2 : GCClosure *cc = (GCClosure*) closure;
310 : void *data1, *data2;
311 : gboolean v_return;
312 :
313 2 : g_return_if_fail (return_value != NULL);
314 2 : g_return_if_fail (n_param_values == 3);
315 :
316 2 : if (G_CCLOSURE_SWAP_DATA (closure))
317 : {
318 0 : data1 = closure->data;
319 0 : data2 = g_value_peek_pointer (param_values + 0);
320 : }
321 : else
322 : {
323 2 : data1 = g_value_peek_pointer (param_values + 0);
324 2 : data2 = closure->data;
325 : }
326 :
327 2 : callback = (_GDbusCodegenMarshalBoolean_ObjectVariantFunc)
328 2 : (marshal_data ? marshal_data : cc->callback);
329 :
330 : v_return =
331 2 : callback (data1,
332 2 : g_marshal_value_peek_object (param_values + 1),
333 2 : g_marshal_value_peek_variant (param_values + 2),
334 : data2);
335 :
336 2 : g_value_set_boolean (return_value, v_return);
337 : }
338 :
339 : static void
340 5 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_BOXED (
341 : GClosure *closure,
342 : GValue *return_value,
343 : unsigned int n_param_values,
344 : const GValue *param_values,
345 : void *invocation_hint G_GNUC_UNUSED,
346 : void *marshal_data)
347 : {
348 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectBoxedFunc)
349 : (void *data1,
350 : GDBusMethodInvocation *arg_method_invocation,
351 : const gchar *const *arg_objects,
352 : void *data2);
353 : _GDbusCodegenMarshalBoolean_ObjectBoxedFunc callback;
354 5 : GCClosure *cc = (GCClosure*) closure;
355 : void *data1, *data2;
356 : gboolean v_return;
357 :
358 5 : g_return_if_fail (return_value != NULL);
359 5 : g_return_if_fail (n_param_values == 3);
360 :
361 5 : if (G_CCLOSURE_SWAP_DATA (closure))
362 : {
363 0 : data1 = closure->data;
364 0 : data2 = g_value_peek_pointer (param_values + 0);
365 : }
366 : else
367 : {
368 5 : data1 = g_value_peek_pointer (param_values + 0);
369 5 : data2 = closure->data;
370 : }
371 :
372 5 : callback = (_GDbusCodegenMarshalBoolean_ObjectBoxedFunc)
373 5 : (marshal_data ? marshal_data : cc->callback);
374 :
375 : v_return =
376 5 : callback (data1,
377 5 : g_marshal_value_peek_object (param_values + 1),
378 5 : g_marshal_value_peek_boxed (param_values + 2),
379 : data2);
380 :
381 5 : g_value_set_boolean (return_value, v_return);
382 : }
383 :
384 : static void
385 3 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT (
386 : GClosure *closure,
387 : GValue *return_value,
388 : unsigned int n_param_values,
389 : const GValue *param_values,
390 : void *invocation_hint G_GNUC_UNUSED,
391 : void *marshal_data)
392 : {
393 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectFunc)
394 : (void *data1,
395 : GDBusMethodInvocation *arg_method_invocation,
396 : void *data2);
397 : _GDbusCodegenMarshalBoolean_ObjectFunc callback;
398 3 : GCClosure *cc = (GCClosure*) closure;
399 : void *data1, *data2;
400 : gboolean v_return;
401 :
402 3 : g_return_if_fail (return_value != NULL);
403 3 : g_return_if_fail (n_param_values == 2);
404 :
405 3 : if (G_CCLOSURE_SWAP_DATA (closure))
406 : {
407 0 : data1 = closure->data;
408 0 : data2 = g_value_peek_pointer (param_values + 0);
409 : }
410 : else
411 : {
412 3 : data1 = g_value_peek_pointer (param_values + 0);
413 3 : data2 = closure->data;
414 : }
415 :
416 3 : callback = (_GDbusCodegenMarshalBoolean_ObjectFunc)
417 3 : (marshal_data ? marshal_data : cc->callback);
418 :
419 : v_return =
420 3 : callback (data1,
421 3 : g_marshal_value_peek_object (param_values + 1),
422 : data2);
423 :
424 3 : g_value_set_boolean (return_value, v_return);
425 : }
426 :
427 : static void
428 2 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING (
429 : GClosure *closure,
430 : GValue *return_value,
431 : unsigned int n_param_values,
432 : const GValue *param_values,
433 : void *invocation_hint G_GNUC_UNUSED,
434 : void *marshal_data)
435 : {
436 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectStringFunc)
437 : (void *data1,
438 : GDBusMethodInvocation *arg_method_invocation,
439 : const gchar *arg_collection,
440 : void *data2);
441 : _GDbusCodegenMarshalBoolean_ObjectStringFunc callback;
442 2 : GCClosure *cc = (GCClosure*) closure;
443 : void *data1, *data2;
444 : gboolean v_return;
445 :
446 2 : g_return_if_fail (return_value != NULL);
447 2 : g_return_if_fail (n_param_values == 3);
448 :
449 2 : if (G_CCLOSURE_SWAP_DATA (closure))
450 : {
451 0 : data1 = closure->data;
452 0 : data2 = g_value_peek_pointer (param_values + 0);
453 : }
454 : else
455 : {
456 2 : data1 = g_value_peek_pointer (param_values + 0);
457 2 : data2 = closure->data;
458 : }
459 :
460 2 : callback = (_GDbusCodegenMarshalBoolean_ObjectStringFunc)
461 2 : (marshal_data ? marshal_data : cc->callback);
462 :
463 : v_return =
464 2 : callback (data1,
465 2 : g_marshal_value_peek_object (param_values + 1),
466 2 : g_marshal_value_peek_string (param_values + 2),
467 : data2);
468 :
469 2 : g_value_set_boolean (return_value, v_return);
470 : }
471 :
472 : static void
473 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_BOXED_STRING (
474 : GClosure *closure,
475 : GValue *return_value,
476 : unsigned int n_param_values,
477 : const GValue *param_values,
478 : void *invocation_hint G_GNUC_UNUSED,
479 : void *marshal_data)
480 : {
481 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectBoxedStringFunc)
482 : (void *data1,
483 : GDBusMethodInvocation *arg_method_invocation,
484 : const gchar *const *arg_items,
485 : const gchar *arg_session,
486 : void *data2);
487 : _GDbusCodegenMarshalBoolean_ObjectBoxedStringFunc callback;
488 0 : GCClosure *cc = (GCClosure*) closure;
489 : void *data1, *data2;
490 : gboolean v_return;
491 :
492 0 : g_return_if_fail (return_value != NULL);
493 0 : g_return_if_fail (n_param_values == 4);
494 :
495 0 : if (G_CCLOSURE_SWAP_DATA (closure))
496 : {
497 0 : data1 = closure->data;
498 0 : data2 = g_value_peek_pointer (param_values + 0);
499 : }
500 : else
501 : {
502 0 : data1 = g_value_peek_pointer (param_values + 0);
503 0 : data2 = closure->data;
504 : }
505 :
506 0 : callback = (_GDbusCodegenMarshalBoolean_ObjectBoxedStringFunc)
507 0 : (marshal_data ? marshal_data : cc->callback);
508 :
509 : v_return =
510 0 : callback (data1,
511 0 : g_marshal_value_peek_object (param_values + 1),
512 0 : g_marshal_value_peek_boxed (param_values + 2),
513 0 : g_marshal_value_peek_string (param_values + 3),
514 : data2);
515 :
516 0 : g_value_set_boolean (return_value, v_return);
517 : }
518 :
519 : static void
520 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING_STRING (
521 : GClosure *closure,
522 : GValue *return_value,
523 : unsigned int n_param_values,
524 : const GValue *param_values,
525 : void *invocation_hint G_GNUC_UNUSED,
526 : void *marshal_data)
527 : {
528 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectStringStringFunc)
529 : (void *data1,
530 : GDBusMethodInvocation *arg_method_invocation,
531 : const gchar *arg_name,
532 : const gchar *arg_collection,
533 : void *data2);
534 : _GDbusCodegenMarshalBoolean_ObjectStringStringFunc callback;
535 0 : GCClosure *cc = (GCClosure*) closure;
536 : void *data1, *data2;
537 : gboolean v_return;
538 :
539 0 : g_return_if_fail (return_value != NULL);
540 0 : g_return_if_fail (n_param_values == 4);
541 :
542 0 : if (G_CCLOSURE_SWAP_DATA (closure))
543 : {
544 0 : data1 = closure->data;
545 0 : data2 = g_value_peek_pointer (param_values + 0);
546 : }
547 : else
548 : {
549 0 : data1 = g_value_peek_pointer (param_values + 0);
550 0 : data2 = closure->data;
551 : }
552 :
553 0 : callback = (_GDbusCodegenMarshalBoolean_ObjectStringStringFunc)
554 0 : (marshal_data ? marshal_data : cc->callback);
555 :
556 : v_return =
557 0 : callback (data1,
558 0 : g_marshal_value_peek_object (param_values + 1),
559 0 : g_marshal_value_peek_string (param_values + 2),
560 0 : g_marshal_value_peek_string (param_values + 3),
561 : data2);
562 :
563 0 : g_value_set_boolean (return_value, v_return);
564 : }
565 :
566 : static void
567 2 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT_VARIANT_BOOLEAN (
568 : GClosure *closure,
569 : GValue *return_value,
570 : unsigned int n_param_values,
571 : const GValue *param_values,
572 : void *invocation_hint G_GNUC_UNUSED,
573 : void *marshal_data)
574 : {
575 : typedef gboolean (*_GDbusCodegenMarshalBoolean_ObjectVariantVariantBooleanFunc)
576 : (void *data1,
577 : GDBusMethodInvocation *arg_method_invocation,
578 : GVariant *arg_properties,
579 : GVariant *arg_secret,
580 : gboolean arg_replace,
581 : void *data2);
582 : _GDbusCodegenMarshalBoolean_ObjectVariantVariantBooleanFunc callback;
583 2 : GCClosure *cc = (GCClosure*) closure;
584 : void *data1, *data2;
585 : gboolean v_return;
586 :
587 2 : g_return_if_fail (return_value != NULL);
588 2 : g_return_if_fail (n_param_values == 5);
589 :
590 2 : if (G_CCLOSURE_SWAP_DATA (closure))
591 : {
592 0 : data1 = closure->data;
593 0 : data2 = g_value_peek_pointer (param_values + 0);
594 : }
595 : else
596 : {
597 2 : data1 = g_value_peek_pointer (param_values + 0);
598 2 : data2 = closure->data;
599 : }
600 :
601 2 : callback = (_GDbusCodegenMarshalBoolean_ObjectVariantVariantBooleanFunc)
602 2 : (marshal_data ? marshal_data : cc->callback);
603 :
604 : v_return =
605 2 : callback (data1,
606 2 : g_marshal_value_peek_object (param_values + 1),
607 2 : g_marshal_value_peek_variant (param_values + 2),
608 2 : g_marshal_value_peek_variant (param_values + 3),
609 2 : g_marshal_value_peek_boolean (param_values + 4),
610 : data2);
611 :
612 2 : g_value_set_boolean (return_value, v_return);
613 : }
614 :
615 : static void
616 0 : _g_dbus_codegen_marshal_VOID__BOOLEAN_VARIANT (
617 : GClosure *closure,
618 : GValue *return_value G_GNUC_UNUSED,
619 : unsigned int n_param_values,
620 : const GValue *param_values,
621 : void *invocation_hint G_GNUC_UNUSED,
622 : void *marshal_data)
623 : {
624 : typedef void (*_GDbusCodegenMarshalVoid_BooleanVariantFunc)
625 : (void *data1,
626 : gboolean arg_dismissed,
627 : GVariant *arg_result,
628 : void *data2);
629 : _GDbusCodegenMarshalVoid_BooleanVariantFunc callback;
630 0 : GCClosure *cc = (GCClosure*) closure;
631 : void *data1, *data2;
632 :
633 0 : g_return_if_fail (n_param_values == 3);
634 :
635 0 : if (G_CCLOSURE_SWAP_DATA (closure))
636 : {
637 0 : data1 = closure->data;
638 0 : data2 = g_value_peek_pointer (param_values + 0);
639 : }
640 : else
641 : {
642 0 : data1 = g_value_peek_pointer (param_values + 0);
643 0 : data2 = closure->data;
644 : }
645 :
646 0 : callback = (_GDbusCodegenMarshalVoid_BooleanVariantFunc)
647 0 : (marshal_data ? marshal_data : cc->callback);
648 :
649 0 : callback (data1,
650 0 : g_marshal_value_peek_boolean (param_values + 1),
651 0 : g_marshal_value_peek_variant (param_values + 2),
652 : data2);
653 : }
654 :
655 : /* ------------------------------------------------------------------------
656 : * Code for interface org.freedesktop.Secret.Service
657 : * ------------------------------------------------------------------------
658 : */
659 :
660 : /**
661 : * SECTION:GkdExportedService
662 : * @title: GkdExportedService
663 : * @short_description: Generated C code for the org.freedesktop.Secret.Service D-Bus interface
664 : *
665 : * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link> D-Bus interface in C.
666 : */
667 :
668 : enum
669 : {
670 : GKD__EXPORTED_SERVICE_COLLECTION_CREATED,
671 : GKD__EXPORTED_SERVICE_COLLECTION_DELETED,
672 : GKD__EXPORTED_SERVICE_COLLECTION_CHANGED,
673 : };
674 :
675 : static unsigned GKD__EXPORTED_SERVICE_SIGNALS[3] = { 0 };
676 :
677 : /* ---- Introspection data for org.freedesktop.Secret.Service ---- */
678 :
679 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_open_session_IN_ARG_algorithm =
680 : {
681 : {
682 : -1,
683 : (gchar *) "algorithm",
684 : (gchar *) "s",
685 : NULL
686 : },
687 : FALSE
688 : };
689 :
690 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_open_session_IN_ARG_input =
691 : {
692 : {
693 : -1,
694 : (gchar *) "input",
695 : (gchar *) "v",
696 : NULL
697 : },
698 : FALSE
699 : };
700 :
701 : static const GDBusArgInfo * const _gkd_exported_service_method_info_open_session_IN_ARG_pointers[] =
702 : {
703 : &_gkd_exported_service_method_info_open_session_IN_ARG_algorithm.parent_struct,
704 : &_gkd_exported_service_method_info_open_session_IN_ARG_input.parent_struct,
705 : NULL
706 : };
707 :
708 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_open_session_OUT_ARG_output =
709 : {
710 : {
711 : -1,
712 : (gchar *) "output",
713 : (gchar *) "v",
714 : NULL
715 : },
716 : FALSE
717 : };
718 :
719 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_open_session_OUT_ARG_result =
720 : {
721 : {
722 : -1,
723 : (gchar *) "result",
724 : (gchar *) "o",
725 : NULL
726 : },
727 : FALSE
728 : };
729 :
730 : static const GDBusArgInfo * const _gkd_exported_service_method_info_open_session_OUT_ARG_pointers[] =
731 : {
732 : &_gkd_exported_service_method_info_open_session_OUT_ARG_output.parent_struct,
733 : &_gkd_exported_service_method_info_open_session_OUT_ARG_result.parent_struct,
734 : NULL
735 : };
736 :
737 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_open_session =
738 : {
739 : {
740 : -1,
741 : (gchar *) "OpenSession",
742 : (GDBusArgInfo **) &_gkd_exported_service_method_info_open_session_IN_ARG_pointers,
743 : (GDBusArgInfo **) &_gkd_exported_service_method_info_open_session_OUT_ARG_pointers,
744 : NULL
745 : },
746 : "handle-open-session",
747 : FALSE
748 : };
749 :
750 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_create_collection_IN_ARG_properties =
751 : {
752 : {
753 : -1,
754 : (gchar *) "properties",
755 : (gchar *) "a{sv}",
756 : NULL
757 : },
758 : FALSE
759 : };
760 :
761 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_create_collection_IN_ARG_alias =
762 : {
763 : {
764 : -1,
765 : (gchar *) "alias",
766 : (gchar *) "s",
767 : NULL
768 : },
769 : FALSE
770 : };
771 :
772 : static const GDBusArgInfo * const _gkd_exported_service_method_info_create_collection_IN_ARG_pointers[] =
773 : {
774 : &_gkd_exported_service_method_info_create_collection_IN_ARG_properties.parent_struct,
775 : &_gkd_exported_service_method_info_create_collection_IN_ARG_alias.parent_struct,
776 : NULL
777 : };
778 :
779 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_create_collection_OUT_ARG_collection =
780 : {
781 : {
782 : -1,
783 : (gchar *) "collection",
784 : (gchar *) "o",
785 : NULL
786 : },
787 : FALSE
788 : };
789 :
790 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_create_collection_OUT_ARG_prompt =
791 : {
792 : {
793 : -1,
794 : (gchar *) "prompt",
795 : (gchar *) "o",
796 : NULL
797 : },
798 : FALSE
799 : };
800 :
801 : static const GDBusArgInfo * const _gkd_exported_service_method_info_create_collection_OUT_ARG_pointers[] =
802 : {
803 : &_gkd_exported_service_method_info_create_collection_OUT_ARG_collection.parent_struct,
804 : &_gkd_exported_service_method_info_create_collection_OUT_ARG_prompt.parent_struct,
805 : NULL
806 : };
807 :
808 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_create_collection =
809 : {
810 : {
811 : -1,
812 : (gchar *) "CreateCollection",
813 : (GDBusArgInfo **) &_gkd_exported_service_method_info_create_collection_IN_ARG_pointers,
814 : (GDBusArgInfo **) &_gkd_exported_service_method_info_create_collection_OUT_ARG_pointers,
815 : NULL
816 : },
817 : "handle-create-collection",
818 : FALSE
819 : };
820 :
821 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_search_items_IN_ARG_attributes =
822 : {
823 : {
824 : -1,
825 : (gchar *) "attributes",
826 : (gchar *) "a{ss}",
827 : NULL
828 : },
829 : FALSE
830 : };
831 :
832 : static const GDBusArgInfo * const _gkd_exported_service_method_info_search_items_IN_ARG_pointers[] =
833 : {
834 : &_gkd_exported_service_method_info_search_items_IN_ARG_attributes.parent_struct,
835 : NULL
836 : };
837 :
838 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_search_items_OUT_ARG_unlocked =
839 : {
840 : {
841 : -1,
842 : (gchar *) "unlocked",
843 : (gchar *) "ao",
844 : NULL
845 : },
846 : FALSE
847 : };
848 :
849 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_search_items_OUT_ARG_locked =
850 : {
851 : {
852 : -1,
853 : (gchar *) "locked",
854 : (gchar *) "ao",
855 : NULL
856 : },
857 : FALSE
858 : };
859 :
860 : static const GDBusArgInfo * const _gkd_exported_service_method_info_search_items_OUT_ARG_pointers[] =
861 : {
862 : &_gkd_exported_service_method_info_search_items_OUT_ARG_unlocked.parent_struct,
863 : &_gkd_exported_service_method_info_search_items_OUT_ARG_locked.parent_struct,
864 : NULL
865 : };
866 :
867 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_search_items =
868 : {
869 : {
870 : -1,
871 : (gchar *) "SearchItems",
872 : (GDBusArgInfo **) &_gkd_exported_service_method_info_search_items_IN_ARG_pointers,
873 : (GDBusArgInfo **) &_gkd_exported_service_method_info_search_items_OUT_ARG_pointers,
874 : NULL
875 : },
876 : "handle-search-items",
877 : FALSE
878 : };
879 :
880 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_unlock_IN_ARG_objects =
881 : {
882 : {
883 : -1,
884 : (gchar *) "objects",
885 : (gchar *) "ao",
886 : NULL
887 : },
888 : FALSE
889 : };
890 :
891 : static const GDBusArgInfo * const _gkd_exported_service_method_info_unlock_IN_ARG_pointers[] =
892 : {
893 : &_gkd_exported_service_method_info_unlock_IN_ARG_objects.parent_struct,
894 : NULL
895 : };
896 :
897 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_unlock_OUT_ARG_unlocked =
898 : {
899 : {
900 : -1,
901 : (gchar *) "unlocked",
902 : (gchar *) "ao",
903 : NULL
904 : },
905 : FALSE
906 : };
907 :
908 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_unlock_OUT_ARG_prompt =
909 : {
910 : {
911 : -1,
912 : (gchar *) "prompt",
913 : (gchar *) "o",
914 : NULL
915 : },
916 : FALSE
917 : };
918 :
919 : static const GDBusArgInfo * const _gkd_exported_service_method_info_unlock_OUT_ARG_pointers[] =
920 : {
921 : &_gkd_exported_service_method_info_unlock_OUT_ARG_unlocked.parent_struct,
922 : &_gkd_exported_service_method_info_unlock_OUT_ARG_prompt.parent_struct,
923 : NULL
924 : };
925 :
926 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_unlock =
927 : {
928 : {
929 : -1,
930 : (gchar *) "Unlock",
931 : (GDBusArgInfo **) &_gkd_exported_service_method_info_unlock_IN_ARG_pointers,
932 : (GDBusArgInfo **) &_gkd_exported_service_method_info_unlock_OUT_ARG_pointers,
933 : NULL
934 : },
935 : "handle-unlock",
936 : FALSE
937 : };
938 :
939 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_lock_IN_ARG_objects =
940 : {
941 : {
942 : -1,
943 : (gchar *) "objects",
944 : (gchar *) "ao",
945 : NULL
946 : },
947 : FALSE
948 : };
949 :
950 : static const GDBusArgInfo * const _gkd_exported_service_method_info_lock_IN_ARG_pointers[] =
951 : {
952 : &_gkd_exported_service_method_info_lock_IN_ARG_objects.parent_struct,
953 : NULL
954 : };
955 :
956 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_lock_OUT_ARG_locked =
957 : {
958 : {
959 : -1,
960 : (gchar *) "locked",
961 : (gchar *) "ao",
962 : NULL
963 : },
964 : FALSE
965 : };
966 :
967 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_lock_OUT_ARG_Prompt =
968 : {
969 : {
970 : -1,
971 : (gchar *) "Prompt",
972 : (gchar *) "o",
973 : NULL
974 : },
975 : FALSE
976 : };
977 :
978 : static const GDBusArgInfo * const _gkd_exported_service_method_info_lock_OUT_ARG_pointers[] =
979 : {
980 : &_gkd_exported_service_method_info_lock_OUT_ARG_locked.parent_struct,
981 : &_gkd_exported_service_method_info_lock_OUT_ARG_Prompt.parent_struct,
982 : NULL
983 : };
984 :
985 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_lock =
986 : {
987 : {
988 : -1,
989 : (gchar *) "Lock",
990 : (GDBusArgInfo **) &_gkd_exported_service_method_info_lock_IN_ARG_pointers,
991 : (GDBusArgInfo **) &_gkd_exported_service_method_info_lock_OUT_ARG_pointers,
992 : NULL
993 : },
994 : "handle-lock",
995 : FALSE
996 : };
997 :
998 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_lock_service =
999 : {
1000 : {
1001 : -1,
1002 : (gchar *) "LockService",
1003 : NULL,
1004 : NULL,
1005 : NULL
1006 : },
1007 : "handle-lock-service",
1008 : FALSE
1009 : };
1010 :
1011 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_change_lock_IN_ARG_collection =
1012 : {
1013 : {
1014 : -1,
1015 : (gchar *) "collection",
1016 : (gchar *) "o",
1017 : NULL
1018 : },
1019 : FALSE
1020 : };
1021 :
1022 : static const GDBusArgInfo * const _gkd_exported_service_method_info_change_lock_IN_ARG_pointers[] =
1023 : {
1024 : &_gkd_exported_service_method_info_change_lock_IN_ARG_collection.parent_struct,
1025 : NULL
1026 : };
1027 :
1028 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_change_lock_OUT_ARG_prompt =
1029 : {
1030 : {
1031 : -1,
1032 : (gchar *) "prompt",
1033 : (gchar *) "o",
1034 : NULL
1035 : },
1036 : FALSE
1037 : };
1038 :
1039 : static const GDBusArgInfo * const _gkd_exported_service_method_info_change_lock_OUT_ARG_pointers[] =
1040 : {
1041 : &_gkd_exported_service_method_info_change_lock_OUT_ARG_prompt.parent_struct,
1042 : NULL
1043 : };
1044 :
1045 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_change_lock =
1046 : {
1047 : {
1048 : -1,
1049 : (gchar *) "ChangeLock",
1050 : (GDBusArgInfo **) &_gkd_exported_service_method_info_change_lock_IN_ARG_pointers,
1051 : (GDBusArgInfo **) &_gkd_exported_service_method_info_change_lock_OUT_ARG_pointers,
1052 : NULL
1053 : },
1054 : "handle-change-lock",
1055 : FALSE
1056 : };
1057 :
1058 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_get_secrets_IN_ARG_items =
1059 : {
1060 : {
1061 : -1,
1062 : (gchar *) "items",
1063 : (gchar *) "ao",
1064 : NULL
1065 : },
1066 : FALSE
1067 : };
1068 :
1069 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_get_secrets_IN_ARG_session =
1070 : {
1071 : {
1072 : -1,
1073 : (gchar *) "session",
1074 : (gchar *) "o",
1075 : NULL
1076 : },
1077 : FALSE
1078 : };
1079 :
1080 : static const GDBusArgInfo * const _gkd_exported_service_method_info_get_secrets_IN_ARG_pointers[] =
1081 : {
1082 : &_gkd_exported_service_method_info_get_secrets_IN_ARG_items.parent_struct,
1083 : &_gkd_exported_service_method_info_get_secrets_IN_ARG_session.parent_struct,
1084 : NULL
1085 : };
1086 :
1087 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_get_secrets_OUT_ARG_secrets =
1088 : {
1089 : {
1090 : -1,
1091 : (gchar *) "secrets",
1092 : (gchar *) "a{o(oayays)}",
1093 : NULL
1094 : },
1095 : FALSE
1096 : };
1097 :
1098 : static const GDBusArgInfo * const _gkd_exported_service_method_info_get_secrets_OUT_ARG_pointers[] =
1099 : {
1100 : &_gkd_exported_service_method_info_get_secrets_OUT_ARG_secrets.parent_struct,
1101 : NULL
1102 : };
1103 :
1104 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_get_secrets =
1105 : {
1106 : {
1107 : -1,
1108 : (gchar *) "GetSecrets",
1109 : (GDBusArgInfo **) &_gkd_exported_service_method_info_get_secrets_IN_ARG_pointers,
1110 : (GDBusArgInfo **) &_gkd_exported_service_method_info_get_secrets_OUT_ARG_pointers,
1111 : NULL
1112 : },
1113 : "handle-get-secrets",
1114 : FALSE
1115 : };
1116 :
1117 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_read_alias_IN_ARG_name =
1118 : {
1119 : {
1120 : -1,
1121 : (gchar *) "name",
1122 : (gchar *) "s",
1123 : NULL
1124 : },
1125 : FALSE
1126 : };
1127 :
1128 : static const GDBusArgInfo * const _gkd_exported_service_method_info_read_alias_IN_ARG_pointers[] =
1129 : {
1130 : &_gkd_exported_service_method_info_read_alias_IN_ARG_name.parent_struct,
1131 : NULL
1132 : };
1133 :
1134 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_read_alias_OUT_ARG_collection =
1135 : {
1136 : {
1137 : -1,
1138 : (gchar *) "collection",
1139 : (gchar *) "o",
1140 : NULL
1141 : },
1142 : FALSE
1143 : };
1144 :
1145 : static const GDBusArgInfo * const _gkd_exported_service_method_info_read_alias_OUT_ARG_pointers[] =
1146 : {
1147 : &_gkd_exported_service_method_info_read_alias_OUT_ARG_collection.parent_struct,
1148 : NULL
1149 : };
1150 :
1151 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_read_alias =
1152 : {
1153 : {
1154 : -1,
1155 : (gchar *) "ReadAlias",
1156 : (GDBusArgInfo **) &_gkd_exported_service_method_info_read_alias_IN_ARG_pointers,
1157 : (GDBusArgInfo **) &_gkd_exported_service_method_info_read_alias_OUT_ARG_pointers,
1158 : NULL
1159 : },
1160 : "handle-read-alias",
1161 : FALSE
1162 : };
1163 :
1164 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_set_alias_IN_ARG_name =
1165 : {
1166 : {
1167 : -1,
1168 : (gchar *) "name",
1169 : (gchar *) "s",
1170 : NULL
1171 : },
1172 : FALSE
1173 : };
1174 :
1175 : static const _ExtendedGDBusArgInfo _gkd_exported_service_method_info_set_alias_IN_ARG_collection =
1176 : {
1177 : {
1178 : -1,
1179 : (gchar *) "collection",
1180 : (gchar *) "o",
1181 : NULL
1182 : },
1183 : FALSE
1184 : };
1185 :
1186 : static const GDBusArgInfo * const _gkd_exported_service_method_info_set_alias_IN_ARG_pointers[] =
1187 : {
1188 : &_gkd_exported_service_method_info_set_alias_IN_ARG_name.parent_struct,
1189 : &_gkd_exported_service_method_info_set_alias_IN_ARG_collection.parent_struct,
1190 : NULL
1191 : };
1192 :
1193 : static const _ExtendedGDBusMethodInfo _gkd_exported_service_method_info_set_alias =
1194 : {
1195 : {
1196 : -1,
1197 : (gchar *) "SetAlias",
1198 : (GDBusArgInfo **) &_gkd_exported_service_method_info_set_alias_IN_ARG_pointers,
1199 : NULL,
1200 : NULL
1201 : },
1202 : "handle-set-alias",
1203 : FALSE
1204 : };
1205 :
1206 : static const GDBusMethodInfo * const _gkd_exported_service_method_info_pointers[] =
1207 : {
1208 : &_gkd_exported_service_method_info_open_session.parent_struct,
1209 : &_gkd_exported_service_method_info_create_collection.parent_struct,
1210 : &_gkd_exported_service_method_info_search_items.parent_struct,
1211 : &_gkd_exported_service_method_info_unlock.parent_struct,
1212 : &_gkd_exported_service_method_info_lock.parent_struct,
1213 : &_gkd_exported_service_method_info_lock_service.parent_struct,
1214 : &_gkd_exported_service_method_info_change_lock.parent_struct,
1215 : &_gkd_exported_service_method_info_get_secrets.parent_struct,
1216 : &_gkd_exported_service_method_info_read_alias.parent_struct,
1217 : &_gkd_exported_service_method_info_set_alias.parent_struct,
1218 : NULL
1219 : };
1220 :
1221 : static const _ExtendedGDBusArgInfo _gkd_exported_service_signal_info_collection_created_ARG_collection =
1222 : {
1223 : {
1224 : -1,
1225 : (gchar *) "collection",
1226 : (gchar *) "o",
1227 : NULL
1228 : },
1229 : FALSE
1230 : };
1231 :
1232 : static const GDBusArgInfo * const _gkd_exported_service_signal_info_collection_created_ARG_pointers[] =
1233 : {
1234 : &_gkd_exported_service_signal_info_collection_created_ARG_collection.parent_struct,
1235 : NULL
1236 : };
1237 :
1238 : static const _ExtendedGDBusSignalInfo _gkd_exported_service_signal_info_collection_created =
1239 : {
1240 : {
1241 : -1,
1242 : (gchar *) "CollectionCreated",
1243 : (GDBusArgInfo **) &_gkd_exported_service_signal_info_collection_created_ARG_pointers,
1244 : NULL
1245 : },
1246 : "collection-created"
1247 : };
1248 :
1249 : static const _ExtendedGDBusArgInfo _gkd_exported_service_signal_info_collection_deleted_ARG_collection =
1250 : {
1251 : {
1252 : -1,
1253 : (gchar *) "collection",
1254 : (gchar *) "o",
1255 : NULL
1256 : },
1257 : FALSE
1258 : };
1259 :
1260 : static const GDBusArgInfo * const _gkd_exported_service_signal_info_collection_deleted_ARG_pointers[] =
1261 : {
1262 : &_gkd_exported_service_signal_info_collection_deleted_ARG_collection.parent_struct,
1263 : NULL
1264 : };
1265 :
1266 : static const _ExtendedGDBusSignalInfo _gkd_exported_service_signal_info_collection_deleted =
1267 : {
1268 : {
1269 : -1,
1270 : (gchar *) "CollectionDeleted",
1271 : (GDBusArgInfo **) &_gkd_exported_service_signal_info_collection_deleted_ARG_pointers,
1272 : NULL
1273 : },
1274 : "collection-deleted"
1275 : };
1276 :
1277 : static const _ExtendedGDBusArgInfo _gkd_exported_service_signal_info_collection_changed_ARG_collection =
1278 : {
1279 : {
1280 : -1,
1281 : (gchar *) "collection",
1282 : (gchar *) "o",
1283 : NULL
1284 : },
1285 : FALSE
1286 : };
1287 :
1288 : static const GDBusArgInfo * const _gkd_exported_service_signal_info_collection_changed_ARG_pointers[] =
1289 : {
1290 : &_gkd_exported_service_signal_info_collection_changed_ARG_collection.parent_struct,
1291 : NULL
1292 : };
1293 :
1294 : static const _ExtendedGDBusSignalInfo _gkd_exported_service_signal_info_collection_changed =
1295 : {
1296 : {
1297 : -1,
1298 : (gchar *) "CollectionChanged",
1299 : (GDBusArgInfo **) &_gkd_exported_service_signal_info_collection_changed_ARG_pointers,
1300 : NULL
1301 : },
1302 : "collection-changed"
1303 : };
1304 :
1305 : static const GDBusSignalInfo * const _gkd_exported_service_signal_info_pointers[] =
1306 : {
1307 : &_gkd_exported_service_signal_info_collection_created.parent_struct,
1308 : &_gkd_exported_service_signal_info_collection_deleted.parent_struct,
1309 : &_gkd_exported_service_signal_info_collection_changed.parent_struct,
1310 : NULL
1311 : };
1312 :
1313 : static const _ExtendedGDBusPropertyInfo _gkd_exported_service_property_info_collections =
1314 : {
1315 : {
1316 : -1,
1317 : (gchar *) "Collections",
1318 : (gchar *) "ao",
1319 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
1320 : NULL
1321 : },
1322 : "collections",
1323 : FALSE,
1324 : TRUE
1325 : };
1326 :
1327 : static const GDBusPropertyInfo * const _gkd_exported_service_property_info_pointers[] =
1328 : {
1329 : &_gkd_exported_service_property_info_collections.parent_struct,
1330 : NULL
1331 : };
1332 :
1333 : static const _ExtendedGDBusInterfaceInfo _gkd_exported_service_interface_info =
1334 : {
1335 : {
1336 : -1,
1337 : (gchar *) "org.freedesktop.Secret.Service",
1338 : (GDBusMethodInfo **) &_gkd_exported_service_method_info_pointers,
1339 : (GDBusSignalInfo **) &_gkd_exported_service_signal_info_pointers,
1340 : (GDBusPropertyInfo **) &_gkd_exported_service_property_info_pointers,
1341 : NULL
1342 : },
1343 : "exported-service",
1344 : };
1345 :
1346 :
1347 : /**
1348 : * gkd_exported_service_interface_info:
1349 : *
1350 : * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link> D-Bus interface.
1351 : *
1352 : * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
1353 : */
1354 : GDBusInterfaceInfo *
1355 25 : gkd_exported_service_interface_info (void)
1356 : {
1357 25 : return (GDBusInterfaceInfo *) &_gkd_exported_service_interface_info.parent_struct;
1358 : }
1359 :
1360 : /**
1361 : * gkd_exported_service_override_properties:
1362 : * @klass: The class structure for a #GObject derived class.
1363 : * @property_id_begin: The property id to assign to the first overridden property.
1364 : *
1365 : * Overrides all #GObject properties in the #GkdExportedService interface for a concrete class.
1366 : * The properties are overridden in the order they are defined.
1367 : *
1368 : * Returns: The last property id.
1369 : */
1370 : guint
1371 50 : gkd_exported_service_override_properties (GObjectClass *klass, guint property_id_begin)
1372 : {
1373 50 : g_object_class_override_property (klass, property_id_begin++, "collections");
1374 50 : return property_id_begin - 1;
1375 : }
1376 :
1377 :
1378 : inline static void
1379 2 : gkd_exported_service_signal_marshal_collection_created (
1380 : GClosure *closure,
1381 : GValue *return_value,
1382 : unsigned int n_param_values,
1383 : const GValue *param_values,
1384 : void *invocation_hint,
1385 : void *marshal_data)
1386 : {
1387 2 : g_cclosure_marshal_VOID__STRING (closure,
1388 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1389 2 : }
1390 :
1391 : inline static void
1392 1 : gkd_exported_service_signal_marshal_collection_deleted (
1393 : GClosure *closure,
1394 : GValue *return_value,
1395 : unsigned int n_param_values,
1396 : const GValue *param_values,
1397 : void *invocation_hint,
1398 : void *marshal_data)
1399 : {
1400 1 : g_cclosure_marshal_VOID__STRING (closure,
1401 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1402 1 : }
1403 :
1404 : inline static void
1405 21 : gkd_exported_service_signal_marshal_collection_changed (
1406 : GClosure *closure,
1407 : GValue *return_value,
1408 : unsigned int n_param_values,
1409 : const GValue *param_values,
1410 : void *invocation_hint,
1411 : void *marshal_data)
1412 : {
1413 21 : g_cclosure_marshal_VOID__STRING (closure,
1414 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1415 21 : }
1416 :
1417 : inline static void
1418 16 : gkd_exported_service_method_marshal_open_session (
1419 : GClosure *closure,
1420 : GValue *return_value,
1421 : unsigned int n_param_values,
1422 : const GValue *param_values,
1423 : void *invocation_hint,
1424 : void *marshal_data)
1425 : {
1426 16 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING_VARIANT (closure,
1427 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1428 16 : }
1429 :
1430 : inline static void
1431 1 : gkd_exported_service_method_marshal_create_collection (
1432 : GClosure *closure,
1433 : GValue *return_value,
1434 : unsigned int n_param_values,
1435 : const GValue *param_values,
1436 : void *invocation_hint,
1437 : void *marshal_data)
1438 : {
1439 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT_STRING (closure,
1440 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1441 1 : }
1442 :
1443 : inline static void
1444 1 : gkd_exported_service_method_marshal_search_items (
1445 : GClosure *closure,
1446 : GValue *return_value,
1447 : unsigned int n_param_values,
1448 : const GValue *param_values,
1449 : void *invocation_hint,
1450 : void *marshal_data)
1451 : {
1452 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT (closure,
1453 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1454 1 : }
1455 :
1456 : inline static void
1457 1 : gkd_exported_service_method_marshal_unlock (
1458 : GClosure *closure,
1459 : GValue *return_value,
1460 : unsigned int n_param_values,
1461 : const GValue *param_values,
1462 : void *invocation_hint,
1463 : void *marshal_data)
1464 : {
1465 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_BOXED (closure,
1466 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1467 1 : }
1468 :
1469 : inline static void
1470 4 : gkd_exported_service_method_marshal_lock (
1471 : GClosure *closure,
1472 : GValue *return_value,
1473 : unsigned int n_param_values,
1474 : const GValue *param_values,
1475 : void *invocation_hint,
1476 : void *marshal_data)
1477 : {
1478 4 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_BOXED (closure,
1479 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1480 4 : }
1481 :
1482 : inline static void
1483 1 : gkd_exported_service_method_marshal_lock_service (
1484 : GClosure *closure,
1485 : GValue *return_value,
1486 : unsigned int n_param_values,
1487 : const GValue *param_values,
1488 : void *invocation_hint,
1489 : void *marshal_data)
1490 : {
1491 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT (closure,
1492 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1493 1 : }
1494 :
1495 : inline static void
1496 0 : gkd_exported_service_method_marshal_change_lock (
1497 : GClosure *closure,
1498 : GValue *return_value,
1499 : unsigned int n_param_values,
1500 : const GValue *param_values,
1501 : void *invocation_hint,
1502 : void *marshal_data)
1503 : {
1504 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING (closure,
1505 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1506 0 : }
1507 :
1508 : inline static void
1509 0 : gkd_exported_service_method_marshal_get_secrets (
1510 : GClosure *closure,
1511 : GValue *return_value,
1512 : unsigned int n_param_values,
1513 : const GValue *param_values,
1514 : void *invocation_hint,
1515 : void *marshal_data)
1516 : {
1517 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_BOXED_STRING (closure,
1518 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1519 0 : }
1520 :
1521 : inline static void
1522 0 : gkd_exported_service_method_marshal_read_alias (
1523 : GClosure *closure,
1524 : GValue *return_value,
1525 : unsigned int n_param_values,
1526 : const GValue *param_values,
1527 : void *invocation_hint,
1528 : void *marshal_data)
1529 : {
1530 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING (closure,
1531 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1532 0 : }
1533 :
1534 : inline static void
1535 0 : gkd_exported_service_method_marshal_set_alias (
1536 : GClosure *closure,
1537 : GValue *return_value,
1538 : unsigned int n_param_values,
1539 : const GValue *param_values,
1540 : void *invocation_hint,
1541 : void *marshal_data)
1542 : {
1543 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING_STRING (closure,
1544 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
1545 0 : }
1546 :
1547 :
1548 : /**
1549 : * GkdExportedService:
1550 : *
1551 : * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link>.
1552 : */
1553 :
1554 : /**
1555 : * GkdExportedServiceIface:
1556 : * @parent_iface: The parent interface.
1557 : * @handle_change_lock: Handler for the #GkdExportedService::handle-change-lock signal.
1558 : * @handle_create_collection: Handler for the #GkdExportedService::handle-create-collection signal.
1559 : * @handle_get_secrets: Handler for the #GkdExportedService::handle-get-secrets signal.
1560 : * @handle_lock: Handler for the #GkdExportedService::handle-lock signal.
1561 : * @handle_lock_service: Handler for the #GkdExportedService::handle-lock-service signal.
1562 : * @handle_open_session: Handler for the #GkdExportedService::handle-open-session signal.
1563 : * @handle_read_alias: Handler for the #GkdExportedService::handle-read-alias signal.
1564 : * @handle_search_items: Handler for the #GkdExportedService::handle-search-items signal.
1565 : * @handle_set_alias: Handler for the #GkdExportedService::handle-set-alias signal.
1566 : * @handle_unlock: Handler for the #GkdExportedService::handle-unlock signal.
1567 : * @get_collections: Getter for the #GkdExportedService:collections property.
1568 : * @collection_changed: Handler for the #GkdExportedService::collection-changed signal.
1569 : * @collection_created: Handler for the #GkdExportedService::collection-created signal.
1570 : * @collection_deleted: Handler for the #GkdExportedService::collection-deleted signal.
1571 : *
1572 : * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link>.
1573 : */
1574 :
1575 : typedef GkdExportedServiceIface GkdExportedServiceInterface;
1576 73 : G_DEFINE_INTERFACE (GkdExportedService, gkd_exported_service, G_TYPE_OBJECT)
1577 :
1578 : static void
1579 25 : gkd_exported_service_default_init (GkdExportedServiceIface *iface)
1580 : {
1581 : /* GObject signals for incoming D-Bus method calls: */
1582 : /**
1583 : * GkdExportedService::handle-open-session:
1584 : * @object: A #GkdExportedService.
1585 : * @invocation: A #GDBusMethodInvocation.
1586 : * @arg_algorithm: Argument passed by remote caller.
1587 : * @arg_input: Argument passed by remote caller.
1588 : *
1589 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.OpenSession">OpenSession()</link> D-Bus method.
1590 : *
1591 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_open_session() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1592 : *
1593 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1594 : */
1595 25 : g_signal_new ("handle-open-session",
1596 : G_TYPE_FROM_INTERFACE (iface),
1597 : G_SIGNAL_RUN_LAST,
1598 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_open_session),
1599 : g_signal_accumulator_true_handled,
1600 : NULL,
1601 : gkd_exported_service_method_marshal_open_session,
1602 : G_TYPE_BOOLEAN,
1603 : 3,
1604 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_VARIANT);
1605 :
1606 : /**
1607 : * GkdExportedService::handle-create-collection:
1608 : * @object: A #GkdExportedService.
1609 : * @invocation: A #GDBusMethodInvocation.
1610 : * @arg_properties: Argument passed by remote caller.
1611 : * @arg_alias: Argument passed by remote caller.
1612 : *
1613 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.CreateCollection">CreateCollection()</link> D-Bus method.
1614 : *
1615 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_create_collection() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1616 : *
1617 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1618 : */
1619 25 : g_signal_new ("handle-create-collection",
1620 : G_TYPE_FROM_INTERFACE (iface),
1621 : G_SIGNAL_RUN_LAST,
1622 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_create_collection),
1623 : g_signal_accumulator_true_handled,
1624 : NULL,
1625 : gkd_exported_service_method_marshal_create_collection,
1626 : G_TYPE_BOOLEAN,
1627 : 3,
1628 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_STRING);
1629 :
1630 : /**
1631 : * GkdExportedService::handle-search-items:
1632 : * @object: A #GkdExportedService.
1633 : * @invocation: A #GDBusMethodInvocation.
1634 : * @arg_attributes: Argument passed by remote caller.
1635 : *
1636 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SearchItems">SearchItems()</link> D-Bus method.
1637 : *
1638 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_search_items() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1639 : *
1640 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1641 : */
1642 25 : g_signal_new ("handle-search-items",
1643 : G_TYPE_FROM_INTERFACE (iface),
1644 : G_SIGNAL_RUN_LAST,
1645 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_search_items),
1646 : g_signal_accumulator_true_handled,
1647 : NULL,
1648 : gkd_exported_service_method_marshal_search_items,
1649 : G_TYPE_BOOLEAN,
1650 : 2,
1651 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT);
1652 :
1653 : /**
1654 : * GkdExportedService::handle-unlock:
1655 : * @object: A #GkdExportedService.
1656 : * @invocation: A #GDBusMethodInvocation.
1657 : * @arg_objects: Argument passed by remote caller.
1658 : *
1659 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Unlock">Unlock()</link> D-Bus method.
1660 : *
1661 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_unlock() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1662 : *
1663 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1664 : */
1665 25 : g_signal_new ("handle-unlock",
1666 : G_TYPE_FROM_INTERFACE (iface),
1667 : G_SIGNAL_RUN_LAST,
1668 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_unlock),
1669 : g_signal_accumulator_true_handled,
1670 : NULL,
1671 : gkd_exported_service_method_marshal_unlock,
1672 : G_TYPE_BOOLEAN,
1673 : 2,
1674 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRV);
1675 :
1676 : /**
1677 : * GkdExportedService::handle-lock:
1678 : * @object: A #GkdExportedService.
1679 : * @invocation: A #GDBusMethodInvocation.
1680 : * @arg_objects: Argument passed by remote caller.
1681 : *
1682 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Lock">Lock()</link> D-Bus method.
1683 : *
1684 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_lock() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1685 : *
1686 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1687 : */
1688 25 : g_signal_new ("handle-lock",
1689 : G_TYPE_FROM_INTERFACE (iface),
1690 : G_SIGNAL_RUN_LAST,
1691 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_lock),
1692 : g_signal_accumulator_true_handled,
1693 : NULL,
1694 : gkd_exported_service_method_marshal_lock,
1695 : G_TYPE_BOOLEAN,
1696 : 2,
1697 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRV);
1698 :
1699 : /**
1700 : * GkdExportedService::handle-lock-service:
1701 : * @object: A #GkdExportedService.
1702 : * @invocation: A #GDBusMethodInvocation.
1703 : *
1704 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.LockService">LockService()</link> D-Bus method.
1705 : *
1706 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_lock_service() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1707 : *
1708 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1709 : */
1710 25 : g_signal_new ("handle-lock-service",
1711 : G_TYPE_FROM_INTERFACE (iface),
1712 : G_SIGNAL_RUN_LAST,
1713 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_lock_service),
1714 : g_signal_accumulator_true_handled,
1715 : NULL,
1716 : gkd_exported_service_method_marshal_lock_service,
1717 : G_TYPE_BOOLEAN,
1718 : 1,
1719 : G_TYPE_DBUS_METHOD_INVOCATION);
1720 :
1721 : /**
1722 : * GkdExportedService::handle-change-lock:
1723 : * @object: A #GkdExportedService.
1724 : * @invocation: A #GDBusMethodInvocation.
1725 : * @arg_collection: Argument passed by remote caller.
1726 : *
1727 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ChangeLock">ChangeLock()</link> D-Bus method.
1728 : *
1729 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_change_lock() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1730 : *
1731 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1732 : */
1733 25 : g_signal_new ("handle-change-lock",
1734 : G_TYPE_FROM_INTERFACE (iface),
1735 : G_SIGNAL_RUN_LAST,
1736 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_change_lock),
1737 : g_signal_accumulator_true_handled,
1738 : NULL,
1739 : gkd_exported_service_method_marshal_change_lock,
1740 : G_TYPE_BOOLEAN,
1741 : 2,
1742 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
1743 :
1744 : /**
1745 : * GkdExportedService::handle-get-secrets:
1746 : * @object: A #GkdExportedService.
1747 : * @invocation: A #GDBusMethodInvocation.
1748 : * @arg_items: Argument passed by remote caller.
1749 : * @arg_session: Argument passed by remote caller.
1750 : *
1751 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.GetSecrets">GetSecrets()</link> D-Bus method.
1752 : *
1753 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_get_secrets() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1754 : *
1755 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1756 : */
1757 25 : g_signal_new ("handle-get-secrets",
1758 : G_TYPE_FROM_INTERFACE (iface),
1759 : G_SIGNAL_RUN_LAST,
1760 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_get_secrets),
1761 : g_signal_accumulator_true_handled,
1762 : NULL,
1763 : gkd_exported_service_method_marshal_get_secrets,
1764 : G_TYPE_BOOLEAN,
1765 : 3,
1766 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRV, G_TYPE_STRING);
1767 :
1768 : /**
1769 : * GkdExportedService::handle-read-alias:
1770 : * @object: A #GkdExportedService.
1771 : * @invocation: A #GDBusMethodInvocation.
1772 : * @arg_name: Argument passed by remote caller.
1773 : *
1774 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ReadAlias">ReadAlias()</link> D-Bus method.
1775 : *
1776 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_read_alias() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1777 : *
1778 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1779 : */
1780 25 : g_signal_new ("handle-read-alias",
1781 : G_TYPE_FROM_INTERFACE (iface),
1782 : G_SIGNAL_RUN_LAST,
1783 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_read_alias),
1784 : g_signal_accumulator_true_handled,
1785 : NULL,
1786 : gkd_exported_service_method_marshal_read_alias,
1787 : G_TYPE_BOOLEAN,
1788 : 2,
1789 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
1790 :
1791 : /**
1792 : * GkdExportedService::handle-set-alias:
1793 : * @object: A #GkdExportedService.
1794 : * @invocation: A #GDBusMethodInvocation.
1795 : * @arg_name: Argument passed by remote caller.
1796 : * @arg_collection: Argument passed by remote caller.
1797 : *
1798 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SetAlias">SetAlias()</link> D-Bus method.
1799 : *
1800 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_service_complete_set_alias() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
1801 : *
1802 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
1803 : */
1804 25 : g_signal_new ("handle-set-alias",
1805 : G_TYPE_FROM_INTERFACE (iface),
1806 : G_SIGNAL_RUN_LAST,
1807 : G_STRUCT_OFFSET (GkdExportedServiceIface, handle_set_alias),
1808 : g_signal_accumulator_true_handled,
1809 : NULL,
1810 : gkd_exported_service_method_marshal_set_alias,
1811 : G_TYPE_BOOLEAN,
1812 : 3,
1813 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING);
1814 :
1815 : /* GObject signals for received D-Bus signals: */
1816 : /**
1817 : * GkdExportedService::collection-created:
1818 : * @object: A #GkdExportedService.
1819 : * @arg_collection: Argument.
1820 : *
1821 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Service.CollectionCreated">"CollectionCreated"</link> is received.
1822 : *
1823 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
1824 : */
1825 25 : GKD__EXPORTED_SERVICE_SIGNALS[GKD__EXPORTED_SERVICE_COLLECTION_CREATED] =
1826 25 : g_signal_new ("collection-created",
1827 : G_TYPE_FROM_INTERFACE (iface),
1828 : G_SIGNAL_RUN_LAST,
1829 : G_STRUCT_OFFSET (GkdExportedServiceIface, collection_created),
1830 : NULL,
1831 : NULL,
1832 : gkd_exported_service_signal_marshal_collection_created,
1833 : G_TYPE_NONE,
1834 : 1, G_TYPE_STRING);
1835 :
1836 : /**
1837 : * GkdExportedService::collection-deleted:
1838 : * @object: A #GkdExportedService.
1839 : * @arg_collection: Argument.
1840 : *
1841 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Service.CollectionDeleted">"CollectionDeleted"</link> is received.
1842 : *
1843 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
1844 : */
1845 25 : GKD__EXPORTED_SERVICE_SIGNALS[GKD__EXPORTED_SERVICE_COLLECTION_DELETED] =
1846 25 : g_signal_new ("collection-deleted",
1847 : G_TYPE_FROM_INTERFACE (iface),
1848 : G_SIGNAL_RUN_LAST,
1849 : G_STRUCT_OFFSET (GkdExportedServiceIface, collection_deleted),
1850 : NULL,
1851 : NULL,
1852 : gkd_exported_service_signal_marshal_collection_deleted,
1853 : G_TYPE_NONE,
1854 : 1, G_TYPE_STRING);
1855 :
1856 : /**
1857 : * GkdExportedService::collection-changed:
1858 : * @object: A #GkdExportedService.
1859 : * @arg_collection: Argument.
1860 : *
1861 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Service.CollectionChanged">"CollectionChanged"</link> is received.
1862 : *
1863 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
1864 : */
1865 25 : GKD__EXPORTED_SERVICE_SIGNALS[GKD__EXPORTED_SERVICE_COLLECTION_CHANGED] =
1866 25 : g_signal_new ("collection-changed",
1867 : G_TYPE_FROM_INTERFACE (iface),
1868 : G_SIGNAL_RUN_LAST,
1869 : G_STRUCT_OFFSET (GkdExportedServiceIface, collection_changed),
1870 : NULL,
1871 : NULL,
1872 : gkd_exported_service_signal_marshal_collection_changed,
1873 : G_TYPE_NONE,
1874 : 1, G_TYPE_STRING);
1875 :
1876 : /* GObject properties for D-Bus properties: */
1877 : /**
1878 : * GkdExportedService:collections:
1879 : *
1880 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Service.Collections">"Collections"</link>.
1881 : *
1882 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
1883 : */
1884 25 : g_object_interface_install_property (iface,
1885 : g_param_spec_boxed ("collections", "Collections", "Collections", G_TYPE_STRV, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
1886 25 : }
1887 :
1888 : /**
1889 : * gkd_exported_service_get_collections: (skip)
1890 : * @object: A #GkdExportedService.
1891 : *
1892 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Service.Collections">"Collections"</link> D-Bus property.
1893 : *
1894 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1895 : *
1896 : * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gkd_exported_service_dup_collections() if on another thread.
1897 : *
1898 : * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1899 : */
1900 : const gchar *const *
1901 0 : gkd_exported_service_get_collections (GkdExportedService *object)
1902 : {
1903 0 : g_return_val_if_fail (GKD_IS_EXPORTED_SERVICE (object), NULL);
1904 :
1905 0 : return GKD_EXPORTED_SERVICE_GET_IFACE (object)->get_collections (object);
1906 : }
1907 :
1908 : /**
1909 : * gkd_exported_service_dup_collections: (skip)
1910 : * @object: A #GkdExportedService.
1911 : *
1912 : * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-Secret-Service.Collections">"Collections"</link> D-Bus property.
1913 : *
1914 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1915 : *
1916 : * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with g_strfreev().
1917 : */
1918 : gchar **
1919 0 : gkd_exported_service_dup_collections (GkdExportedService *object)
1920 : {
1921 : gchar **value;
1922 0 : g_object_get (G_OBJECT (object), "collections", &value, NULL);
1923 0 : return value;
1924 : }
1925 :
1926 : /**
1927 : * gkd_exported_service_set_collections: (skip)
1928 : * @object: A #GkdExportedService.
1929 : * @value: The value to set.
1930 : *
1931 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Service.Collections">"Collections"</link> D-Bus property to @value.
1932 : *
1933 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1934 : */
1935 : void
1936 3 : gkd_exported_service_set_collections (GkdExportedService *object, const gchar *const *value)
1937 : {
1938 3 : g_object_set (G_OBJECT (object), "collections", value, NULL);
1939 3 : }
1940 :
1941 : /**
1942 : * gkd_exported_service_emit_collection_created:
1943 : * @object: A #GkdExportedService.
1944 : * @arg_collection: Argument to pass with the signal.
1945 : *
1946 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Service.CollectionCreated">"CollectionCreated"</link> D-Bus signal.
1947 : */
1948 : void
1949 2 : gkd_exported_service_emit_collection_created (
1950 : GkdExportedService *object,
1951 : const gchar *arg_collection)
1952 : {
1953 2 : g_signal_emit (object, GKD__EXPORTED_SERVICE_SIGNALS[GKD__EXPORTED_SERVICE_COLLECTION_CREATED], 0, arg_collection);
1954 2 : }
1955 :
1956 : /**
1957 : * gkd_exported_service_emit_collection_deleted:
1958 : * @object: A #GkdExportedService.
1959 : * @arg_collection: Argument to pass with the signal.
1960 : *
1961 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Service.CollectionDeleted">"CollectionDeleted"</link> D-Bus signal.
1962 : */
1963 : void
1964 1 : gkd_exported_service_emit_collection_deleted (
1965 : GkdExportedService *object,
1966 : const gchar *arg_collection)
1967 : {
1968 1 : g_signal_emit (object, GKD__EXPORTED_SERVICE_SIGNALS[GKD__EXPORTED_SERVICE_COLLECTION_DELETED], 0, arg_collection);
1969 1 : }
1970 :
1971 : /**
1972 : * gkd_exported_service_emit_collection_changed:
1973 : * @object: A #GkdExportedService.
1974 : * @arg_collection: Argument to pass with the signal.
1975 : *
1976 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Service.CollectionChanged">"CollectionChanged"</link> D-Bus signal.
1977 : */
1978 : void
1979 21 : gkd_exported_service_emit_collection_changed (
1980 : GkdExportedService *object,
1981 : const gchar *arg_collection)
1982 : {
1983 21 : g_signal_emit (object, GKD__EXPORTED_SERVICE_SIGNALS[GKD__EXPORTED_SERVICE_COLLECTION_CHANGED], 0, arg_collection);
1984 21 : }
1985 :
1986 : /**
1987 : * gkd_exported_service_call_open_session:
1988 : * @proxy: A #GkdExportedServiceProxy.
1989 : * @arg_algorithm: Argument to pass with the method invocation.
1990 : * @arg_input: Argument to pass with the method invocation.
1991 : * @cancellable: (nullable): A #GCancellable or %NULL.
1992 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
1993 : * @user_data: User data to pass to @callback.
1994 : *
1995 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.OpenSession">OpenSession()</link> D-Bus method on @proxy.
1996 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
1997 : * You can then call gkd_exported_service_call_open_session_finish() to get the result of the operation.
1998 : *
1999 : * See gkd_exported_service_call_open_session_sync() for the synchronous, blocking version of this method.
2000 : */
2001 : void
2002 0 : gkd_exported_service_call_open_session (
2003 : GkdExportedService *proxy,
2004 : const gchar *arg_algorithm,
2005 : GVariant *arg_input,
2006 : GCancellable *cancellable,
2007 : GAsyncReadyCallback callback,
2008 : gpointer user_data)
2009 : {
2010 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2011 : "OpenSession",
2012 : g_variant_new ("(s@v)",
2013 : arg_algorithm,
2014 : arg_input),
2015 : G_DBUS_CALL_FLAGS_NONE,
2016 : -1,
2017 : cancellable,
2018 : callback,
2019 : user_data);
2020 0 : }
2021 :
2022 : /**
2023 : * gkd_exported_service_call_open_session_finish:
2024 : * @proxy: A #GkdExportedServiceProxy.
2025 : * @out_output: (out) (optional): Return location for return parameter or %NULL to ignore.
2026 : * @out_result: (out) (optional): Return location for return parameter or %NULL to ignore.
2027 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_open_session().
2028 : * @error: Return location for error or %NULL.
2029 : *
2030 : * Finishes an operation started with gkd_exported_service_call_open_session().
2031 : *
2032 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2033 : */
2034 : gboolean
2035 0 : gkd_exported_service_call_open_session_finish (
2036 : GkdExportedService *proxy,
2037 : GVariant **out_output,
2038 : gchar **out_result,
2039 : GAsyncResult *res,
2040 : GError **error)
2041 : {
2042 : GVariant *_ret;
2043 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2044 0 : if (_ret == NULL)
2045 0 : goto _out;
2046 0 : g_variant_get (_ret,
2047 : "(@vo)",
2048 : out_output,
2049 : out_result);
2050 0 : g_variant_unref (_ret);
2051 0 : _out:
2052 0 : return _ret != NULL;
2053 : }
2054 :
2055 : /**
2056 : * gkd_exported_service_call_open_session_sync:
2057 : * @proxy: A #GkdExportedServiceProxy.
2058 : * @arg_algorithm: Argument to pass with the method invocation.
2059 : * @arg_input: Argument to pass with the method invocation.
2060 : * @out_output: (out) (optional): Return location for return parameter or %NULL to ignore.
2061 : * @out_result: (out) (optional): Return location for return parameter or %NULL to ignore.
2062 : * @cancellable: (nullable): A #GCancellable or %NULL.
2063 : * @error: Return location for error or %NULL.
2064 : *
2065 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.OpenSession">OpenSession()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2066 : *
2067 : * See gkd_exported_service_call_open_session() for the asynchronous version of this method.
2068 : *
2069 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2070 : */
2071 : gboolean
2072 0 : gkd_exported_service_call_open_session_sync (
2073 : GkdExportedService *proxy,
2074 : const gchar *arg_algorithm,
2075 : GVariant *arg_input,
2076 : GVariant **out_output,
2077 : gchar **out_result,
2078 : GCancellable *cancellable,
2079 : GError **error)
2080 : {
2081 : GVariant *_ret;
2082 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2083 : "OpenSession",
2084 : g_variant_new ("(s@v)",
2085 : arg_algorithm,
2086 : arg_input),
2087 : G_DBUS_CALL_FLAGS_NONE,
2088 : -1,
2089 : cancellable,
2090 : error);
2091 0 : if (_ret == NULL)
2092 0 : goto _out;
2093 0 : g_variant_get (_ret,
2094 : "(@vo)",
2095 : out_output,
2096 : out_result);
2097 0 : g_variant_unref (_ret);
2098 0 : _out:
2099 0 : return _ret != NULL;
2100 : }
2101 :
2102 : /**
2103 : * gkd_exported_service_call_create_collection:
2104 : * @proxy: A #GkdExportedServiceProxy.
2105 : * @arg_properties: Argument to pass with the method invocation.
2106 : * @arg_alias: Argument to pass with the method invocation.
2107 : * @cancellable: (nullable): A #GCancellable or %NULL.
2108 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2109 : * @user_data: User data to pass to @callback.
2110 : *
2111 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.CreateCollection">CreateCollection()</link> D-Bus method on @proxy.
2112 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2113 : * You can then call gkd_exported_service_call_create_collection_finish() to get the result of the operation.
2114 : *
2115 : * See gkd_exported_service_call_create_collection_sync() for the synchronous, blocking version of this method.
2116 : */
2117 : void
2118 0 : gkd_exported_service_call_create_collection (
2119 : GkdExportedService *proxy,
2120 : GVariant *arg_properties,
2121 : const gchar *arg_alias,
2122 : GCancellable *cancellable,
2123 : GAsyncReadyCallback callback,
2124 : gpointer user_data)
2125 : {
2126 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2127 : "CreateCollection",
2128 : g_variant_new ("(@a{sv}s)",
2129 : arg_properties,
2130 : arg_alias),
2131 : G_DBUS_CALL_FLAGS_NONE,
2132 : -1,
2133 : cancellable,
2134 : callback,
2135 : user_data);
2136 0 : }
2137 :
2138 : /**
2139 : * gkd_exported_service_call_create_collection_finish:
2140 : * @proxy: A #GkdExportedServiceProxy.
2141 : * @out_collection: (out) (optional): Return location for return parameter or %NULL to ignore.
2142 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2143 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_create_collection().
2144 : * @error: Return location for error or %NULL.
2145 : *
2146 : * Finishes an operation started with gkd_exported_service_call_create_collection().
2147 : *
2148 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2149 : */
2150 : gboolean
2151 0 : gkd_exported_service_call_create_collection_finish (
2152 : GkdExportedService *proxy,
2153 : gchar **out_collection,
2154 : gchar **out_prompt,
2155 : GAsyncResult *res,
2156 : GError **error)
2157 : {
2158 : GVariant *_ret;
2159 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2160 0 : if (_ret == NULL)
2161 0 : goto _out;
2162 0 : g_variant_get (_ret,
2163 : "(oo)",
2164 : out_collection,
2165 : out_prompt);
2166 0 : g_variant_unref (_ret);
2167 0 : _out:
2168 0 : return _ret != NULL;
2169 : }
2170 :
2171 : /**
2172 : * gkd_exported_service_call_create_collection_sync:
2173 : * @proxy: A #GkdExportedServiceProxy.
2174 : * @arg_properties: Argument to pass with the method invocation.
2175 : * @arg_alias: Argument to pass with the method invocation.
2176 : * @out_collection: (out) (optional): Return location for return parameter or %NULL to ignore.
2177 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2178 : * @cancellable: (nullable): A #GCancellable or %NULL.
2179 : * @error: Return location for error or %NULL.
2180 : *
2181 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.CreateCollection">CreateCollection()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2182 : *
2183 : * See gkd_exported_service_call_create_collection() for the asynchronous version of this method.
2184 : *
2185 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2186 : */
2187 : gboolean
2188 0 : gkd_exported_service_call_create_collection_sync (
2189 : GkdExportedService *proxy,
2190 : GVariant *arg_properties,
2191 : const gchar *arg_alias,
2192 : gchar **out_collection,
2193 : gchar **out_prompt,
2194 : GCancellable *cancellable,
2195 : GError **error)
2196 : {
2197 : GVariant *_ret;
2198 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2199 : "CreateCollection",
2200 : g_variant_new ("(@a{sv}s)",
2201 : arg_properties,
2202 : arg_alias),
2203 : G_DBUS_CALL_FLAGS_NONE,
2204 : -1,
2205 : cancellable,
2206 : error);
2207 0 : if (_ret == NULL)
2208 0 : goto _out;
2209 0 : g_variant_get (_ret,
2210 : "(oo)",
2211 : out_collection,
2212 : out_prompt);
2213 0 : g_variant_unref (_ret);
2214 0 : _out:
2215 0 : return _ret != NULL;
2216 : }
2217 :
2218 : /**
2219 : * gkd_exported_service_call_search_items:
2220 : * @proxy: A #GkdExportedServiceProxy.
2221 : * @arg_attributes: Argument to pass with the method invocation.
2222 : * @cancellable: (nullable): A #GCancellable or %NULL.
2223 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2224 : * @user_data: User data to pass to @callback.
2225 : *
2226 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SearchItems">SearchItems()</link> D-Bus method on @proxy.
2227 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2228 : * You can then call gkd_exported_service_call_search_items_finish() to get the result of the operation.
2229 : *
2230 : * See gkd_exported_service_call_search_items_sync() for the synchronous, blocking version of this method.
2231 : */
2232 : void
2233 0 : gkd_exported_service_call_search_items (
2234 : GkdExportedService *proxy,
2235 : GVariant *arg_attributes,
2236 : GCancellable *cancellable,
2237 : GAsyncReadyCallback callback,
2238 : gpointer user_data)
2239 : {
2240 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2241 : "SearchItems",
2242 : g_variant_new ("(@a{ss})",
2243 : arg_attributes),
2244 : G_DBUS_CALL_FLAGS_NONE,
2245 : -1,
2246 : cancellable,
2247 : callback,
2248 : user_data);
2249 0 : }
2250 :
2251 : /**
2252 : * gkd_exported_service_call_search_items_finish:
2253 : * @proxy: A #GkdExportedServiceProxy.
2254 : * @out_unlocked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2255 : * @out_locked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2256 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_search_items().
2257 : * @error: Return location for error or %NULL.
2258 : *
2259 : * Finishes an operation started with gkd_exported_service_call_search_items().
2260 : *
2261 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2262 : */
2263 : gboolean
2264 0 : gkd_exported_service_call_search_items_finish (
2265 : GkdExportedService *proxy,
2266 : gchar ***out_unlocked,
2267 : gchar ***out_locked,
2268 : GAsyncResult *res,
2269 : GError **error)
2270 : {
2271 : GVariant *_ret;
2272 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2273 0 : if (_ret == NULL)
2274 0 : goto _out;
2275 0 : g_variant_get (_ret,
2276 : "(^ao^ao)",
2277 : out_unlocked,
2278 : out_locked);
2279 0 : g_variant_unref (_ret);
2280 0 : _out:
2281 0 : return _ret != NULL;
2282 : }
2283 :
2284 : /**
2285 : * gkd_exported_service_call_search_items_sync:
2286 : * @proxy: A #GkdExportedServiceProxy.
2287 : * @arg_attributes: Argument to pass with the method invocation.
2288 : * @out_unlocked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2289 : * @out_locked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2290 : * @cancellable: (nullable): A #GCancellable or %NULL.
2291 : * @error: Return location for error or %NULL.
2292 : *
2293 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SearchItems">SearchItems()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2294 : *
2295 : * See gkd_exported_service_call_search_items() for the asynchronous version of this method.
2296 : *
2297 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2298 : */
2299 : gboolean
2300 0 : gkd_exported_service_call_search_items_sync (
2301 : GkdExportedService *proxy,
2302 : GVariant *arg_attributes,
2303 : gchar ***out_unlocked,
2304 : gchar ***out_locked,
2305 : GCancellable *cancellable,
2306 : GError **error)
2307 : {
2308 : GVariant *_ret;
2309 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2310 : "SearchItems",
2311 : g_variant_new ("(@a{ss})",
2312 : arg_attributes),
2313 : G_DBUS_CALL_FLAGS_NONE,
2314 : -1,
2315 : cancellable,
2316 : error);
2317 0 : if (_ret == NULL)
2318 0 : goto _out;
2319 0 : g_variant_get (_ret,
2320 : "(^ao^ao)",
2321 : out_unlocked,
2322 : out_locked);
2323 0 : g_variant_unref (_ret);
2324 0 : _out:
2325 0 : return _ret != NULL;
2326 : }
2327 :
2328 : /**
2329 : * gkd_exported_service_call_unlock:
2330 : * @proxy: A #GkdExportedServiceProxy.
2331 : * @arg_objects: Argument to pass with the method invocation.
2332 : * @cancellable: (nullable): A #GCancellable or %NULL.
2333 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2334 : * @user_data: User data to pass to @callback.
2335 : *
2336 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Unlock">Unlock()</link> D-Bus method on @proxy.
2337 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2338 : * You can then call gkd_exported_service_call_unlock_finish() to get the result of the operation.
2339 : *
2340 : * See gkd_exported_service_call_unlock_sync() for the synchronous, blocking version of this method.
2341 : */
2342 : void
2343 0 : gkd_exported_service_call_unlock (
2344 : GkdExportedService *proxy,
2345 : const gchar *const *arg_objects,
2346 : GCancellable *cancellable,
2347 : GAsyncReadyCallback callback,
2348 : gpointer user_data)
2349 : {
2350 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2351 : "Unlock",
2352 : g_variant_new ("(^ao)",
2353 : arg_objects),
2354 : G_DBUS_CALL_FLAGS_NONE,
2355 : -1,
2356 : cancellable,
2357 : callback,
2358 : user_data);
2359 0 : }
2360 :
2361 : /**
2362 : * gkd_exported_service_call_unlock_finish:
2363 : * @proxy: A #GkdExportedServiceProxy.
2364 : * @out_unlocked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2365 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2366 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_unlock().
2367 : * @error: Return location for error or %NULL.
2368 : *
2369 : * Finishes an operation started with gkd_exported_service_call_unlock().
2370 : *
2371 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2372 : */
2373 : gboolean
2374 0 : gkd_exported_service_call_unlock_finish (
2375 : GkdExportedService *proxy,
2376 : gchar ***out_unlocked,
2377 : gchar **out_prompt,
2378 : GAsyncResult *res,
2379 : GError **error)
2380 : {
2381 : GVariant *_ret;
2382 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2383 0 : if (_ret == NULL)
2384 0 : goto _out;
2385 0 : g_variant_get (_ret,
2386 : "(^aoo)",
2387 : out_unlocked,
2388 : out_prompt);
2389 0 : g_variant_unref (_ret);
2390 0 : _out:
2391 0 : return _ret != NULL;
2392 : }
2393 :
2394 : /**
2395 : * gkd_exported_service_call_unlock_sync:
2396 : * @proxy: A #GkdExportedServiceProxy.
2397 : * @arg_objects: Argument to pass with the method invocation.
2398 : * @out_unlocked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2399 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2400 : * @cancellable: (nullable): A #GCancellable or %NULL.
2401 : * @error: Return location for error or %NULL.
2402 : *
2403 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Unlock">Unlock()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2404 : *
2405 : * See gkd_exported_service_call_unlock() for the asynchronous version of this method.
2406 : *
2407 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2408 : */
2409 : gboolean
2410 0 : gkd_exported_service_call_unlock_sync (
2411 : GkdExportedService *proxy,
2412 : const gchar *const *arg_objects,
2413 : gchar ***out_unlocked,
2414 : gchar **out_prompt,
2415 : GCancellable *cancellable,
2416 : GError **error)
2417 : {
2418 : GVariant *_ret;
2419 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2420 : "Unlock",
2421 : g_variant_new ("(^ao)",
2422 : arg_objects),
2423 : G_DBUS_CALL_FLAGS_NONE,
2424 : -1,
2425 : cancellable,
2426 : error);
2427 0 : if (_ret == NULL)
2428 0 : goto _out;
2429 0 : g_variant_get (_ret,
2430 : "(^aoo)",
2431 : out_unlocked,
2432 : out_prompt);
2433 0 : g_variant_unref (_ret);
2434 0 : _out:
2435 0 : return _ret != NULL;
2436 : }
2437 :
2438 : /**
2439 : * gkd_exported_service_call_lock:
2440 : * @proxy: A #GkdExportedServiceProxy.
2441 : * @arg_objects: Argument to pass with the method invocation.
2442 : * @cancellable: (nullable): A #GCancellable or %NULL.
2443 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2444 : * @user_data: User data to pass to @callback.
2445 : *
2446 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Lock">Lock()</link> D-Bus method on @proxy.
2447 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2448 : * You can then call gkd_exported_service_call_lock_finish() to get the result of the operation.
2449 : *
2450 : * See gkd_exported_service_call_lock_sync() for the synchronous, blocking version of this method.
2451 : */
2452 : void
2453 0 : gkd_exported_service_call_lock (
2454 : GkdExportedService *proxy,
2455 : const gchar *const *arg_objects,
2456 : GCancellable *cancellable,
2457 : GAsyncReadyCallback callback,
2458 : gpointer user_data)
2459 : {
2460 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2461 : "Lock",
2462 : g_variant_new ("(^ao)",
2463 : arg_objects),
2464 : G_DBUS_CALL_FLAGS_NONE,
2465 : -1,
2466 : cancellable,
2467 : callback,
2468 : user_data);
2469 0 : }
2470 :
2471 : /**
2472 : * gkd_exported_service_call_lock_finish:
2473 : * @proxy: A #GkdExportedServiceProxy.
2474 : * @out_locked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2475 : * @out_Prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2476 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_lock().
2477 : * @error: Return location for error or %NULL.
2478 : *
2479 : * Finishes an operation started with gkd_exported_service_call_lock().
2480 : *
2481 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2482 : */
2483 : gboolean
2484 0 : gkd_exported_service_call_lock_finish (
2485 : GkdExportedService *proxy,
2486 : gchar ***out_locked,
2487 : gchar **out_Prompt,
2488 : GAsyncResult *res,
2489 : GError **error)
2490 : {
2491 : GVariant *_ret;
2492 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2493 0 : if (_ret == NULL)
2494 0 : goto _out;
2495 0 : g_variant_get (_ret,
2496 : "(^aoo)",
2497 : out_locked,
2498 : out_Prompt);
2499 0 : g_variant_unref (_ret);
2500 0 : _out:
2501 0 : return _ret != NULL;
2502 : }
2503 :
2504 : /**
2505 : * gkd_exported_service_call_lock_sync:
2506 : * @proxy: A #GkdExportedServiceProxy.
2507 : * @arg_objects: Argument to pass with the method invocation.
2508 : * @out_locked: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
2509 : * @out_Prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2510 : * @cancellable: (nullable): A #GCancellable or %NULL.
2511 : * @error: Return location for error or %NULL.
2512 : *
2513 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Lock">Lock()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2514 : *
2515 : * See gkd_exported_service_call_lock() for the asynchronous version of this method.
2516 : *
2517 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2518 : */
2519 : gboolean
2520 0 : gkd_exported_service_call_lock_sync (
2521 : GkdExportedService *proxy,
2522 : const gchar *const *arg_objects,
2523 : gchar ***out_locked,
2524 : gchar **out_Prompt,
2525 : GCancellable *cancellable,
2526 : GError **error)
2527 : {
2528 : GVariant *_ret;
2529 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2530 : "Lock",
2531 : g_variant_new ("(^ao)",
2532 : arg_objects),
2533 : G_DBUS_CALL_FLAGS_NONE,
2534 : -1,
2535 : cancellable,
2536 : error);
2537 0 : if (_ret == NULL)
2538 0 : goto _out;
2539 0 : g_variant_get (_ret,
2540 : "(^aoo)",
2541 : out_locked,
2542 : out_Prompt);
2543 0 : g_variant_unref (_ret);
2544 0 : _out:
2545 0 : return _ret != NULL;
2546 : }
2547 :
2548 : /**
2549 : * gkd_exported_service_call_lock_service:
2550 : * @proxy: A #GkdExportedServiceProxy.
2551 : * @cancellable: (nullable): A #GCancellable or %NULL.
2552 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2553 : * @user_data: User data to pass to @callback.
2554 : *
2555 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.LockService">LockService()</link> D-Bus method on @proxy.
2556 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2557 : * You can then call gkd_exported_service_call_lock_service_finish() to get the result of the operation.
2558 : *
2559 : * See gkd_exported_service_call_lock_service_sync() for the synchronous, blocking version of this method.
2560 : */
2561 : void
2562 0 : gkd_exported_service_call_lock_service (
2563 : GkdExportedService *proxy,
2564 : GCancellable *cancellable,
2565 : GAsyncReadyCallback callback,
2566 : gpointer user_data)
2567 : {
2568 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2569 : "LockService",
2570 : g_variant_new ("()"),
2571 : G_DBUS_CALL_FLAGS_NONE,
2572 : -1,
2573 : cancellable,
2574 : callback,
2575 : user_data);
2576 0 : }
2577 :
2578 : /**
2579 : * gkd_exported_service_call_lock_service_finish:
2580 : * @proxy: A #GkdExportedServiceProxy.
2581 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_lock_service().
2582 : * @error: Return location for error or %NULL.
2583 : *
2584 : * Finishes an operation started with gkd_exported_service_call_lock_service().
2585 : *
2586 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2587 : */
2588 : gboolean
2589 0 : gkd_exported_service_call_lock_service_finish (
2590 : GkdExportedService *proxy,
2591 : GAsyncResult *res,
2592 : GError **error)
2593 : {
2594 : GVariant *_ret;
2595 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2596 0 : if (_ret == NULL)
2597 0 : goto _out;
2598 0 : g_variant_get (_ret,
2599 : "()");
2600 0 : g_variant_unref (_ret);
2601 0 : _out:
2602 0 : return _ret != NULL;
2603 : }
2604 :
2605 : /**
2606 : * gkd_exported_service_call_lock_service_sync:
2607 : * @proxy: A #GkdExportedServiceProxy.
2608 : * @cancellable: (nullable): A #GCancellable or %NULL.
2609 : * @error: Return location for error or %NULL.
2610 : *
2611 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.LockService">LockService()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2612 : *
2613 : * See gkd_exported_service_call_lock_service() for the asynchronous version of this method.
2614 : *
2615 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2616 : */
2617 : gboolean
2618 0 : gkd_exported_service_call_lock_service_sync (
2619 : GkdExportedService *proxy,
2620 : GCancellable *cancellable,
2621 : GError **error)
2622 : {
2623 : GVariant *_ret;
2624 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2625 : "LockService",
2626 : g_variant_new ("()"),
2627 : G_DBUS_CALL_FLAGS_NONE,
2628 : -1,
2629 : cancellable,
2630 : error);
2631 0 : if (_ret == NULL)
2632 0 : goto _out;
2633 0 : g_variant_get (_ret,
2634 : "()");
2635 0 : g_variant_unref (_ret);
2636 0 : _out:
2637 0 : return _ret != NULL;
2638 : }
2639 :
2640 : /**
2641 : * gkd_exported_service_call_change_lock:
2642 : * @proxy: A #GkdExportedServiceProxy.
2643 : * @arg_collection: Argument to pass with the method invocation.
2644 : * @cancellable: (nullable): A #GCancellable or %NULL.
2645 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2646 : * @user_data: User data to pass to @callback.
2647 : *
2648 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ChangeLock">ChangeLock()</link> D-Bus method on @proxy.
2649 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2650 : * You can then call gkd_exported_service_call_change_lock_finish() to get the result of the operation.
2651 : *
2652 : * See gkd_exported_service_call_change_lock_sync() for the synchronous, blocking version of this method.
2653 : */
2654 : void
2655 0 : gkd_exported_service_call_change_lock (
2656 : GkdExportedService *proxy,
2657 : const gchar *arg_collection,
2658 : GCancellable *cancellable,
2659 : GAsyncReadyCallback callback,
2660 : gpointer user_data)
2661 : {
2662 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2663 : "ChangeLock",
2664 : g_variant_new ("(o)",
2665 : arg_collection),
2666 : G_DBUS_CALL_FLAGS_NONE,
2667 : -1,
2668 : cancellable,
2669 : callback,
2670 : user_data);
2671 0 : }
2672 :
2673 : /**
2674 : * gkd_exported_service_call_change_lock_finish:
2675 : * @proxy: A #GkdExportedServiceProxy.
2676 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2677 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_change_lock().
2678 : * @error: Return location for error or %NULL.
2679 : *
2680 : * Finishes an operation started with gkd_exported_service_call_change_lock().
2681 : *
2682 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2683 : */
2684 : gboolean
2685 0 : gkd_exported_service_call_change_lock_finish (
2686 : GkdExportedService *proxy,
2687 : gchar **out_prompt,
2688 : GAsyncResult *res,
2689 : GError **error)
2690 : {
2691 : GVariant *_ret;
2692 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2693 0 : if (_ret == NULL)
2694 0 : goto _out;
2695 0 : g_variant_get (_ret,
2696 : "(o)",
2697 : out_prompt);
2698 0 : g_variant_unref (_ret);
2699 0 : _out:
2700 0 : return _ret != NULL;
2701 : }
2702 :
2703 : /**
2704 : * gkd_exported_service_call_change_lock_sync:
2705 : * @proxy: A #GkdExportedServiceProxy.
2706 : * @arg_collection: Argument to pass with the method invocation.
2707 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
2708 : * @cancellable: (nullable): A #GCancellable or %NULL.
2709 : * @error: Return location for error or %NULL.
2710 : *
2711 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ChangeLock">ChangeLock()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2712 : *
2713 : * See gkd_exported_service_call_change_lock() for the asynchronous version of this method.
2714 : *
2715 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2716 : */
2717 : gboolean
2718 0 : gkd_exported_service_call_change_lock_sync (
2719 : GkdExportedService *proxy,
2720 : const gchar *arg_collection,
2721 : gchar **out_prompt,
2722 : GCancellable *cancellable,
2723 : GError **error)
2724 : {
2725 : GVariant *_ret;
2726 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2727 : "ChangeLock",
2728 : g_variant_new ("(o)",
2729 : arg_collection),
2730 : G_DBUS_CALL_FLAGS_NONE,
2731 : -1,
2732 : cancellable,
2733 : error);
2734 0 : if (_ret == NULL)
2735 0 : goto _out;
2736 0 : g_variant_get (_ret,
2737 : "(o)",
2738 : out_prompt);
2739 0 : g_variant_unref (_ret);
2740 0 : _out:
2741 0 : return _ret != NULL;
2742 : }
2743 :
2744 : /**
2745 : * gkd_exported_service_call_get_secrets:
2746 : * @proxy: A #GkdExportedServiceProxy.
2747 : * @arg_items: Argument to pass with the method invocation.
2748 : * @arg_session: Argument to pass with the method invocation.
2749 : * @cancellable: (nullable): A #GCancellable or %NULL.
2750 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2751 : * @user_data: User data to pass to @callback.
2752 : *
2753 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.GetSecrets">GetSecrets()</link> D-Bus method on @proxy.
2754 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2755 : * You can then call gkd_exported_service_call_get_secrets_finish() to get the result of the operation.
2756 : *
2757 : * See gkd_exported_service_call_get_secrets_sync() for the synchronous, blocking version of this method.
2758 : */
2759 : void
2760 0 : gkd_exported_service_call_get_secrets (
2761 : GkdExportedService *proxy,
2762 : const gchar *const *arg_items,
2763 : const gchar *arg_session,
2764 : GCancellable *cancellable,
2765 : GAsyncReadyCallback callback,
2766 : gpointer user_data)
2767 : {
2768 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2769 : "GetSecrets",
2770 : g_variant_new ("(^aoo)",
2771 : arg_items,
2772 : arg_session),
2773 : G_DBUS_CALL_FLAGS_NONE,
2774 : -1,
2775 : cancellable,
2776 : callback,
2777 : user_data);
2778 0 : }
2779 :
2780 : /**
2781 : * gkd_exported_service_call_get_secrets_finish:
2782 : * @proxy: A #GkdExportedServiceProxy.
2783 : * @out_secrets: (out) (optional): Return location for return parameter or %NULL to ignore.
2784 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_get_secrets().
2785 : * @error: Return location for error or %NULL.
2786 : *
2787 : * Finishes an operation started with gkd_exported_service_call_get_secrets().
2788 : *
2789 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2790 : */
2791 : gboolean
2792 0 : gkd_exported_service_call_get_secrets_finish (
2793 : GkdExportedService *proxy,
2794 : GVariant **out_secrets,
2795 : GAsyncResult *res,
2796 : GError **error)
2797 : {
2798 : GVariant *_ret;
2799 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2800 0 : if (_ret == NULL)
2801 0 : goto _out;
2802 0 : g_variant_get (_ret,
2803 : "(@a{o(oayays)})",
2804 : out_secrets);
2805 0 : g_variant_unref (_ret);
2806 0 : _out:
2807 0 : return _ret != NULL;
2808 : }
2809 :
2810 : /**
2811 : * gkd_exported_service_call_get_secrets_sync:
2812 : * @proxy: A #GkdExportedServiceProxy.
2813 : * @arg_items: Argument to pass with the method invocation.
2814 : * @arg_session: Argument to pass with the method invocation.
2815 : * @out_secrets: (out) (optional): Return location for return parameter or %NULL to ignore.
2816 : * @cancellable: (nullable): A #GCancellable or %NULL.
2817 : * @error: Return location for error or %NULL.
2818 : *
2819 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.GetSecrets">GetSecrets()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2820 : *
2821 : * See gkd_exported_service_call_get_secrets() for the asynchronous version of this method.
2822 : *
2823 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2824 : */
2825 : gboolean
2826 0 : gkd_exported_service_call_get_secrets_sync (
2827 : GkdExportedService *proxy,
2828 : const gchar *const *arg_items,
2829 : const gchar *arg_session,
2830 : GVariant **out_secrets,
2831 : GCancellable *cancellable,
2832 : GError **error)
2833 : {
2834 : GVariant *_ret;
2835 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2836 : "GetSecrets",
2837 : g_variant_new ("(^aoo)",
2838 : arg_items,
2839 : arg_session),
2840 : G_DBUS_CALL_FLAGS_NONE,
2841 : -1,
2842 : cancellable,
2843 : error);
2844 0 : if (_ret == NULL)
2845 0 : goto _out;
2846 0 : g_variant_get (_ret,
2847 : "(@a{o(oayays)})",
2848 : out_secrets);
2849 0 : g_variant_unref (_ret);
2850 0 : _out:
2851 0 : return _ret != NULL;
2852 : }
2853 :
2854 : /**
2855 : * gkd_exported_service_call_read_alias:
2856 : * @proxy: A #GkdExportedServiceProxy.
2857 : * @arg_name: Argument to pass with the method invocation.
2858 : * @cancellable: (nullable): A #GCancellable or %NULL.
2859 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2860 : * @user_data: User data to pass to @callback.
2861 : *
2862 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ReadAlias">ReadAlias()</link> D-Bus method on @proxy.
2863 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2864 : * You can then call gkd_exported_service_call_read_alias_finish() to get the result of the operation.
2865 : *
2866 : * See gkd_exported_service_call_read_alias_sync() for the synchronous, blocking version of this method.
2867 : */
2868 : void
2869 0 : gkd_exported_service_call_read_alias (
2870 : GkdExportedService *proxy,
2871 : const gchar *arg_name,
2872 : GCancellable *cancellable,
2873 : GAsyncReadyCallback callback,
2874 : gpointer user_data)
2875 : {
2876 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2877 : "ReadAlias",
2878 : g_variant_new ("(s)",
2879 : arg_name),
2880 : G_DBUS_CALL_FLAGS_NONE,
2881 : -1,
2882 : cancellable,
2883 : callback,
2884 : user_data);
2885 0 : }
2886 :
2887 : /**
2888 : * gkd_exported_service_call_read_alias_finish:
2889 : * @proxy: A #GkdExportedServiceProxy.
2890 : * @out_collection: (out) (optional): Return location for return parameter or %NULL to ignore.
2891 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_read_alias().
2892 : * @error: Return location for error or %NULL.
2893 : *
2894 : * Finishes an operation started with gkd_exported_service_call_read_alias().
2895 : *
2896 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2897 : */
2898 : gboolean
2899 0 : gkd_exported_service_call_read_alias_finish (
2900 : GkdExportedService *proxy,
2901 : gchar **out_collection,
2902 : GAsyncResult *res,
2903 : GError **error)
2904 : {
2905 : GVariant *_ret;
2906 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
2907 0 : if (_ret == NULL)
2908 0 : goto _out;
2909 0 : g_variant_get (_ret,
2910 : "(o)",
2911 : out_collection);
2912 0 : g_variant_unref (_ret);
2913 0 : _out:
2914 0 : return _ret != NULL;
2915 : }
2916 :
2917 : /**
2918 : * gkd_exported_service_call_read_alias_sync:
2919 : * @proxy: A #GkdExportedServiceProxy.
2920 : * @arg_name: Argument to pass with the method invocation.
2921 : * @out_collection: (out) (optional): Return location for return parameter or %NULL to ignore.
2922 : * @cancellable: (nullable): A #GCancellable or %NULL.
2923 : * @error: Return location for error or %NULL.
2924 : *
2925 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ReadAlias">ReadAlias()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
2926 : *
2927 : * See gkd_exported_service_call_read_alias() for the asynchronous version of this method.
2928 : *
2929 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
2930 : */
2931 : gboolean
2932 0 : gkd_exported_service_call_read_alias_sync (
2933 : GkdExportedService *proxy,
2934 : const gchar *arg_name,
2935 : gchar **out_collection,
2936 : GCancellable *cancellable,
2937 : GError **error)
2938 : {
2939 : GVariant *_ret;
2940 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
2941 : "ReadAlias",
2942 : g_variant_new ("(s)",
2943 : arg_name),
2944 : G_DBUS_CALL_FLAGS_NONE,
2945 : -1,
2946 : cancellable,
2947 : error);
2948 0 : if (_ret == NULL)
2949 0 : goto _out;
2950 0 : g_variant_get (_ret,
2951 : "(o)",
2952 : out_collection);
2953 0 : g_variant_unref (_ret);
2954 0 : _out:
2955 0 : return _ret != NULL;
2956 : }
2957 :
2958 : /**
2959 : * gkd_exported_service_call_set_alias:
2960 : * @proxy: A #GkdExportedServiceProxy.
2961 : * @arg_name: Argument to pass with the method invocation.
2962 : * @arg_collection: Argument to pass with the method invocation.
2963 : * @cancellable: (nullable): A #GCancellable or %NULL.
2964 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
2965 : * @user_data: User data to pass to @callback.
2966 : *
2967 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SetAlias">SetAlias()</link> D-Bus method on @proxy.
2968 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
2969 : * You can then call gkd_exported_service_call_set_alias_finish() to get the result of the operation.
2970 : *
2971 : * See gkd_exported_service_call_set_alias_sync() for the synchronous, blocking version of this method.
2972 : */
2973 : void
2974 0 : gkd_exported_service_call_set_alias (
2975 : GkdExportedService *proxy,
2976 : const gchar *arg_name,
2977 : const gchar *arg_collection,
2978 : GCancellable *cancellable,
2979 : GAsyncReadyCallback callback,
2980 : gpointer user_data)
2981 : {
2982 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
2983 : "SetAlias",
2984 : g_variant_new ("(so)",
2985 : arg_name,
2986 : arg_collection),
2987 : G_DBUS_CALL_FLAGS_NONE,
2988 : -1,
2989 : cancellable,
2990 : callback,
2991 : user_data);
2992 0 : }
2993 :
2994 : /**
2995 : * gkd_exported_service_call_set_alias_finish:
2996 : * @proxy: A #GkdExportedServiceProxy.
2997 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_call_set_alias().
2998 : * @error: Return location for error or %NULL.
2999 : *
3000 : * Finishes an operation started with gkd_exported_service_call_set_alias().
3001 : *
3002 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
3003 : */
3004 : gboolean
3005 0 : gkd_exported_service_call_set_alias_finish (
3006 : GkdExportedService *proxy,
3007 : GAsyncResult *res,
3008 : GError **error)
3009 : {
3010 : GVariant *_ret;
3011 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
3012 0 : if (_ret == NULL)
3013 0 : goto _out;
3014 0 : g_variant_get (_ret,
3015 : "()");
3016 0 : g_variant_unref (_ret);
3017 0 : _out:
3018 0 : return _ret != NULL;
3019 : }
3020 :
3021 : /**
3022 : * gkd_exported_service_call_set_alias_sync:
3023 : * @proxy: A #GkdExportedServiceProxy.
3024 : * @arg_name: Argument to pass with the method invocation.
3025 : * @arg_collection: Argument to pass with the method invocation.
3026 : * @cancellable: (nullable): A #GCancellable or %NULL.
3027 : * @error: Return location for error or %NULL.
3028 : *
3029 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SetAlias">SetAlias()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
3030 : *
3031 : * See gkd_exported_service_call_set_alias() for the asynchronous version of this method.
3032 : *
3033 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
3034 : */
3035 : gboolean
3036 0 : gkd_exported_service_call_set_alias_sync (
3037 : GkdExportedService *proxy,
3038 : const gchar *arg_name,
3039 : const gchar *arg_collection,
3040 : GCancellable *cancellable,
3041 : GError **error)
3042 : {
3043 : GVariant *_ret;
3044 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
3045 : "SetAlias",
3046 : g_variant_new ("(so)",
3047 : arg_name,
3048 : arg_collection),
3049 : G_DBUS_CALL_FLAGS_NONE,
3050 : -1,
3051 : cancellable,
3052 : error);
3053 0 : if (_ret == NULL)
3054 0 : goto _out;
3055 0 : g_variant_get (_ret,
3056 : "()");
3057 0 : g_variant_unref (_ret);
3058 0 : _out:
3059 0 : return _ret != NULL;
3060 : }
3061 :
3062 : /**
3063 : * gkd_exported_service_complete_open_session:
3064 : * @object: A #GkdExportedService.
3065 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3066 : * @output: Parameter to return.
3067 : * @result: Parameter to return.
3068 : *
3069 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.OpenSession">OpenSession()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3070 : *
3071 : * This method will free @invocation, you cannot use it afterwards.
3072 : */
3073 : void
3074 16 : gkd_exported_service_complete_open_session (
3075 : GkdExportedService *object G_GNUC_UNUSED,
3076 : GDBusMethodInvocation *invocation,
3077 : GVariant *output,
3078 : const gchar *result)
3079 : {
3080 16 : g_dbus_method_invocation_return_value (invocation,
3081 : g_variant_new ("(@vo)",
3082 : output,
3083 : result));
3084 16 : }
3085 :
3086 : /**
3087 : * gkd_exported_service_complete_create_collection:
3088 : * @object: A #GkdExportedService.
3089 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3090 : * @collection: Parameter to return.
3091 : * @prompt: Parameter to return.
3092 : *
3093 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.CreateCollection">CreateCollection()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3094 : *
3095 : * This method will free @invocation, you cannot use it afterwards.
3096 : */
3097 : void
3098 1 : gkd_exported_service_complete_create_collection (
3099 : GkdExportedService *object G_GNUC_UNUSED,
3100 : GDBusMethodInvocation *invocation,
3101 : const gchar *collection,
3102 : const gchar *prompt)
3103 : {
3104 1 : g_dbus_method_invocation_return_value (invocation,
3105 : g_variant_new ("(oo)",
3106 : collection,
3107 : prompt));
3108 1 : }
3109 :
3110 : /**
3111 : * gkd_exported_service_complete_search_items:
3112 : * @object: A #GkdExportedService.
3113 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3114 : * @unlocked: Parameter to return.
3115 : * @locked: Parameter to return.
3116 : *
3117 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SearchItems">SearchItems()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3118 : *
3119 : * This method will free @invocation, you cannot use it afterwards.
3120 : */
3121 : void
3122 0 : gkd_exported_service_complete_search_items (
3123 : GkdExportedService *object G_GNUC_UNUSED,
3124 : GDBusMethodInvocation *invocation,
3125 : const gchar *const *unlocked,
3126 : const gchar *const *locked)
3127 : {
3128 0 : g_dbus_method_invocation_return_value (invocation,
3129 : g_variant_new ("(^ao^ao)",
3130 : unlocked,
3131 : locked));
3132 0 : }
3133 :
3134 : /**
3135 : * gkd_exported_service_complete_unlock:
3136 : * @object: A #GkdExportedService.
3137 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3138 : * @unlocked: Parameter to return.
3139 : * @prompt: Parameter to return.
3140 : *
3141 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Unlock">Unlock()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3142 : *
3143 : * This method will free @invocation, you cannot use it afterwards.
3144 : */
3145 : void
3146 1 : gkd_exported_service_complete_unlock (
3147 : GkdExportedService *object G_GNUC_UNUSED,
3148 : GDBusMethodInvocation *invocation,
3149 : const gchar *const *unlocked,
3150 : const gchar *prompt)
3151 : {
3152 1 : g_dbus_method_invocation_return_value (invocation,
3153 : g_variant_new ("(^aoo)",
3154 : unlocked,
3155 : prompt));
3156 1 : }
3157 :
3158 : /**
3159 : * gkd_exported_service_complete_lock:
3160 : * @object: A #GkdExportedService.
3161 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3162 : * @locked: Parameter to return.
3163 : * @Prompt: Parameter to return.
3164 : *
3165 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.Lock">Lock()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3166 : *
3167 : * This method will free @invocation, you cannot use it afterwards.
3168 : */
3169 : void
3170 4 : gkd_exported_service_complete_lock (
3171 : GkdExportedService *object G_GNUC_UNUSED,
3172 : GDBusMethodInvocation *invocation,
3173 : const gchar *const *locked,
3174 : const gchar *Prompt)
3175 : {
3176 4 : g_dbus_method_invocation_return_value (invocation,
3177 : g_variant_new ("(^aoo)",
3178 : locked,
3179 : Prompt));
3180 4 : }
3181 :
3182 : /**
3183 : * gkd_exported_service_complete_lock_service:
3184 : * @object: A #GkdExportedService.
3185 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3186 : *
3187 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.LockService">LockService()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3188 : *
3189 : * This method will free @invocation, you cannot use it afterwards.
3190 : */
3191 : void
3192 1 : gkd_exported_service_complete_lock_service (
3193 : GkdExportedService *object G_GNUC_UNUSED,
3194 : GDBusMethodInvocation *invocation)
3195 : {
3196 1 : g_dbus_method_invocation_return_value (invocation,
3197 : g_variant_new ("()"));
3198 1 : }
3199 :
3200 : /**
3201 : * gkd_exported_service_complete_change_lock:
3202 : * @object: A #GkdExportedService.
3203 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3204 : * @prompt: Parameter to return.
3205 : *
3206 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ChangeLock">ChangeLock()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3207 : *
3208 : * This method will free @invocation, you cannot use it afterwards.
3209 : */
3210 : void
3211 0 : gkd_exported_service_complete_change_lock (
3212 : GkdExportedService *object G_GNUC_UNUSED,
3213 : GDBusMethodInvocation *invocation,
3214 : const gchar *prompt)
3215 : {
3216 0 : g_dbus_method_invocation_return_value (invocation,
3217 : g_variant_new ("(o)",
3218 : prompt));
3219 0 : }
3220 :
3221 : /**
3222 : * gkd_exported_service_complete_get_secrets:
3223 : * @object: A #GkdExportedService.
3224 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3225 : * @secrets: Parameter to return.
3226 : *
3227 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.GetSecrets">GetSecrets()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3228 : *
3229 : * This method will free @invocation, you cannot use it afterwards.
3230 : */
3231 : void
3232 0 : gkd_exported_service_complete_get_secrets (
3233 : GkdExportedService *object G_GNUC_UNUSED,
3234 : GDBusMethodInvocation *invocation,
3235 : GVariant *secrets)
3236 : {
3237 0 : g_dbus_method_invocation_return_value (invocation,
3238 : g_variant_new ("(@a{o(oayays)})",
3239 : secrets));
3240 0 : }
3241 :
3242 : /**
3243 : * gkd_exported_service_complete_read_alias:
3244 : * @object: A #GkdExportedService.
3245 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3246 : * @collection: Parameter to return.
3247 : *
3248 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.ReadAlias">ReadAlias()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3249 : *
3250 : * This method will free @invocation, you cannot use it afterwards.
3251 : */
3252 : void
3253 0 : gkd_exported_service_complete_read_alias (
3254 : GkdExportedService *object G_GNUC_UNUSED,
3255 : GDBusMethodInvocation *invocation,
3256 : const gchar *collection)
3257 : {
3258 0 : g_dbus_method_invocation_return_value (invocation,
3259 : g_variant_new ("(o)",
3260 : collection));
3261 0 : }
3262 :
3263 : /**
3264 : * gkd_exported_service_complete_set_alias:
3265 : * @object: A #GkdExportedService.
3266 : * @invocation: (transfer full): A #GDBusMethodInvocation.
3267 : *
3268 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Service.SetAlias">SetAlias()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
3269 : *
3270 : * This method will free @invocation, you cannot use it afterwards.
3271 : */
3272 : void
3273 0 : gkd_exported_service_complete_set_alias (
3274 : GkdExportedService *object G_GNUC_UNUSED,
3275 : GDBusMethodInvocation *invocation)
3276 : {
3277 0 : g_dbus_method_invocation_return_value (invocation,
3278 : g_variant_new ("()"));
3279 0 : }
3280 :
3281 : /* ------------------------------------------------------------------------ */
3282 :
3283 : /**
3284 : * GkdExportedServiceProxy:
3285 : *
3286 : * The #GkdExportedServiceProxy structure contains only private data and should only be accessed using the provided API.
3287 : */
3288 :
3289 : /**
3290 : * GkdExportedServiceProxyClass:
3291 : * @parent_class: The parent class.
3292 : *
3293 : * Class structure for #GkdExportedServiceProxy.
3294 : */
3295 :
3296 : struct _GkdExportedServiceProxyPrivate
3297 : {
3298 : GData *qdata;
3299 : };
3300 :
3301 : static void gkd_exported_service_proxy_iface_init (GkdExportedServiceIface *iface);
3302 :
3303 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
3304 0 : G_DEFINE_TYPE_WITH_CODE (GkdExportedServiceProxy, gkd_exported_service_proxy, G_TYPE_DBUS_PROXY,
3305 : G_ADD_PRIVATE (GkdExportedServiceProxy)
3306 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SERVICE, gkd_exported_service_proxy_iface_init))
3307 :
3308 : #else
3309 : G_DEFINE_TYPE_WITH_CODE (GkdExportedServiceProxy, gkd_exported_service_proxy, G_TYPE_DBUS_PROXY,
3310 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SERVICE, gkd_exported_service_proxy_iface_init))
3311 :
3312 : #endif
3313 : static void
3314 0 : gkd_exported_service_proxy_finalize (GObject *object)
3315 : {
3316 0 : GkdExportedServiceProxy *proxy = GKD_EXPORTED_SERVICE_PROXY (object);
3317 0 : g_datalist_clear (&proxy->priv->qdata);
3318 0 : G_OBJECT_CLASS (gkd_exported_service_proxy_parent_class)->finalize (object);
3319 0 : }
3320 :
3321 : static void
3322 0 : gkd_exported_service_proxy_get_property (GObject *object,
3323 : guint prop_id,
3324 : GValue *value,
3325 : GParamSpec *pspec G_GNUC_UNUSED)
3326 : {
3327 : const _ExtendedGDBusPropertyInfo *info;
3328 : GVariant *variant;
3329 0 : g_assert (prop_id != 0 && prop_id - 1 < 1);
3330 0 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_service_property_info_pointers[prop_id - 1];
3331 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);
3332 0 : if (info->use_gvariant)
3333 : {
3334 0 : g_value_set_variant (value, variant);
3335 : }
3336 : else
3337 : {
3338 0 : if (variant != NULL)
3339 0 : g_dbus_gvariant_to_gvalue (variant, value);
3340 : }
3341 0 : if (variant != NULL)
3342 0 : g_variant_unref (variant);
3343 0 : }
3344 :
3345 : static void
3346 0 : gkd_exported_service_proxy_set_property_cb (GDBusProxy *proxy,
3347 : GAsyncResult *res,
3348 : gpointer user_data)
3349 : {
3350 0 : const _ExtendedGDBusPropertyInfo *info = user_data;
3351 : GError *error;
3352 : GVariant *_ret;
3353 0 : error = NULL;
3354 0 : _ret = g_dbus_proxy_call_finish (proxy, res, &error);
3355 0 : if (!_ret)
3356 : {
3357 0 : g_warning ("Error setting property '%s' on interface org.freedesktop.Secret.Service: %s (%s, %d)",
3358 : info->parent_struct.name,
3359 : error->message, g_quark_to_string (error->domain), error->code);
3360 0 : g_error_free (error);
3361 : }
3362 : else
3363 : {
3364 0 : g_variant_unref (_ret);
3365 : }
3366 0 : }
3367 :
3368 : static void
3369 0 : gkd_exported_service_proxy_set_property (GObject *object,
3370 : guint prop_id,
3371 : const GValue *value,
3372 : GParamSpec *pspec G_GNUC_UNUSED)
3373 : {
3374 : const _ExtendedGDBusPropertyInfo *info;
3375 : GVariant *variant;
3376 0 : g_assert (prop_id != 0 && prop_id - 1 < 1);
3377 0 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_service_property_info_pointers[prop_id - 1];
3378 0 : variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));
3379 0 : g_dbus_proxy_call (G_DBUS_PROXY (object),
3380 : "org.freedesktop.DBus.Properties.Set",
3381 0 : g_variant_new ("(ssv)", "org.freedesktop.Secret.Service", info->parent_struct.name, variant),
3382 : G_DBUS_CALL_FLAGS_NONE,
3383 : -1,
3384 0 : NULL, (GAsyncReadyCallback) gkd_exported_service_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct);
3385 0 : g_variant_unref (variant);
3386 0 : }
3387 :
3388 : static void
3389 0 : gkd_exported_service_proxy_g_signal (GDBusProxy *proxy,
3390 : const gchar *sender_name G_GNUC_UNUSED,
3391 : const gchar *signal_name,
3392 : GVariant *parameters)
3393 : {
3394 : _ExtendedGDBusSignalInfo *info;
3395 : GVariantIter iter;
3396 : GVariant *child;
3397 : GValue *paramv;
3398 : gsize num_params;
3399 : gsize n;
3400 : guint signal_id;
3401 0 : info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gkd_exported_service_interface_info.parent_struct, signal_name);
3402 0 : if (info == NULL)
3403 0 : return;
3404 0 : num_params = g_variant_n_children (parameters);
3405 0 : paramv = g_new0 (GValue, num_params + 1);
3406 0 : g_value_init (¶mv[0], GKD_TYPE_EXPORTED_SERVICE);
3407 0 : g_value_set_object (¶mv[0], proxy);
3408 0 : g_variant_iter_init (&iter, parameters);
3409 0 : n = 1;
3410 0 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
3411 : {
3412 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
3413 0 : if (arg_info->use_gvariant)
3414 : {
3415 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
3416 0 : g_value_set_variant (¶mv[n], child);
3417 0 : n++;
3418 : }
3419 : else
3420 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
3421 0 : g_variant_unref (child);
3422 : }
3423 0 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_SERVICE);
3424 0 : g_signal_emitv (paramv, signal_id, 0, NULL);
3425 0 : for (n = 0; n < num_params + 1; n++)
3426 0 : g_value_unset (¶mv[n]);
3427 0 : g_free (paramv);
3428 : }
3429 :
3430 : static void
3431 0 : gkd_exported_service_proxy_g_properties_changed (GDBusProxy *_proxy,
3432 : GVariant *changed_properties,
3433 : const gchar *const *invalidated_properties)
3434 : {
3435 0 : GkdExportedServiceProxy *proxy = GKD_EXPORTED_SERVICE_PROXY (_proxy);
3436 : guint n;
3437 : const gchar *key;
3438 : GVariantIter *iter;
3439 : _ExtendedGDBusPropertyInfo *info;
3440 0 : g_variant_get (changed_properties, "a{sv}", &iter);
3441 0 : while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
3442 : {
3443 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_service_interface_info.parent_struct, key);
3444 0 : g_datalist_remove_data (&proxy->priv->qdata, key);
3445 0 : if (info != NULL)
3446 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
3447 : }
3448 0 : g_variant_iter_free (iter);
3449 0 : for (n = 0; invalidated_properties[n] != NULL; n++)
3450 : {
3451 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_service_interface_info.parent_struct, invalidated_properties[n]);
3452 0 : g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
3453 0 : if (info != NULL)
3454 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
3455 : }
3456 0 : }
3457 :
3458 : static const gchar *const *
3459 0 : gkd_exported_service_proxy_get_collections (GkdExportedService *object)
3460 : {
3461 0 : GkdExportedServiceProxy *proxy = GKD_EXPORTED_SERVICE_PROXY (object);
3462 : GVariant *variant;
3463 0 : const gchar *const *value = NULL;
3464 0 : value = g_datalist_get_data (&proxy->priv->qdata, "Collections");
3465 0 : if (value != NULL)
3466 0 : return value;
3467 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Collections");
3468 0 : if (variant != NULL)
3469 : {
3470 0 : value = g_variant_get_objv (variant, NULL);
3471 0 : g_datalist_set_data_full (&proxy->priv->qdata, "Collections", (gpointer) value, g_free);
3472 0 : g_variant_unref (variant);
3473 : }
3474 0 : return value;
3475 : }
3476 :
3477 : static void
3478 0 : gkd_exported_service_proxy_init (GkdExportedServiceProxy *proxy)
3479 : {
3480 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
3481 0 : proxy->priv = gkd_exported_service_proxy_get_instance_private (proxy);
3482 : #else
3483 : proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GKD_TYPE_EXPORTED_SERVICE_PROXY, GkdExportedServiceProxyPrivate);
3484 : #endif
3485 :
3486 0 : g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gkd_exported_service_interface_info ());
3487 0 : }
3488 :
3489 : static void
3490 0 : gkd_exported_service_proxy_class_init (GkdExportedServiceProxyClass *klass)
3491 : {
3492 : GObjectClass *gobject_class;
3493 : GDBusProxyClass *proxy_class;
3494 :
3495 0 : gobject_class = G_OBJECT_CLASS (klass);
3496 0 : gobject_class->finalize = gkd_exported_service_proxy_finalize;
3497 0 : gobject_class->get_property = gkd_exported_service_proxy_get_property;
3498 0 : gobject_class->set_property = gkd_exported_service_proxy_set_property;
3499 :
3500 0 : proxy_class = G_DBUS_PROXY_CLASS (klass);
3501 0 : proxy_class->g_signal = gkd_exported_service_proxy_g_signal;
3502 0 : proxy_class->g_properties_changed = gkd_exported_service_proxy_g_properties_changed;
3503 :
3504 0 : gkd_exported_service_override_properties (gobject_class, 1);
3505 :
3506 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
3507 : g_type_class_add_private (klass, sizeof (GkdExportedServiceProxyPrivate));
3508 : #endif
3509 0 : }
3510 :
3511 : static void
3512 0 : gkd_exported_service_proxy_iface_init (GkdExportedServiceIface *iface)
3513 : {
3514 0 : iface->get_collections = gkd_exported_service_proxy_get_collections;
3515 0 : }
3516 :
3517 : /**
3518 : * gkd_exported_service_proxy_new:
3519 : * @connection: A #GDBusConnection.
3520 : * @flags: Flags from the #GDBusProxyFlags enumeration.
3521 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
3522 : * @object_path: An object path.
3523 : * @cancellable: (nullable): A #GCancellable or %NULL.
3524 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
3525 : * @user_data: User data to pass to @callback.
3526 : *
3527 : * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link>. See g_dbus_proxy_new() for more details.
3528 : *
3529 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
3530 : * You can then call gkd_exported_service_proxy_new_finish() to get the result of the operation.
3531 : *
3532 : * See gkd_exported_service_proxy_new_sync() for the synchronous, blocking version of this constructor.
3533 : */
3534 : void
3535 0 : gkd_exported_service_proxy_new (
3536 : GDBusConnection *connection,
3537 : GDBusProxyFlags flags,
3538 : const gchar *name,
3539 : const gchar *object_path,
3540 : GCancellable *cancellable,
3541 : GAsyncReadyCallback callback,
3542 : gpointer user_data)
3543 : {
3544 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_SERVICE_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Service", NULL);
3545 0 : }
3546 :
3547 : /**
3548 : * gkd_exported_service_proxy_new_finish:
3549 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_proxy_new().
3550 : * @error: Return location for error or %NULL
3551 : *
3552 : * Finishes an operation started with gkd_exported_service_proxy_new().
3553 : *
3554 : * Returns: (transfer full) (type GkdExportedServiceProxy): The constructed proxy object or %NULL if @error is set.
3555 : */
3556 : GkdExportedService *
3557 0 : gkd_exported_service_proxy_new_finish (
3558 : GAsyncResult *res,
3559 : GError **error)
3560 : {
3561 : GObject *ret;
3562 : GObject *source_object;
3563 0 : source_object = g_async_result_get_source_object (res);
3564 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
3565 0 : g_object_unref (source_object);
3566 0 : if (ret != NULL)
3567 0 : return GKD_EXPORTED_SERVICE (ret);
3568 : else
3569 0 : return NULL;
3570 : }
3571 :
3572 : /**
3573 : * gkd_exported_service_proxy_new_sync:
3574 : * @connection: A #GDBusConnection.
3575 : * @flags: Flags from the #GDBusProxyFlags enumeration.
3576 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
3577 : * @object_path: An object path.
3578 : * @cancellable: (nullable): A #GCancellable or %NULL.
3579 : * @error: Return location for error or %NULL
3580 : *
3581 : * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link>. See g_dbus_proxy_new_sync() for more details.
3582 : *
3583 : * The calling thread is blocked until a reply is received.
3584 : *
3585 : * See gkd_exported_service_proxy_new() for the asynchronous version of this constructor.
3586 : *
3587 : * Returns: (transfer full) (type GkdExportedServiceProxy): The constructed proxy object or %NULL if @error is set.
3588 : */
3589 : GkdExportedService *
3590 0 : gkd_exported_service_proxy_new_sync (
3591 : GDBusConnection *connection,
3592 : GDBusProxyFlags flags,
3593 : const gchar *name,
3594 : const gchar *object_path,
3595 : GCancellable *cancellable,
3596 : GError **error)
3597 : {
3598 : GInitable *ret;
3599 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_SERVICE_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Service", NULL);
3600 0 : if (ret != NULL)
3601 0 : return GKD_EXPORTED_SERVICE (ret);
3602 : else
3603 0 : return NULL;
3604 : }
3605 :
3606 :
3607 : /**
3608 : * gkd_exported_service_proxy_new_for_bus:
3609 : * @bus_type: A #GBusType.
3610 : * @flags: Flags from the #GDBusProxyFlags enumeration.
3611 : * @name: A bus name (well-known or unique).
3612 : * @object_path: An object path.
3613 : * @cancellable: (nullable): A #GCancellable or %NULL.
3614 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
3615 : * @user_data: User data to pass to @callback.
3616 : *
3617 : * Like gkd_exported_service_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
3618 : *
3619 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
3620 : * You can then call gkd_exported_service_proxy_new_for_bus_finish() to get the result of the operation.
3621 : *
3622 : * See gkd_exported_service_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
3623 : */
3624 : void
3625 0 : gkd_exported_service_proxy_new_for_bus (
3626 : GBusType bus_type,
3627 : GDBusProxyFlags flags,
3628 : const gchar *name,
3629 : const gchar *object_path,
3630 : GCancellable *cancellable,
3631 : GAsyncReadyCallback callback,
3632 : gpointer user_data)
3633 : {
3634 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_SERVICE_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Service", NULL);
3635 0 : }
3636 :
3637 : /**
3638 : * gkd_exported_service_proxy_new_for_bus_finish:
3639 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_service_proxy_new_for_bus().
3640 : * @error: Return location for error or %NULL
3641 : *
3642 : * Finishes an operation started with gkd_exported_service_proxy_new_for_bus().
3643 : *
3644 : * Returns: (transfer full) (type GkdExportedServiceProxy): The constructed proxy object or %NULL if @error is set.
3645 : */
3646 : GkdExportedService *
3647 0 : gkd_exported_service_proxy_new_for_bus_finish (
3648 : GAsyncResult *res,
3649 : GError **error)
3650 : {
3651 : GObject *ret;
3652 : GObject *source_object;
3653 0 : source_object = g_async_result_get_source_object (res);
3654 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
3655 0 : g_object_unref (source_object);
3656 0 : if (ret != NULL)
3657 0 : return GKD_EXPORTED_SERVICE (ret);
3658 : else
3659 0 : return NULL;
3660 : }
3661 :
3662 : /**
3663 : * gkd_exported_service_proxy_new_for_bus_sync:
3664 : * @bus_type: A #GBusType.
3665 : * @flags: Flags from the #GDBusProxyFlags enumeration.
3666 : * @name: A bus name (well-known or unique).
3667 : * @object_path: An object path.
3668 : * @cancellable: (nullable): A #GCancellable or %NULL.
3669 : * @error: Return location for error or %NULL
3670 : *
3671 : * Like gkd_exported_service_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
3672 : *
3673 : * The calling thread is blocked until a reply is received.
3674 : *
3675 : * See gkd_exported_service_proxy_new_for_bus() for the asynchronous version of this constructor.
3676 : *
3677 : * Returns: (transfer full) (type GkdExportedServiceProxy): The constructed proxy object or %NULL if @error is set.
3678 : */
3679 : GkdExportedService *
3680 0 : gkd_exported_service_proxy_new_for_bus_sync (
3681 : GBusType bus_type,
3682 : GDBusProxyFlags flags,
3683 : const gchar *name,
3684 : const gchar *object_path,
3685 : GCancellable *cancellable,
3686 : GError **error)
3687 : {
3688 : GInitable *ret;
3689 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_SERVICE_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Service", NULL);
3690 0 : if (ret != NULL)
3691 0 : return GKD_EXPORTED_SERVICE (ret);
3692 : else
3693 0 : return NULL;
3694 : }
3695 :
3696 :
3697 : /* ------------------------------------------------------------------------ */
3698 :
3699 : /**
3700 : * GkdExportedServiceSkeleton:
3701 : *
3702 : * The #GkdExportedServiceSkeleton structure contains only private data and should only be accessed using the provided API.
3703 : */
3704 :
3705 : /**
3706 : * GkdExportedServiceSkeletonClass:
3707 : * @parent_class: The parent class.
3708 : *
3709 : * Class structure for #GkdExportedServiceSkeleton.
3710 : */
3711 :
3712 : struct _GkdExportedServiceSkeletonPrivate
3713 : {
3714 : GValue *properties;
3715 : GList *changed_properties;
3716 : GSource *changed_properties_idle_source;
3717 : GMainContext *context;
3718 : GMutex lock;
3719 : };
3720 :
3721 : static void
3722 24 : _gkd_exported_service_skeleton_handle_method_call (
3723 : GDBusConnection *connection G_GNUC_UNUSED,
3724 : const gchar *sender G_GNUC_UNUSED,
3725 : const gchar *object_path G_GNUC_UNUSED,
3726 : const gchar *interface_name,
3727 : const gchar *method_name,
3728 : GVariant *parameters,
3729 : GDBusMethodInvocation *invocation,
3730 : gpointer user_data)
3731 : {
3732 24 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (user_data);
3733 : _ExtendedGDBusMethodInfo *info;
3734 : GVariantIter iter;
3735 : GVariant *child;
3736 : GValue *paramv;
3737 : gsize num_params;
3738 : guint num_extra;
3739 : gsize n;
3740 : guint signal_id;
3741 24 : GValue return_value = G_VALUE_INIT;
3742 24 : info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
3743 24 : g_assert (info != NULL);
3744 24 : num_params = g_variant_n_children (parameters);
3745 24 : num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
3746 24 : n = 0;
3747 24 : g_value_init (¶mv[n], GKD_TYPE_EXPORTED_SERVICE);
3748 24 : g_value_set_object (¶mv[n++], skeleton);
3749 24 : g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
3750 24 : g_value_set_object (¶mv[n++], invocation);
3751 24 : if (info->pass_fdlist)
3752 : {
3753 : #ifdef G_OS_UNIX
3754 0 : g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
3755 0 : g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
3756 : #else
3757 : g_assert_not_reached ();
3758 : #endif
3759 : }
3760 24 : g_variant_iter_init (&iter, parameters);
3761 64 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
3762 : {
3763 40 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
3764 40 : if (arg_info->use_gvariant)
3765 : {
3766 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
3767 0 : g_value_set_variant (¶mv[n], child);
3768 0 : n++;
3769 : }
3770 : else
3771 40 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
3772 40 : g_variant_unref (child);
3773 : }
3774 24 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_SERVICE);
3775 24 : g_value_init (&return_value, G_TYPE_BOOLEAN);
3776 24 : g_signal_emitv (paramv, signal_id, 0, &return_value);
3777 24 : if (!g_value_get_boolean (&return_value))
3778 0 : g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
3779 24 : g_value_unset (&return_value);
3780 112 : for (n = 0; n < num_params + num_extra; n++)
3781 88 : g_value_unset (¶mv[n]);
3782 24 : g_free (paramv);
3783 24 : }
3784 :
3785 : static GVariant *
3786 0 : _gkd_exported_service_skeleton_handle_get_property (
3787 : GDBusConnection *connection G_GNUC_UNUSED,
3788 : const gchar *sender G_GNUC_UNUSED,
3789 : const gchar *object_path G_GNUC_UNUSED,
3790 : const gchar *interface_name G_GNUC_UNUSED,
3791 : const gchar *property_name,
3792 : GError **error,
3793 : gpointer user_data)
3794 : {
3795 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (user_data);
3796 0 : GValue value = G_VALUE_INIT;
3797 : GParamSpec *pspec;
3798 : _ExtendedGDBusPropertyInfo *info;
3799 : GVariant *ret;
3800 0 : ret = NULL;
3801 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_service_interface_info.parent_struct, property_name);
3802 0 : g_assert (info != NULL);
3803 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
3804 0 : if (pspec == NULL)
3805 : {
3806 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
3807 : }
3808 : else
3809 : {
3810 0 : g_value_init (&value, pspec->value_type);
3811 0 : g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
3812 0 : ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
3813 0 : g_value_unset (&value);
3814 : }
3815 0 : return ret;
3816 : }
3817 :
3818 : static gboolean
3819 0 : _gkd_exported_service_skeleton_handle_set_property (
3820 : GDBusConnection *connection G_GNUC_UNUSED,
3821 : const gchar *sender G_GNUC_UNUSED,
3822 : const gchar *object_path G_GNUC_UNUSED,
3823 : const gchar *interface_name G_GNUC_UNUSED,
3824 : const gchar *property_name,
3825 : GVariant *variant,
3826 : GError **error,
3827 : gpointer user_data)
3828 : {
3829 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (user_data);
3830 0 : GValue value = G_VALUE_INIT;
3831 : GParamSpec *pspec;
3832 : _ExtendedGDBusPropertyInfo *info;
3833 : gboolean ret;
3834 0 : ret = FALSE;
3835 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_service_interface_info.parent_struct, property_name);
3836 0 : g_assert (info != NULL);
3837 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
3838 0 : if (pspec == NULL)
3839 : {
3840 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
3841 : }
3842 : else
3843 : {
3844 0 : if (info->use_gvariant)
3845 0 : g_value_set_variant (&value, variant);
3846 : else
3847 0 : g_dbus_gvariant_to_gvalue (variant, &value);
3848 0 : g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
3849 0 : g_value_unset (&value);
3850 0 : ret = TRUE;
3851 : }
3852 0 : return ret;
3853 : }
3854 :
3855 : static const GDBusInterfaceVTable _gkd_exported_service_skeleton_vtable =
3856 : {
3857 : _gkd_exported_service_skeleton_handle_method_call,
3858 : _gkd_exported_service_skeleton_handle_get_property,
3859 : _gkd_exported_service_skeleton_handle_set_property,
3860 : {NULL}
3861 : };
3862 :
3863 : static GDBusInterfaceInfo *
3864 25 : gkd_exported_service_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
3865 : {
3866 25 : return gkd_exported_service_interface_info ();
3867 : }
3868 :
3869 : static GDBusInterfaceVTable *
3870 49 : gkd_exported_service_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
3871 : {
3872 49 : return (GDBusInterfaceVTable *) &_gkd_exported_service_skeleton_vtable;
3873 : }
3874 :
3875 : static GVariant *
3876 0 : gkd_exported_service_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
3877 : {
3878 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (_skeleton);
3879 :
3880 : GVariantBuilder builder;
3881 : guint n;
3882 0 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
3883 0 : if (_gkd_exported_service_interface_info.parent_struct.properties == NULL)
3884 0 : goto out;
3885 0 : for (n = 0; _gkd_exported_service_interface_info.parent_struct.properties[n] != NULL; n++)
3886 : {
3887 0 : GDBusPropertyInfo *info = _gkd_exported_service_interface_info.parent_struct.properties[n];
3888 0 : if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
3889 : {
3890 : GVariant *value;
3891 0 : value = _gkd_exported_service_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Service", info->name, NULL, skeleton);
3892 0 : if (value != NULL)
3893 : {
3894 0 : g_variant_take_ref (value);
3895 0 : g_variant_builder_add (&builder, "{sv}", info->name, value);
3896 0 : g_variant_unref (value);
3897 : }
3898 : }
3899 : }
3900 0 : out:
3901 0 : return g_variant_builder_end (&builder);
3902 : }
3903 :
3904 : static gboolean _gkd_exported_service_emit_changed (gpointer user_data);
3905 :
3906 : static void
3907 0 : gkd_exported_service_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
3908 : {
3909 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (_skeleton);
3910 0 : gboolean emit_changed = FALSE;
3911 :
3912 0 : g_mutex_lock (&skeleton->priv->lock);
3913 0 : if (skeleton->priv->changed_properties_idle_source != NULL)
3914 : {
3915 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
3916 0 : skeleton->priv->changed_properties_idle_source = NULL;
3917 0 : emit_changed = TRUE;
3918 : }
3919 0 : g_mutex_unlock (&skeleton->priv->lock);
3920 :
3921 0 : if (emit_changed)
3922 0 : _gkd_exported_service_emit_changed (skeleton);
3923 0 : }
3924 :
3925 : static void
3926 2 : _gkd_exported_service_on_signal_collection_created (
3927 : GkdExportedService *object,
3928 : const gchar *arg_collection)
3929 : {
3930 2 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
3931 :
3932 : GList *connections, *l;
3933 : GVariant *signal_variant;
3934 2 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
3935 :
3936 2 : signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
3937 : arg_collection));
3938 4 : for (l = connections; l != NULL; l = l->next)
3939 : {
3940 2 : GDBusConnection *connection = l->data;
3941 2 : g_dbus_connection_emit_signal (connection,
3942 2 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Service", "CollectionCreated",
3943 : signal_variant, NULL);
3944 : }
3945 2 : g_variant_unref (signal_variant);
3946 2 : g_list_free_full (connections, g_object_unref);
3947 2 : }
3948 :
3949 : static void
3950 1 : _gkd_exported_service_on_signal_collection_deleted (
3951 : GkdExportedService *object,
3952 : const gchar *arg_collection)
3953 : {
3954 1 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
3955 :
3956 : GList *connections, *l;
3957 : GVariant *signal_variant;
3958 1 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
3959 :
3960 1 : signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
3961 : arg_collection));
3962 2 : for (l = connections; l != NULL; l = l->next)
3963 : {
3964 1 : GDBusConnection *connection = l->data;
3965 1 : g_dbus_connection_emit_signal (connection,
3966 1 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Service", "CollectionDeleted",
3967 : signal_variant, NULL);
3968 : }
3969 1 : g_variant_unref (signal_variant);
3970 1 : g_list_free_full (connections, g_object_unref);
3971 1 : }
3972 :
3973 : static void
3974 21 : _gkd_exported_service_on_signal_collection_changed (
3975 : GkdExportedService *object,
3976 : const gchar *arg_collection)
3977 : {
3978 21 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
3979 :
3980 : GList *connections, *l;
3981 : GVariant *signal_variant;
3982 21 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
3983 :
3984 21 : signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
3985 : arg_collection));
3986 42 : for (l = connections; l != NULL; l = l->next)
3987 : {
3988 21 : GDBusConnection *connection = l->data;
3989 21 : g_dbus_connection_emit_signal (connection,
3990 21 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Service", "CollectionChanged",
3991 : signal_variant, NULL);
3992 : }
3993 21 : g_variant_unref (signal_variant);
3994 21 : g_list_free_full (connections, g_object_unref);
3995 21 : }
3996 :
3997 : static void gkd_exported_service_skeleton_iface_init (GkdExportedServiceIface *iface);
3998 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
3999 157 : G_DEFINE_TYPE_WITH_CODE (GkdExportedServiceSkeleton, gkd_exported_service_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
4000 : G_ADD_PRIVATE (GkdExportedServiceSkeleton)
4001 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SERVICE, gkd_exported_service_skeleton_iface_init))
4002 :
4003 : #else
4004 : G_DEFINE_TYPE_WITH_CODE (GkdExportedServiceSkeleton, gkd_exported_service_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
4005 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SERVICE, gkd_exported_service_skeleton_iface_init))
4006 :
4007 : #endif
4008 : static void
4009 0 : gkd_exported_service_skeleton_finalize (GObject *object)
4010 : {
4011 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
4012 : guint n;
4013 0 : for (n = 0; n < 1; n++)
4014 0 : g_value_unset (&skeleton->priv->properties[n]);
4015 0 : g_free (skeleton->priv->properties);
4016 0 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
4017 0 : if (skeleton->priv->changed_properties_idle_source != NULL)
4018 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
4019 0 : g_main_context_unref (skeleton->priv->context);
4020 0 : g_mutex_clear (&skeleton->priv->lock);
4021 0 : G_OBJECT_CLASS (gkd_exported_service_skeleton_parent_class)->finalize (object);
4022 0 : }
4023 :
4024 : static void
4025 0 : gkd_exported_service_skeleton_get_property (GObject *object,
4026 : guint prop_id,
4027 : GValue *value,
4028 : GParamSpec *pspec G_GNUC_UNUSED)
4029 : {
4030 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
4031 0 : g_assert (prop_id != 0 && prop_id - 1 < 1);
4032 0 : g_mutex_lock (&skeleton->priv->lock);
4033 0 : g_value_copy (&skeleton->priv->properties[prop_id - 1], value);
4034 0 : g_mutex_unlock (&skeleton->priv->lock);
4035 0 : }
4036 :
4037 : static gboolean
4038 3 : _gkd_exported_service_emit_changed (gpointer user_data)
4039 : {
4040 3 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (user_data);
4041 : GList *l;
4042 : GVariantBuilder builder;
4043 : GVariantBuilder invalidated_builder;
4044 : guint num_changes;
4045 :
4046 3 : g_mutex_lock (&skeleton->priv->lock);
4047 3 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
4048 3 : g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));
4049 6 : for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)
4050 : {
4051 3 : ChangedProperty *cp = l->data;
4052 : GVariant *variant;
4053 : const GValue *cur_value;
4054 :
4055 3 : cur_value = &skeleton->priv->properties[cp->prop_id - 1];
4056 3 : if (!_g_value_equal (cur_value, &cp->orig_value))
4057 : {
4058 3 : variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));
4059 3 : g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);
4060 3 : g_variant_unref (variant);
4061 3 : num_changes++;
4062 : }
4063 : }
4064 3 : if (num_changes > 0)
4065 : {
4066 : GList *connections, *ll;
4067 : GVariant *signal_variant;
4068 3 : signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.Secret.Service",
4069 : &builder, &invalidated_builder));
4070 3 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
4071 6 : for (ll = connections; ll != NULL; ll = ll->next)
4072 : {
4073 3 : GDBusConnection *connection = ll->data;
4074 :
4075 3 : g_dbus_connection_emit_signal (connection,
4076 3 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),
4077 : "org.freedesktop.DBus.Properties",
4078 : "PropertiesChanged",
4079 : signal_variant,
4080 : NULL);
4081 : }
4082 3 : g_variant_unref (signal_variant);
4083 3 : g_list_free_full (connections, g_object_unref);
4084 : }
4085 : else
4086 : {
4087 0 : g_variant_builder_clear (&builder);
4088 0 : g_variant_builder_clear (&invalidated_builder);
4089 : }
4090 3 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
4091 3 : skeleton->priv->changed_properties = NULL;
4092 3 : skeleton->priv->changed_properties_idle_source = NULL;
4093 3 : g_mutex_unlock (&skeleton->priv->lock);
4094 3 : return FALSE;
4095 : }
4096 :
4097 : static void
4098 3 : _gkd_exported_service_schedule_emit_changed (GkdExportedServiceSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)
4099 : {
4100 : ChangedProperty *cp;
4101 : GList *l;
4102 3 : cp = NULL;
4103 3 : for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)
4104 : {
4105 0 : ChangedProperty *i_cp = l->data;
4106 0 : if (i_cp->info == info)
4107 : {
4108 0 : cp = i_cp;
4109 0 : break;
4110 : }
4111 : }
4112 3 : if (cp == NULL)
4113 : {
4114 3 : cp = g_new0 (ChangedProperty, 1);
4115 3 : cp->prop_id = prop_id;
4116 3 : cp->info = info;
4117 3 : skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);
4118 3 : g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));
4119 3 : g_value_copy (orig_value, &cp->orig_value);
4120 : }
4121 3 : }
4122 :
4123 : static void
4124 3 : gkd_exported_service_skeleton_notify (GObject *object,
4125 : GParamSpec *pspec G_GNUC_UNUSED)
4126 : {
4127 3 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
4128 3 : g_mutex_lock (&skeleton->priv->lock);
4129 3 : if (skeleton->priv->changed_properties != NULL &&
4130 3 : skeleton->priv->changed_properties_idle_source == NULL)
4131 : {
4132 3 : skeleton->priv->changed_properties_idle_source = g_idle_source_new ();
4133 3 : g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);
4134 3 : g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gkd_exported_service_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
4135 3 : g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gkd_exported_service_emit_changed");
4136 3 : g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);
4137 3 : g_source_unref (skeleton->priv->changed_properties_idle_source);
4138 : }
4139 3 : g_mutex_unlock (&skeleton->priv->lock);
4140 3 : }
4141 :
4142 : static void
4143 3 : gkd_exported_service_skeleton_set_property (GObject *object,
4144 : guint prop_id,
4145 : const GValue *value,
4146 : GParamSpec *pspec)
4147 : {
4148 : const _ExtendedGDBusPropertyInfo *info;
4149 3 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
4150 3 : g_assert (prop_id != 0 && prop_id - 1 < 1);
4151 3 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_service_property_info_pointers[prop_id - 1];
4152 3 : g_mutex_lock (&skeleton->priv->lock);
4153 3 : g_object_freeze_notify (object);
4154 3 : if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))
4155 : {
4156 3 : if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL &&
4157 : info->emits_changed_signal)
4158 3 : _gkd_exported_service_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]);
4159 3 : g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);
4160 3 : g_object_notify_by_pspec (object, pspec);
4161 : }
4162 3 : g_mutex_unlock (&skeleton->priv->lock);
4163 3 : g_object_thaw_notify (object);
4164 3 : }
4165 :
4166 : static void
4167 25 : gkd_exported_service_skeleton_init (GkdExportedServiceSkeleton *skeleton)
4168 : {
4169 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
4170 25 : skeleton->priv = gkd_exported_service_skeleton_get_instance_private (skeleton);
4171 : #else
4172 : skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GKD_TYPE_EXPORTED_SERVICE_SKELETON, GkdExportedServiceSkeletonPrivate);
4173 : #endif
4174 :
4175 25 : g_mutex_init (&skeleton->priv->lock);
4176 25 : skeleton->priv->context = g_main_context_ref_thread_default ();
4177 25 : skeleton->priv->properties = g_new0 (GValue, 1);
4178 25 : g_value_init (&skeleton->priv->properties[0], G_TYPE_STRV);
4179 25 : }
4180 :
4181 : static const gchar *const *
4182 0 : gkd_exported_service_skeleton_get_collections (GkdExportedService *object)
4183 : {
4184 0 : GkdExportedServiceSkeleton *skeleton = GKD_EXPORTED_SERVICE_SKELETON (object);
4185 : const gchar *const *value;
4186 0 : g_mutex_lock (&skeleton->priv->lock);
4187 0 : value = g_marshal_value_peek_boxed (&(skeleton->priv->properties[0]));
4188 0 : g_mutex_unlock (&skeleton->priv->lock);
4189 0 : return value;
4190 : }
4191 :
4192 : static void
4193 25 : gkd_exported_service_skeleton_class_init (GkdExportedServiceSkeletonClass *klass)
4194 : {
4195 : GObjectClass *gobject_class;
4196 : GDBusInterfaceSkeletonClass *skeleton_class;
4197 :
4198 25 : gobject_class = G_OBJECT_CLASS (klass);
4199 25 : gobject_class->finalize = gkd_exported_service_skeleton_finalize;
4200 25 : gobject_class->get_property = gkd_exported_service_skeleton_get_property;
4201 25 : gobject_class->set_property = gkd_exported_service_skeleton_set_property;
4202 25 : gobject_class->notify = gkd_exported_service_skeleton_notify;
4203 :
4204 :
4205 25 : gkd_exported_service_override_properties (gobject_class, 1);
4206 :
4207 25 : skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
4208 25 : skeleton_class->get_info = gkd_exported_service_skeleton_dbus_interface_get_info;
4209 25 : skeleton_class->get_properties = gkd_exported_service_skeleton_dbus_interface_get_properties;
4210 25 : skeleton_class->flush = gkd_exported_service_skeleton_dbus_interface_flush;
4211 25 : skeleton_class->get_vtable = gkd_exported_service_skeleton_dbus_interface_get_vtable;
4212 :
4213 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
4214 : g_type_class_add_private (klass, sizeof (GkdExportedServiceSkeletonPrivate));
4215 : #endif
4216 25 : }
4217 :
4218 : static void
4219 25 : gkd_exported_service_skeleton_iface_init (GkdExportedServiceIface *iface)
4220 : {
4221 25 : iface->collection_created = _gkd_exported_service_on_signal_collection_created;
4222 25 : iface->collection_deleted = _gkd_exported_service_on_signal_collection_deleted;
4223 25 : iface->collection_changed = _gkd_exported_service_on_signal_collection_changed;
4224 25 : iface->get_collections = gkd_exported_service_skeleton_get_collections;
4225 25 : }
4226 :
4227 : /**
4228 : * gkd_exported_service_skeleton_new:
4229 : *
4230 : * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Service.top_of_page">org.freedesktop.Secret.Service</link>.
4231 : *
4232 : * Returns: (transfer full) (type GkdExportedServiceSkeleton): The skeleton object.
4233 : */
4234 : GkdExportedService *
4235 0 : gkd_exported_service_skeleton_new (void)
4236 : {
4237 0 : return GKD_EXPORTED_SERVICE (g_object_new (GKD_TYPE_EXPORTED_SERVICE_SKELETON, NULL));
4238 : }
4239 :
4240 : /* ------------------------------------------------------------------------
4241 : * Code for interface org.freedesktop.Secret.Collection
4242 : * ------------------------------------------------------------------------
4243 : */
4244 :
4245 : /**
4246 : * SECTION:GkdExportedCollection
4247 : * @title: GkdExportedCollection
4248 : * @short_description: Generated C code for the org.freedesktop.Secret.Collection D-Bus interface
4249 : *
4250 : * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link> D-Bus interface in C.
4251 : */
4252 :
4253 : enum
4254 : {
4255 : GKD__EXPORTED_COLLECTION_ITEM_CREATED,
4256 : GKD__EXPORTED_COLLECTION_ITEM_DELETED,
4257 : GKD__EXPORTED_COLLECTION_ITEM_CHANGED,
4258 : };
4259 :
4260 : static unsigned GKD__EXPORTED_COLLECTION_SIGNALS[3] = { 0 };
4261 :
4262 : /* ---- Introspection data for org.freedesktop.Secret.Collection ---- */
4263 :
4264 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_delete_OUT_ARG_prompt =
4265 : {
4266 : {
4267 : -1,
4268 : (gchar *) "prompt",
4269 : (gchar *) "o",
4270 : NULL
4271 : },
4272 : FALSE
4273 : };
4274 :
4275 : static const GDBusArgInfo * const _gkd_exported_collection_method_info_delete_OUT_ARG_pointers[] =
4276 : {
4277 : &_gkd_exported_collection_method_info_delete_OUT_ARG_prompt.parent_struct,
4278 : NULL
4279 : };
4280 :
4281 : static const _ExtendedGDBusMethodInfo _gkd_exported_collection_method_info_delete =
4282 : {
4283 : {
4284 : -1,
4285 : (gchar *) "Delete",
4286 : NULL,
4287 : (GDBusArgInfo **) &_gkd_exported_collection_method_info_delete_OUT_ARG_pointers,
4288 : NULL
4289 : },
4290 : "handle-delete",
4291 : FALSE
4292 : };
4293 :
4294 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_search_items_IN_ARG_attributes =
4295 : {
4296 : {
4297 : -1,
4298 : (gchar *) "attributes",
4299 : (gchar *) "a{ss}",
4300 : NULL
4301 : },
4302 : FALSE
4303 : };
4304 :
4305 : static const GDBusArgInfo * const _gkd_exported_collection_method_info_search_items_IN_ARG_pointers[] =
4306 : {
4307 : &_gkd_exported_collection_method_info_search_items_IN_ARG_attributes.parent_struct,
4308 : NULL
4309 : };
4310 :
4311 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_search_items_OUT_ARG_results =
4312 : {
4313 : {
4314 : -1,
4315 : (gchar *) "results",
4316 : (gchar *) "ao",
4317 : NULL
4318 : },
4319 : FALSE
4320 : };
4321 :
4322 : static const GDBusArgInfo * const _gkd_exported_collection_method_info_search_items_OUT_ARG_pointers[] =
4323 : {
4324 : &_gkd_exported_collection_method_info_search_items_OUT_ARG_results.parent_struct,
4325 : NULL
4326 : };
4327 :
4328 : static const _ExtendedGDBusMethodInfo _gkd_exported_collection_method_info_search_items =
4329 : {
4330 : {
4331 : -1,
4332 : (gchar *) "SearchItems",
4333 : (GDBusArgInfo **) &_gkd_exported_collection_method_info_search_items_IN_ARG_pointers,
4334 : (GDBusArgInfo **) &_gkd_exported_collection_method_info_search_items_OUT_ARG_pointers,
4335 : NULL
4336 : },
4337 : "handle-search-items",
4338 : FALSE
4339 : };
4340 :
4341 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_create_item_IN_ARG_properties =
4342 : {
4343 : {
4344 : -1,
4345 : (gchar *) "properties",
4346 : (gchar *) "a{sv}",
4347 : NULL
4348 : },
4349 : FALSE
4350 : };
4351 :
4352 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_create_item_IN_ARG_secret =
4353 : {
4354 : {
4355 : -1,
4356 : (gchar *) "secret",
4357 : (gchar *) "(oayays)",
4358 : NULL
4359 : },
4360 : FALSE
4361 : };
4362 :
4363 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_create_item_IN_ARG_replace =
4364 : {
4365 : {
4366 : -1,
4367 : (gchar *) "replace",
4368 : (gchar *) "b",
4369 : NULL
4370 : },
4371 : FALSE
4372 : };
4373 :
4374 : static const GDBusArgInfo * const _gkd_exported_collection_method_info_create_item_IN_ARG_pointers[] =
4375 : {
4376 : &_gkd_exported_collection_method_info_create_item_IN_ARG_properties.parent_struct,
4377 : &_gkd_exported_collection_method_info_create_item_IN_ARG_secret.parent_struct,
4378 : &_gkd_exported_collection_method_info_create_item_IN_ARG_replace.parent_struct,
4379 : NULL
4380 : };
4381 :
4382 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_create_item_OUT_ARG_item =
4383 : {
4384 : {
4385 : -1,
4386 : (gchar *) "item",
4387 : (gchar *) "o",
4388 : NULL
4389 : },
4390 : FALSE
4391 : };
4392 :
4393 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_method_info_create_item_OUT_ARG_prompt =
4394 : {
4395 : {
4396 : -1,
4397 : (gchar *) "prompt",
4398 : (gchar *) "o",
4399 : NULL
4400 : },
4401 : FALSE
4402 : };
4403 :
4404 : static const GDBusArgInfo * const _gkd_exported_collection_method_info_create_item_OUT_ARG_pointers[] =
4405 : {
4406 : &_gkd_exported_collection_method_info_create_item_OUT_ARG_item.parent_struct,
4407 : &_gkd_exported_collection_method_info_create_item_OUT_ARG_prompt.parent_struct,
4408 : NULL
4409 : };
4410 :
4411 : static const _ExtendedGDBusMethodInfo _gkd_exported_collection_method_info_create_item =
4412 : {
4413 : {
4414 : -1,
4415 : (gchar *) "CreateItem",
4416 : (GDBusArgInfo **) &_gkd_exported_collection_method_info_create_item_IN_ARG_pointers,
4417 : (GDBusArgInfo **) &_gkd_exported_collection_method_info_create_item_OUT_ARG_pointers,
4418 : NULL
4419 : },
4420 : "handle-create-item",
4421 : FALSE
4422 : };
4423 :
4424 : static const GDBusMethodInfo * const _gkd_exported_collection_method_info_pointers[] =
4425 : {
4426 : &_gkd_exported_collection_method_info_delete.parent_struct,
4427 : &_gkd_exported_collection_method_info_search_items.parent_struct,
4428 : &_gkd_exported_collection_method_info_create_item.parent_struct,
4429 : NULL
4430 : };
4431 :
4432 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_signal_info_item_created_ARG_item =
4433 : {
4434 : {
4435 : -1,
4436 : (gchar *) "item",
4437 : (gchar *) "o",
4438 : NULL
4439 : },
4440 : FALSE
4441 : };
4442 :
4443 : static const GDBusArgInfo * const _gkd_exported_collection_signal_info_item_created_ARG_pointers[] =
4444 : {
4445 : &_gkd_exported_collection_signal_info_item_created_ARG_item.parent_struct,
4446 : NULL
4447 : };
4448 :
4449 : static const _ExtendedGDBusSignalInfo _gkd_exported_collection_signal_info_item_created =
4450 : {
4451 : {
4452 : -1,
4453 : (gchar *) "ItemCreated",
4454 : (GDBusArgInfo **) &_gkd_exported_collection_signal_info_item_created_ARG_pointers,
4455 : NULL
4456 : },
4457 : "item-created"
4458 : };
4459 :
4460 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_signal_info_item_deleted_ARG_item =
4461 : {
4462 : {
4463 : -1,
4464 : (gchar *) "item",
4465 : (gchar *) "o",
4466 : NULL
4467 : },
4468 : FALSE
4469 : };
4470 :
4471 : static const GDBusArgInfo * const _gkd_exported_collection_signal_info_item_deleted_ARG_pointers[] =
4472 : {
4473 : &_gkd_exported_collection_signal_info_item_deleted_ARG_item.parent_struct,
4474 : NULL
4475 : };
4476 :
4477 : static const _ExtendedGDBusSignalInfo _gkd_exported_collection_signal_info_item_deleted =
4478 : {
4479 : {
4480 : -1,
4481 : (gchar *) "ItemDeleted",
4482 : (GDBusArgInfo **) &_gkd_exported_collection_signal_info_item_deleted_ARG_pointers,
4483 : NULL
4484 : },
4485 : "item-deleted"
4486 : };
4487 :
4488 : static const _ExtendedGDBusArgInfo _gkd_exported_collection_signal_info_item_changed_ARG_item =
4489 : {
4490 : {
4491 : -1,
4492 : (gchar *) "item",
4493 : (gchar *) "o",
4494 : NULL
4495 : },
4496 : FALSE
4497 : };
4498 :
4499 : static const GDBusArgInfo * const _gkd_exported_collection_signal_info_item_changed_ARG_pointers[] =
4500 : {
4501 : &_gkd_exported_collection_signal_info_item_changed_ARG_item.parent_struct,
4502 : NULL
4503 : };
4504 :
4505 : static const _ExtendedGDBusSignalInfo _gkd_exported_collection_signal_info_item_changed =
4506 : {
4507 : {
4508 : -1,
4509 : (gchar *) "ItemChanged",
4510 : (GDBusArgInfo **) &_gkd_exported_collection_signal_info_item_changed_ARG_pointers,
4511 : NULL
4512 : },
4513 : "item-changed"
4514 : };
4515 :
4516 : static const GDBusSignalInfo * const _gkd_exported_collection_signal_info_pointers[] =
4517 : {
4518 : &_gkd_exported_collection_signal_info_item_created.parent_struct,
4519 : &_gkd_exported_collection_signal_info_item_deleted.parent_struct,
4520 : &_gkd_exported_collection_signal_info_item_changed.parent_struct,
4521 : NULL
4522 : };
4523 :
4524 : static const _ExtendedGDBusPropertyInfo _gkd_exported_collection_property_info_items =
4525 : {
4526 : {
4527 : -1,
4528 : (gchar *) "Items",
4529 : (gchar *) "ao",
4530 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
4531 : NULL
4532 : },
4533 : "items",
4534 : FALSE,
4535 : TRUE
4536 : };
4537 :
4538 : static const _ExtendedGDBusPropertyInfo _gkd_exported_collection_property_info_label =
4539 : {
4540 : {
4541 : -1,
4542 : (gchar *) "Label",
4543 : (gchar *) "s",
4544 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE,
4545 : NULL
4546 : },
4547 : "label",
4548 : FALSE,
4549 : TRUE
4550 : };
4551 :
4552 : static const _ExtendedGDBusPropertyInfo _gkd_exported_collection_property_info_locked =
4553 : {
4554 : {
4555 : -1,
4556 : (gchar *) "Locked",
4557 : (gchar *) "b",
4558 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
4559 : NULL
4560 : },
4561 : "locked",
4562 : FALSE,
4563 : TRUE
4564 : };
4565 :
4566 : static const _ExtendedGDBusPropertyInfo _gkd_exported_collection_property_info_created =
4567 : {
4568 : {
4569 : -1,
4570 : (gchar *) "Created",
4571 : (gchar *) "t",
4572 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
4573 : NULL
4574 : },
4575 : "created",
4576 : FALSE,
4577 : TRUE
4578 : };
4579 :
4580 : static const _ExtendedGDBusPropertyInfo _gkd_exported_collection_property_info_modified =
4581 : {
4582 : {
4583 : -1,
4584 : (gchar *) "Modified",
4585 : (gchar *) "t",
4586 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
4587 : NULL
4588 : },
4589 : "modified",
4590 : FALSE,
4591 : TRUE
4592 : };
4593 :
4594 : static const GDBusPropertyInfo * const _gkd_exported_collection_property_info_pointers[] =
4595 : {
4596 : &_gkd_exported_collection_property_info_items.parent_struct,
4597 : &_gkd_exported_collection_property_info_label.parent_struct,
4598 : &_gkd_exported_collection_property_info_locked.parent_struct,
4599 : &_gkd_exported_collection_property_info_created.parent_struct,
4600 : &_gkd_exported_collection_property_info_modified.parent_struct,
4601 : NULL
4602 : };
4603 :
4604 : static const _ExtendedGDBusInterfaceInfo _gkd_exported_collection_interface_info =
4605 : {
4606 : {
4607 : -1,
4608 : (gchar *) "org.freedesktop.Secret.Collection",
4609 : (GDBusMethodInfo **) &_gkd_exported_collection_method_info_pointers,
4610 : (GDBusSignalInfo **) &_gkd_exported_collection_signal_info_pointers,
4611 : (GDBusPropertyInfo **) &_gkd_exported_collection_property_info_pointers,
4612 : NULL
4613 : },
4614 : "exported-collection",
4615 : };
4616 :
4617 :
4618 : /**
4619 : * gkd_exported_collection_interface_info:
4620 : *
4621 : * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link> D-Bus interface.
4622 : *
4623 : * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
4624 : */
4625 : GDBusInterfaceInfo *
4626 50 : gkd_exported_collection_interface_info (void)
4627 : {
4628 50 : return (GDBusInterfaceInfo *) &_gkd_exported_collection_interface_info.parent_struct;
4629 : }
4630 :
4631 : /**
4632 : * gkd_exported_collection_override_properties:
4633 : * @klass: The class structure for a #GObject derived class.
4634 : * @property_id_begin: The property id to assign to the first overridden property.
4635 : *
4636 : * Overrides all #GObject properties in the #GkdExportedCollection interface for a concrete class.
4637 : * The properties are overridden in the order they are defined.
4638 : *
4639 : * Returns: The last property id.
4640 : */
4641 : guint
4642 25 : gkd_exported_collection_override_properties (GObjectClass *klass, guint property_id_begin)
4643 : {
4644 25 : g_object_class_override_property (klass, property_id_begin++, "items");
4645 25 : g_object_class_override_property (klass, property_id_begin++, "label");
4646 25 : g_object_class_override_property (klass, property_id_begin++, "locked");
4647 25 : g_object_class_override_property (klass, property_id_begin++, "created");
4648 25 : g_object_class_override_property (klass, property_id_begin++, "modified");
4649 25 : return property_id_begin - 1;
4650 : }
4651 :
4652 :
4653 : inline static void
4654 2 : gkd_exported_collection_signal_marshal_item_created (
4655 : GClosure *closure,
4656 : GValue *return_value,
4657 : unsigned int n_param_values,
4658 : const GValue *param_values,
4659 : void *invocation_hint,
4660 : void *marshal_data)
4661 : {
4662 2 : g_cclosure_marshal_VOID__STRING (closure,
4663 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
4664 2 : }
4665 :
4666 : inline static void
4667 1 : gkd_exported_collection_signal_marshal_item_deleted (
4668 : GClosure *closure,
4669 : GValue *return_value,
4670 : unsigned int n_param_values,
4671 : const GValue *param_values,
4672 : void *invocation_hint,
4673 : void *marshal_data)
4674 : {
4675 1 : g_cclosure_marshal_VOID__STRING (closure,
4676 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
4677 1 : }
4678 :
4679 : inline static void
4680 21 : gkd_exported_collection_signal_marshal_item_changed (
4681 : GClosure *closure,
4682 : GValue *return_value,
4683 : unsigned int n_param_values,
4684 : const GValue *param_values,
4685 : void *invocation_hint,
4686 : void *marshal_data)
4687 : {
4688 21 : g_cclosure_marshal_VOID__STRING (closure,
4689 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
4690 21 : }
4691 :
4692 : inline static void
4693 1 : gkd_exported_collection_method_marshal_delete (
4694 : GClosure *closure,
4695 : GValue *return_value,
4696 : unsigned int n_param_values,
4697 : const GValue *param_values,
4698 : void *invocation_hint,
4699 : void *marshal_data)
4700 : {
4701 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT (closure,
4702 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
4703 1 : }
4704 :
4705 : inline static void
4706 1 : gkd_exported_collection_method_marshal_search_items (
4707 : GClosure *closure,
4708 : GValue *return_value,
4709 : unsigned int n_param_values,
4710 : const GValue *param_values,
4711 : void *invocation_hint,
4712 : void *marshal_data)
4713 : {
4714 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT (closure,
4715 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
4716 1 : }
4717 :
4718 : inline static void
4719 2 : gkd_exported_collection_method_marshal_create_item (
4720 : GClosure *closure,
4721 : GValue *return_value,
4722 : unsigned int n_param_values,
4723 : const GValue *param_values,
4724 : void *invocation_hint,
4725 : void *marshal_data)
4726 : {
4727 2 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT_VARIANT_BOOLEAN (closure,
4728 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
4729 2 : }
4730 :
4731 :
4732 : /**
4733 : * GkdExportedCollection:
4734 : *
4735 : * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link>.
4736 : */
4737 :
4738 : /**
4739 : * GkdExportedCollectionIface:
4740 : * @parent_iface: The parent interface.
4741 : * @handle_create_item: Handler for the #GkdExportedCollection::handle-create-item signal.
4742 : * @handle_delete: Handler for the #GkdExportedCollection::handle-delete signal.
4743 : * @handle_search_items: Handler for the #GkdExportedCollection::handle-search-items signal.
4744 : * @get_created: Getter for the #GkdExportedCollection:created property.
4745 : * @get_items: Getter for the #GkdExportedCollection:items property.
4746 : * @get_label: Getter for the #GkdExportedCollection:label property.
4747 : * @get_locked: Getter for the #GkdExportedCollection:locked property.
4748 : * @get_modified: Getter for the #GkdExportedCollection:modified property.
4749 : * @item_changed: Handler for the #GkdExportedCollection::item-changed signal.
4750 : * @item_created: Handler for the #GkdExportedCollection::item-created signal.
4751 : * @item_deleted: Handler for the #GkdExportedCollection::item-deleted signal.
4752 : *
4753 : * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link>.
4754 : */
4755 :
4756 : typedef GkdExportedCollectionIface GkdExportedCollectionInterface;
4757 34 : G_DEFINE_INTERFACE (GkdExportedCollection, gkd_exported_collection, G_TYPE_OBJECT)
4758 :
4759 : static void
4760 25 : gkd_exported_collection_default_init (GkdExportedCollectionIface *iface)
4761 : {
4762 : /* GObject signals for incoming D-Bus method calls: */
4763 : /**
4764 : * GkdExportedCollection::handle-delete:
4765 : * @object: A #GkdExportedCollection.
4766 : * @invocation: A #GDBusMethodInvocation.
4767 : *
4768 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.Delete">Delete()</link> D-Bus method.
4769 : *
4770 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_collection_complete_delete() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
4771 : *
4772 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
4773 : */
4774 25 : g_signal_new ("handle-delete",
4775 : G_TYPE_FROM_INTERFACE (iface),
4776 : G_SIGNAL_RUN_LAST,
4777 : G_STRUCT_OFFSET (GkdExportedCollectionIface, handle_delete),
4778 : g_signal_accumulator_true_handled,
4779 : NULL,
4780 : gkd_exported_collection_method_marshal_delete,
4781 : G_TYPE_BOOLEAN,
4782 : 1,
4783 : G_TYPE_DBUS_METHOD_INVOCATION);
4784 :
4785 : /**
4786 : * GkdExportedCollection::handle-search-items:
4787 : * @object: A #GkdExportedCollection.
4788 : * @invocation: A #GDBusMethodInvocation.
4789 : * @arg_attributes: Argument passed by remote caller.
4790 : *
4791 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.SearchItems">SearchItems()</link> D-Bus method.
4792 : *
4793 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_collection_complete_search_items() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
4794 : *
4795 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
4796 : */
4797 25 : g_signal_new ("handle-search-items",
4798 : G_TYPE_FROM_INTERFACE (iface),
4799 : G_SIGNAL_RUN_LAST,
4800 : G_STRUCT_OFFSET (GkdExportedCollectionIface, handle_search_items),
4801 : g_signal_accumulator_true_handled,
4802 : NULL,
4803 : gkd_exported_collection_method_marshal_search_items,
4804 : G_TYPE_BOOLEAN,
4805 : 2,
4806 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT);
4807 :
4808 : /**
4809 : * GkdExportedCollection::handle-create-item:
4810 : * @object: A #GkdExportedCollection.
4811 : * @invocation: A #GDBusMethodInvocation.
4812 : * @arg_properties: Argument passed by remote caller.
4813 : * @arg_secret: Argument passed by remote caller.
4814 : * @arg_replace: Argument passed by remote caller.
4815 : *
4816 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.CreateItem">CreateItem()</link> D-Bus method.
4817 : *
4818 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_collection_complete_create_item() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
4819 : *
4820 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
4821 : */
4822 25 : g_signal_new ("handle-create-item",
4823 : G_TYPE_FROM_INTERFACE (iface),
4824 : G_SIGNAL_RUN_LAST,
4825 : G_STRUCT_OFFSET (GkdExportedCollectionIface, handle_create_item),
4826 : g_signal_accumulator_true_handled,
4827 : NULL,
4828 : gkd_exported_collection_method_marshal_create_item,
4829 : G_TYPE_BOOLEAN,
4830 : 4,
4831 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_VARIANT, G_TYPE_BOOLEAN);
4832 :
4833 : /* GObject signals for received D-Bus signals: */
4834 : /**
4835 : * GkdExportedCollection::item-created:
4836 : * @object: A #GkdExportedCollection.
4837 : * @arg_item: Argument.
4838 : *
4839 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Collection.ItemCreated">"ItemCreated"</link> is received.
4840 : *
4841 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
4842 : */
4843 25 : GKD__EXPORTED_COLLECTION_SIGNALS[GKD__EXPORTED_COLLECTION_ITEM_CREATED] =
4844 25 : g_signal_new ("item-created",
4845 : G_TYPE_FROM_INTERFACE (iface),
4846 : G_SIGNAL_RUN_LAST,
4847 : G_STRUCT_OFFSET (GkdExportedCollectionIface, item_created),
4848 : NULL,
4849 : NULL,
4850 : gkd_exported_collection_signal_marshal_item_created,
4851 : G_TYPE_NONE,
4852 : 1, G_TYPE_STRING);
4853 :
4854 : /**
4855 : * GkdExportedCollection::item-deleted:
4856 : * @object: A #GkdExportedCollection.
4857 : * @arg_item: Argument.
4858 : *
4859 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Collection.ItemDeleted">"ItemDeleted"</link> is received.
4860 : *
4861 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
4862 : */
4863 25 : GKD__EXPORTED_COLLECTION_SIGNALS[GKD__EXPORTED_COLLECTION_ITEM_DELETED] =
4864 25 : g_signal_new ("item-deleted",
4865 : G_TYPE_FROM_INTERFACE (iface),
4866 : G_SIGNAL_RUN_LAST,
4867 : G_STRUCT_OFFSET (GkdExportedCollectionIface, item_deleted),
4868 : NULL,
4869 : NULL,
4870 : gkd_exported_collection_signal_marshal_item_deleted,
4871 : G_TYPE_NONE,
4872 : 1, G_TYPE_STRING);
4873 :
4874 : /**
4875 : * GkdExportedCollection::item-changed:
4876 : * @object: A #GkdExportedCollection.
4877 : * @arg_item: Argument.
4878 : *
4879 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Collection.ItemChanged">"ItemChanged"</link> is received.
4880 : *
4881 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
4882 : */
4883 25 : GKD__EXPORTED_COLLECTION_SIGNALS[GKD__EXPORTED_COLLECTION_ITEM_CHANGED] =
4884 25 : g_signal_new ("item-changed",
4885 : G_TYPE_FROM_INTERFACE (iface),
4886 : G_SIGNAL_RUN_LAST,
4887 : G_STRUCT_OFFSET (GkdExportedCollectionIface, item_changed),
4888 : NULL,
4889 : NULL,
4890 : gkd_exported_collection_signal_marshal_item_changed,
4891 : G_TYPE_NONE,
4892 : 1, G_TYPE_STRING);
4893 :
4894 : /* GObject properties for D-Bus properties: */
4895 : /**
4896 : * GkdExportedCollection:items:
4897 : *
4898 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Items">"Items"</link>.
4899 : *
4900 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
4901 : */
4902 25 : g_object_interface_install_property (iface,
4903 : g_param_spec_boxed ("items", "Items", "Items", G_TYPE_STRV, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
4904 : /**
4905 : * GkdExportedCollection:label:
4906 : *
4907 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Label">"Label"</link>.
4908 : *
4909 : * Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.
4910 : */
4911 25 : g_object_interface_install_property (iface,
4912 : g_param_spec_string ("label", "Label", "Label", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
4913 : /**
4914 : * GkdExportedCollection:locked:
4915 : *
4916 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Locked">"Locked"</link>.
4917 : *
4918 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
4919 : */
4920 25 : g_object_interface_install_property (iface,
4921 : g_param_spec_boolean ("locked", "Locked", "Locked", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
4922 : /**
4923 : * GkdExportedCollection:created:
4924 : *
4925 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Created">"Created"</link>.
4926 : *
4927 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
4928 : */
4929 25 : g_object_interface_install_property (iface,
4930 : g_param_spec_uint64 ("created", "Created", "Created", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
4931 : /**
4932 : * GkdExportedCollection:modified:
4933 : *
4934 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Modified">"Modified"</link>.
4935 : *
4936 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
4937 : */
4938 25 : g_object_interface_install_property (iface,
4939 : g_param_spec_uint64 ("modified", "Modified", "Modified", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
4940 25 : }
4941 :
4942 : /**
4943 : * gkd_exported_collection_get_items: (skip)
4944 : * @object: A #GkdExportedCollection.
4945 : *
4946 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Items">"Items"</link> D-Bus property.
4947 : *
4948 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
4949 : *
4950 : * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gkd_exported_collection_dup_items() if on another thread.
4951 : *
4952 : * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
4953 : */
4954 : const gchar *const *
4955 0 : gkd_exported_collection_get_items (GkdExportedCollection *object)
4956 : {
4957 0 : g_return_val_if_fail (GKD_IS_EXPORTED_COLLECTION (object), NULL);
4958 :
4959 0 : return GKD_EXPORTED_COLLECTION_GET_IFACE (object)->get_items (object);
4960 : }
4961 :
4962 : /**
4963 : * gkd_exported_collection_dup_items: (skip)
4964 : * @object: A #GkdExportedCollection.
4965 : *
4966 : * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Items">"Items"</link> D-Bus property.
4967 : *
4968 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
4969 : *
4970 : * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with g_strfreev().
4971 : */
4972 : gchar **
4973 0 : gkd_exported_collection_dup_items (GkdExportedCollection *object)
4974 : {
4975 : gchar **value;
4976 0 : g_object_get (G_OBJECT (object), "items", &value, NULL);
4977 0 : return value;
4978 : }
4979 :
4980 : /**
4981 : * gkd_exported_collection_set_items: (skip)
4982 : * @object: A #GkdExportedCollection.
4983 : * @value: The value to set.
4984 : *
4985 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Items">"Items"</link> D-Bus property to @value.
4986 : *
4987 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
4988 : */
4989 : void
4990 3 : gkd_exported_collection_set_items (GkdExportedCollection *object, const gchar *const *value)
4991 : {
4992 3 : g_object_set (G_OBJECT (object), "items", value, NULL);
4993 3 : }
4994 :
4995 : /**
4996 : * gkd_exported_collection_get_label: (skip)
4997 : * @object: A #GkdExportedCollection.
4998 : *
4999 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Label">"Label"</link> D-Bus property.
5000 : *
5001 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
5002 : *
5003 : * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gkd_exported_collection_dup_label() if on another thread.
5004 : *
5005 : * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
5006 : */
5007 : const gchar *
5008 0 : gkd_exported_collection_get_label (GkdExportedCollection *object)
5009 : {
5010 0 : g_return_val_if_fail (GKD_IS_EXPORTED_COLLECTION (object), NULL);
5011 :
5012 0 : return GKD_EXPORTED_COLLECTION_GET_IFACE (object)->get_label (object);
5013 : }
5014 :
5015 : /**
5016 : * gkd_exported_collection_dup_label: (skip)
5017 : * @object: A #GkdExportedCollection.
5018 : *
5019 : * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Label">"Label"</link> D-Bus property.
5020 : *
5021 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
5022 : *
5023 : * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
5024 : */
5025 : gchar *
5026 0 : gkd_exported_collection_dup_label (GkdExportedCollection *object)
5027 : {
5028 : gchar *value;
5029 0 : g_object_get (G_OBJECT (object), "label", &value, NULL);
5030 0 : return value;
5031 : }
5032 :
5033 : /**
5034 : * gkd_exported_collection_set_label: (skip)
5035 : * @object: A #GkdExportedCollection.
5036 : * @value: The value to set.
5037 : *
5038 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Label">"Label"</link> D-Bus property to @value.
5039 : *
5040 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
5041 : */
5042 : void
5043 1 : gkd_exported_collection_set_label (GkdExportedCollection *object, const gchar *value)
5044 : {
5045 1 : g_object_set (G_OBJECT (object), "label", value, NULL);
5046 1 : }
5047 :
5048 : /**
5049 : * gkd_exported_collection_get_locked: (skip)
5050 : * @object: A #GkdExportedCollection.
5051 : *
5052 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Locked">"Locked"</link> D-Bus property.
5053 : *
5054 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
5055 : *
5056 : * Returns: The property value.
5057 : */
5058 : gboolean
5059 0 : gkd_exported_collection_get_locked (GkdExportedCollection *object)
5060 : {
5061 0 : g_return_val_if_fail (GKD_IS_EXPORTED_COLLECTION (object), FALSE);
5062 :
5063 0 : return GKD_EXPORTED_COLLECTION_GET_IFACE (object)->get_locked (object);
5064 : }
5065 :
5066 : /**
5067 : * gkd_exported_collection_set_locked: (skip)
5068 : * @object: A #GkdExportedCollection.
5069 : * @value: The value to set.
5070 : *
5071 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Locked">"Locked"</link> D-Bus property to @value.
5072 : *
5073 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
5074 : */
5075 : void
5076 20 : gkd_exported_collection_set_locked (GkdExportedCollection *object, gboolean value)
5077 : {
5078 20 : g_object_set (G_OBJECT (object), "locked", value, NULL);
5079 20 : }
5080 :
5081 : /**
5082 : * gkd_exported_collection_get_created: (skip)
5083 : * @object: A #GkdExportedCollection.
5084 : *
5085 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Created">"Created"</link> D-Bus property.
5086 : *
5087 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
5088 : *
5089 : * Returns: The property value.
5090 : */
5091 : guint64
5092 0 : gkd_exported_collection_get_created (GkdExportedCollection *object)
5093 : {
5094 0 : g_return_val_if_fail (GKD_IS_EXPORTED_COLLECTION (object), 0);
5095 :
5096 0 : return GKD_EXPORTED_COLLECTION_GET_IFACE (object)->get_created (object);
5097 : }
5098 :
5099 : /**
5100 : * gkd_exported_collection_set_created: (skip)
5101 : * @object: A #GkdExportedCollection.
5102 : * @value: The value to set.
5103 : *
5104 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Created">"Created"</link> D-Bus property to @value.
5105 : *
5106 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
5107 : */
5108 : void
5109 0 : gkd_exported_collection_set_created (GkdExportedCollection *object, guint64 value)
5110 : {
5111 0 : g_object_set (G_OBJECT (object), "created", value, NULL);
5112 0 : }
5113 :
5114 : /**
5115 : * gkd_exported_collection_get_modified: (skip)
5116 : * @object: A #GkdExportedCollection.
5117 : *
5118 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Modified">"Modified"</link> D-Bus property.
5119 : *
5120 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
5121 : *
5122 : * Returns: The property value.
5123 : */
5124 : guint64
5125 0 : gkd_exported_collection_get_modified (GkdExportedCollection *object)
5126 : {
5127 0 : g_return_val_if_fail (GKD_IS_EXPORTED_COLLECTION (object), 0);
5128 :
5129 0 : return GKD_EXPORTED_COLLECTION_GET_IFACE (object)->get_modified (object);
5130 : }
5131 :
5132 : /**
5133 : * gkd_exported_collection_set_modified: (skip)
5134 : * @object: A #GkdExportedCollection.
5135 : * @value: The value to set.
5136 : *
5137 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Collection.Modified">"Modified"</link> D-Bus property to @value.
5138 : *
5139 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
5140 : */
5141 : void
5142 0 : gkd_exported_collection_set_modified (GkdExportedCollection *object, guint64 value)
5143 : {
5144 0 : g_object_set (G_OBJECT (object), "modified", value, NULL);
5145 0 : }
5146 :
5147 : /**
5148 : * gkd_exported_collection_emit_item_created:
5149 : * @object: A #GkdExportedCollection.
5150 : * @arg_item: Argument to pass with the signal.
5151 : *
5152 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Collection.ItemCreated">"ItemCreated"</link> D-Bus signal.
5153 : */
5154 : void
5155 2 : gkd_exported_collection_emit_item_created (
5156 : GkdExportedCollection *object,
5157 : const gchar *arg_item)
5158 : {
5159 2 : g_signal_emit (object, GKD__EXPORTED_COLLECTION_SIGNALS[GKD__EXPORTED_COLLECTION_ITEM_CREATED], 0, arg_item);
5160 2 : }
5161 :
5162 : /**
5163 : * gkd_exported_collection_emit_item_deleted:
5164 : * @object: A #GkdExportedCollection.
5165 : * @arg_item: Argument to pass with the signal.
5166 : *
5167 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Collection.ItemDeleted">"ItemDeleted"</link> D-Bus signal.
5168 : */
5169 : void
5170 1 : gkd_exported_collection_emit_item_deleted (
5171 : GkdExportedCollection *object,
5172 : const gchar *arg_item)
5173 : {
5174 1 : g_signal_emit (object, GKD__EXPORTED_COLLECTION_SIGNALS[GKD__EXPORTED_COLLECTION_ITEM_DELETED], 0, arg_item);
5175 1 : }
5176 :
5177 : /**
5178 : * gkd_exported_collection_emit_item_changed:
5179 : * @object: A #GkdExportedCollection.
5180 : * @arg_item: Argument to pass with the signal.
5181 : *
5182 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Collection.ItemChanged">"ItemChanged"</link> D-Bus signal.
5183 : */
5184 : void
5185 21 : gkd_exported_collection_emit_item_changed (
5186 : GkdExportedCollection *object,
5187 : const gchar *arg_item)
5188 : {
5189 21 : g_signal_emit (object, GKD__EXPORTED_COLLECTION_SIGNALS[GKD__EXPORTED_COLLECTION_ITEM_CHANGED], 0, arg_item);
5190 21 : }
5191 :
5192 : /**
5193 : * gkd_exported_collection_call_delete:
5194 : * @proxy: A #GkdExportedCollectionProxy.
5195 : * @cancellable: (nullable): A #GCancellable or %NULL.
5196 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
5197 : * @user_data: User data to pass to @callback.
5198 : *
5199 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.Delete">Delete()</link> D-Bus method on @proxy.
5200 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
5201 : * You can then call gkd_exported_collection_call_delete_finish() to get the result of the operation.
5202 : *
5203 : * See gkd_exported_collection_call_delete_sync() for the synchronous, blocking version of this method.
5204 : */
5205 : void
5206 0 : gkd_exported_collection_call_delete (
5207 : GkdExportedCollection *proxy,
5208 : GCancellable *cancellable,
5209 : GAsyncReadyCallback callback,
5210 : gpointer user_data)
5211 : {
5212 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
5213 : "Delete",
5214 : g_variant_new ("()"),
5215 : G_DBUS_CALL_FLAGS_NONE,
5216 : -1,
5217 : cancellable,
5218 : callback,
5219 : user_data);
5220 0 : }
5221 :
5222 : /**
5223 : * gkd_exported_collection_call_delete_finish:
5224 : * @proxy: A #GkdExportedCollectionProxy.
5225 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
5226 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_collection_call_delete().
5227 : * @error: Return location for error or %NULL.
5228 : *
5229 : * Finishes an operation started with gkd_exported_collection_call_delete().
5230 : *
5231 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
5232 : */
5233 : gboolean
5234 0 : gkd_exported_collection_call_delete_finish (
5235 : GkdExportedCollection *proxy,
5236 : gchar **out_prompt,
5237 : GAsyncResult *res,
5238 : GError **error)
5239 : {
5240 : GVariant *_ret;
5241 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
5242 0 : if (_ret == NULL)
5243 0 : goto _out;
5244 0 : g_variant_get (_ret,
5245 : "(o)",
5246 : out_prompt);
5247 0 : g_variant_unref (_ret);
5248 0 : _out:
5249 0 : return _ret != NULL;
5250 : }
5251 :
5252 : /**
5253 : * gkd_exported_collection_call_delete_sync:
5254 : * @proxy: A #GkdExportedCollectionProxy.
5255 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
5256 : * @cancellable: (nullable): A #GCancellable or %NULL.
5257 : * @error: Return location for error or %NULL.
5258 : *
5259 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.Delete">Delete()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
5260 : *
5261 : * See gkd_exported_collection_call_delete() for the asynchronous version of this method.
5262 : *
5263 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
5264 : */
5265 : gboolean
5266 0 : gkd_exported_collection_call_delete_sync (
5267 : GkdExportedCollection *proxy,
5268 : gchar **out_prompt,
5269 : GCancellable *cancellable,
5270 : GError **error)
5271 : {
5272 : GVariant *_ret;
5273 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
5274 : "Delete",
5275 : g_variant_new ("()"),
5276 : G_DBUS_CALL_FLAGS_NONE,
5277 : -1,
5278 : cancellable,
5279 : error);
5280 0 : if (_ret == NULL)
5281 0 : goto _out;
5282 0 : g_variant_get (_ret,
5283 : "(o)",
5284 : out_prompt);
5285 0 : g_variant_unref (_ret);
5286 0 : _out:
5287 0 : return _ret != NULL;
5288 : }
5289 :
5290 : /**
5291 : * gkd_exported_collection_call_search_items:
5292 : * @proxy: A #GkdExportedCollectionProxy.
5293 : * @arg_attributes: Argument to pass with the method invocation.
5294 : * @cancellable: (nullable): A #GCancellable or %NULL.
5295 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
5296 : * @user_data: User data to pass to @callback.
5297 : *
5298 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.SearchItems">SearchItems()</link> D-Bus method on @proxy.
5299 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
5300 : * You can then call gkd_exported_collection_call_search_items_finish() to get the result of the operation.
5301 : *
5302 : * See gkd_exported_collection_call_search_items_sync() for the synchronous, blocking version of this method.
5303 : */
5304 : void
5305 0 : gkd_exported_collection_call_search_items (
5306 : GkdExportedCollection *proxy,
5307 : GVariant *arg_attributes,
5308 : GCancellable *cancellable,
5309 : GAsyncReadyCallback callback,
5310 : gpointer user_data)
5311 : {
5312 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
5313 : "SearchItems",
5314 : g_variant_new ("(@a{ss})",
5315 : arg_attributes),
5316 : G_DBUS_CALL_FLAGS_NONE,
5317 : -1,
5318 : cancellable,
5319 : callback,
5320 : user_data);
5321 0 : }
5322 :
5323 : /**
5324 : * gkd_exported_collection_call_search_items_finish:
5325 : * @proxy: A #GkdExportedCollectionProxy.
5326 : * @out_results: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
5327 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_collection_call_search_items().
5328 : * @error: Return location for error or %NULL.
5329 : *
5330 : * Finishes an operation started with gkd_exported_collection_call_search_items().
5331 : *
5332 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
5333 : */
5334 : gboolean
5335 0 : gkd_exported_collection_call_search_items_finish (
5336 : GkdExportedCollection *proxy,
5337 : gchar ***out_results,
5338 : GAsyncResult *res,
5339 : GError **error)
5340 : {
5341 : GVariant *_ret;
5342 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
5343 0 : if (_ret == NULL)
5344 0 : goto _out;
5345 0 : g_variant_get (_ret,
5346 : "(^ao)",
5347 : out_results);
5348 0 : g_variant_unref (_ret);
5349 0 : _out:
5350 0 : return _ret != NULL;
5351 : }
5352 :
5353 : /**
5354 : * gkd_exported_collection_call_search_items_sync:
5355 : * @proxy: A #GkdExportedCollectionProxy.
5356 : * @arg_attributes: Argument to pass with the method invocation.
5357 : * @out_results: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore.
5358 : * @cancellable: (nullable): A #GCancellable or %NULL.
5359 : * @error: Return location for error or %NULL.
5360 : *
5361 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.SearchItems">SearchItems()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
5362 : *
5363 : * See gkd_exported_collection_call_search_items() for the asynchronous version of this method.
5364 : *
5365 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
5366 : */
5367 : gboolean
5368 0 : gkd_exported_collection_call_search_items_sync (
5369 : GkdExportedCollection *proxy,
5370 : GVariant *arg_attributes,
5371 : gchar ***out_results,
5372 : GCancellable *cancellable,
5373 : GError **error)
5374 : {
5375 : GVariant *_ret;
5376 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
5377 : "SearchItems",
5378 : g_variant_new ("(@a{ss})",
5379 : arg_attributes),
5380 : G_DBUS_CALL_FLAGS_NONE,
5381 : -1,
5382 : cancellable,
5383 : error);
5384 0 : if (_ret == NULL)
5385 0 : goto _out;
5386 0 : g_variant_get (_ret,
5387 : "(^ao)",
5388 : out_results);
5389 0 : g_variant_unref (_ret);
5390 0 : _out:
5391 0 : return _ret != NULL;
5392 : }
5393 :
5394 : /**
5395 : * gkd_exported_collection_call_create_item:
5396 : * @proxy: A #GkdExportedCollectionProxy.
5397 : * @arg_properties: Argument to pass with the method invocation.
5398 : * @arg_secret: Argument to pass with the method invocation.
5399 : * @arg_replace: Argument to pass with the method invocation.
5400 : * @cancellable: (nullable): A #GCancellable or %NULL.
5401 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
5402 : * @user_data: User data to pass to @callback.
5403 : *
5404 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.CreateItem">CreateItem()</link> D-Bus method on @proxy.
5405 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
5406 : * You can then call gkd_exported_collection_call_create_item_finish() to get the result of the operation.
5407 : *
5408 : * See gkd_exported_collection_call_create_item_sync() for the synchronous, blocking version of this method.
5409 : */
5410 : void
5411 0 : gkd_exported_collection_call_create_item (
5412 : GkdExportedCollection *proxy,
5413 : GVariant *arg_properties,
5414 : GVariant *arg_secret,
5415 : gboolean arg_replace,
5416 : GCancellable *cancellable,
5417 : GAsyncReadyCallback callback,
5418 : gpointer user_data)
5419 : {
5420 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
5421 : "CreateItem",
5422 : g_variant_new ("(@a{sv}@(oayays)b)",
5423 : arg_properties,
5424 : arg_secret,
5425 : arg_replace),
5426 : G_DBUS_CALL_FLAGS_NONE,
5427 : -1,
5428 : cancellable,
5429 : callback,
5430 : user_data);
5431 0 : }
5432 :
5433 : /**
5434 : * gkd_exported_collection_call_create_item_finish:
5435 : * @proxy: A #GkdExportedCollectionProxy.
5436 : * @out_item: (out) (optional): Return location for return parameter or %NULL to ignore.
5437 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
5438 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_collection_call_create_item().
5439 : * @error: Return location for error or %NULL.
5440 : *
5441 : * Finishes an operation started with gkd_exported_collection_call_create_item().
5442 : *
5443 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
5444 : */
5445 : gboolean
5446 0 : gkd_exported_collection_call_create_item_finish (
5447 : GkdExportedCollection *proxy,
5448 : gchar **out_item,
5449 : gchar **out_prompt,
5450 : GAsyncResult *res,
5451 : GError **error)
5452 : {
5453 : GVariant *_ret;
5454 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
5455 0 : if (_ret == NULL)
5456 0 : goto _out;
5457 0 : g_variant_get (_ret,
5458 : "(oo)",
5459 : out_item,
5460 : out_prompt);
5461 0 : g_variant_unref (_ret);
5462 0 : _out:
5463 0 : return _ret != NULL;
5464 : }
5465 :
5466 : /**
5467 : * gkd_exported_collection_call_create_item_sync:
5468 : * @proxy: A #GkdExportedCollectionProxy.
5469 : * @arg_properties: Argument to pass with the method invocation.
5470 : * @arg_secret: Argument to pass with the method invocation.
5471 : * @arg_replace: Argument to pass with the method invocation.
5472 : * @out_item: (out) (optional): Return location for return parameter or %NULL to ignore.
5473 : * @out_prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
5474 : * @cancellable: (nullable): A #GCancellable or %NULL.
5475 : * @error: Return location for error or %NULL.
5476 : *
5477 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.CreateItem">CreateItem()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
5478 : *
5479 : * See gkd_exported_collection_call_create_item() for the asynchronous version of this method.
5480 : *
5481 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
5482 : */
5483 : gboolean
5484 0 : gkd_exported_collection_call_create_item_sync (
5485 : GkdExportedCollection *proxy,
5486 : GVariant *arg_properties,
5487 : GVariant *arg_secret,
5488 : gboolean arg_replace,
5489 : gchar **out_item,
5490 : gchar **out_prompt,
5491 : GCancellable *cancellable,
5492 : GError **error)
5493 : {
5494 : GVariant *_ret;
5495 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
5496 : "CreateItem",
5497 : g_variant_new ("(@a{sv}@(oayays)b)",
5498 : arg_properties,
5499 : arg_secret,
5500 : arg_replace),
5501 : G_DBUS_CALL_FLAGS_NONE,
5502 : -1,
5503 : cancellable,
5504 : error);
5505 0 : if (_ret == NULL)
5506 0 : goto _out;
5507 0 : g_variant_get (_ret,
5508 : "(oo)",
5509 : out_item,
5510 : out_prompt);
5511 0 : g_variant_unref (_ret);
5512 0 : _out:
5513 0 : return _ret != NULL;
5514 : }
5515 :
5516 : /**
5517 : * gkd_exported_collection_complete_delete:
5518 : * @object: A #GkdExportedCollection.
5519 : * @invocation: (transfer full): A #GDBusMethodInvocation.
5520 : * @prompt: Parameter to return.
5521 : *
5522 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.Delete">Delete()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
5523 : *
5524 : * This method will free @invocation, you cannot use it afterwards.
5525 : */
5526 : void
5527 1 : gkd_exported_collection_complete_delete (
5528 : GkdExportedCollection *object G_GNUC_UNUSED,
5529 : GDBusMethodInvocation *invocation,
5530 : const gchar *prompt)
5531 : {
5532 1 : g_dbus_method_invocation_return_value (invocation,
5533 : g_variant_new ("(o)",
5534 : prompt));
5535 1 : }
5536 :
5537 : /**
5538 : * gkd_exported_collection_complete_search_items:
5539 : * @object: A #GkdExportedCollection.
5540 : * @invocation: (transfer full): A #GDBusMethodInvocation.
5541 : * @results: Parameter to return.
5542 : *
5543 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.SearchItems">SearchItems()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
5544 : *
5545 : * This method will free @invocation, you cannot use it afterwards.
5546 : */
5547 : void
5548 0 : gkd_exported_collection_complete_search_items (
5549 : GkdExportedCollection *object G_GNUC_UNUSED,
5550 : GDBusMethodInvocation *invocation,
5551 : const gchar *const *results)
5552 : {
5553 0 : g_dbus_method_invocation_return_value (invocation,
5554 : g_variant_new ("(^ao)",
5555 : results));
5556 0 : }
5557 :
5558 : /**
5559 : * gkd_exported_collection_complete_create_item:
5560 : * @object: A #GkdExportedCollection.
5561 : * @invocation: (transfer full): A #GDBusMethodInvocation.
5562 : * @item: Parameter to return.
5563 : * @prompt: Parameter to return.
5564 : *
5565 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Collection.CreateItem">CreateItem()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
5566 : *
5567 : * This method will free @invocation, you cannot use it afterwards.
5568 : */
5569 : void
5570 2 : gkd_exported_collection_complete_create_item (
5571 : GkdExportedCollection *object G_GNUC_UNUSED,
5572 : GDBusMethodInvocation *invocation,
5573 : const gchar *item,
5574 : const gchar *prompt)
5575 : {
5576 2 : g_dbus_method_invocation_return_value (invocation,
5577 : g_variant_new ("(oo)",
5578 : item,
5579 : prompt));
5580 2 : }
5581 :
5582 : /* ------------------------------------------------------------------------ */
5583 :
5584 : /**
5585 : * GkdExportedCollectionProxy:
5586 : *
5587 : * The #GkdExportedCollectionProxy structure contains only private data and should only be accessed using the provided API.
5588 : */
5589 :
5590 : /**
5591 : * GkdExportedCollectionProxyClass:
5592 : * @parent_class: The parent class.
5593 : *
5594 : * Class structure for #GkdExportedCollectionProxy.
5595 : */
5596 :
5597 : struct _GkdExportedCollectionProxyPrivate
5598 : {
5599 : GData *qdata;
5600 : };
5601 :
5602 : static void gkd_exported_collection_proxy_iface_init (GkdExportedCollectionIface *iface);
5603 :
5604 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
5605 0 : G_DEFINE_TYPE_WITH_CODE (GkdExportedCollectionProxy, gkd_exported_collection_proxy, G_TYPE_DBUS_PROXY,
5606 : G_ADD_PRIVATE (GkdExportedCollectionProxy)
5607 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_COLLECTION, gkd_exported_collection_proxy_iface_init))
5608 :
5609 : #else
5610 : G_DEFINE_TYPE_WITH_CODE (GkdExportedCollectionProxy, gkd_exported_collection_proxy, G_TYPE_DBUS_PROXY,
5611 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_COLLECTION, gkd_exported_collection_proxy_iface_init))
5612 :
5613 : #endif
5614 : static void
5615 0 : gkd_exported_collection_proxy_finalize (GObject *object)
5616 : {
5617 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (object);
5618 0 : g_datalist_clear (&proxy->priv->qdata);
5619 0 : G_OBJECT_CLASS (gkd_exported_collection_proxy_parent_class)->finalize (object);
5620 0 : }
5621 :
5622 : static void
5623 0 : gkd_exported_collection_proxy_get_property (GObject *object,
5624 : guint prop_id,
5625 : GValue *value,
5626 : GParamSpec *pspec G_GNUC_UNUSED)
5627 : {
5628 : const _ExtendedGDBusPropertyInfo *info;
5629 : GVariant *variant;
5630 0 : g_assert (prop_id != 0 && prop_id - 1 < 5);
5631 0 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_collection_property_info_pointers[prop_id - 1];
5632 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);
5633 0 : if (info->use_gvariant)
5634 : {
5635 0 : g_value_set_variant (value, variant);
5636 : }
5637 : else
5638 : {
5639 0 : if (variant != NULL)
5640 0 : g_dbus_gvariant_to_gvalue (variant, value);
5641 : }
5642 0 : if (variant != NULL)
5643 0 : g_variant_unref (variant);
5644 0 : }
5645 :
5646 : static void
5647 0 : gkd_exported_collection_proxy_set_property_cb (GDBusProxy *proxy,
5648 : GAsyncResult *res,
5649 : gpointer user_data)
5650 : {
5651 0 : const _ExtendedGDBusPropertyInfo *info = user_data;
5652 : GError *error;
5653 : GVariant *_ret;
5654 0 : error = NULL;
5655 0 : _ret = g_dbus_proxy_call_finish (proxy, res, &error);
5656 0 : if (!_ret)
5657 : {
5658 0 : g_warning ("Error setting property '%s' on interface org.freedesktop.Secret.Collection: %s (%s, %d)",
5659 : info->parent_struct.name,
5660 : error->message, g_quark_to_string (error->domain), error->code);
5661 0 : g_error_free (error);
5662 : }
5663 : else
5664 : {
5665 0 : g_variant_unref (_ret);
5666 : }
5667 0 : }
5668 :
5669 : static void
5670 0 : gkd_exported_collection_proxy_set_property (GObject *object,
5671 : guint prop_id,
5672 : const GValue *value,
5673 : GParamSpec *pspec G_GNUC_UNUSED)
5674 : {
5675 : const _ExtendedGDBusPropertyInfo *info;
5676 : GVariant *variant;
5677 0 : g_assert (prop_id != 0 && prop_id - 1 < 5);
5678 0 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_collection_property_info_pointers[prop_id - 1];
5679 0 : variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));
5680 0 : g_dbus_proxy_call (G_DBUS_PROXY (object),
5681 : "org.freedesktop.DBus.Properties.Set",
5682 0 : g_variant_new ("(ssv)", "org.freedesktop.Secret.Collection", info->parent_struct.name, variant),
5683 : G_DBUS_CALL_FLAGS_NONE,
5684 : -1,
5685 0 : NULL, (GAsyncReadyCallback) gkd_exported_collection_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct);
5686 0 : g_variant_unref (variant);
5687 0 : }
5688 :
5689 : static void
5690 0 : gkd_exported_collection_proxy_g_signal (GDBusProxy *proxy,
5691 : const gchar *sender_name G_GNUC_UNUSED,
5692 : const gchar *signal_name,
5693 : GVariant *parameters)
5694 : {
5695 : _ExtendedGDBusSignalInfo *info;
5696 : GVariantIter iter;
5697 : GVariant *child;
5698 : GValue *paramv;
5699 : gsize num_params;
5700 : gsize n;
5701 : guint signal_id;
5702 0 : info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gkd_exported_collection_interface_info.parent_struct, signal_name);
5703 0 : if (info == NULL)
5704 0 : return;
5705 0 : num_params = g_variant_n_children (parameters);
5706 0 : paramv = g_new0 (GValue, num_params + 1);
5707 0 : g_value_init (¶mv[0], GKD_TYPE_EXPORTED_COLLECTION);
5708 0 : g_value_set_object (¶mv[0], proxy);
5709 0 : g_variant_iter_init (&iter, parameters);
5710 0 : n = 1;
5711 0 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
5712 : {
5713 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
5714 0 : if (arg_info->use_gvariant)
5715 : {
5716 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
5717 0 : g_value_set_variant (¶mv[n], child);
5718 0 : n++;
5719 : }
5720 : else
5721 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
5722 0 : g_variant_unref (child);
5723 : }
5724 0 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_COLLECTION);
5725 0 : g_signal_emitv (paramv, signal_id, 0, NULL);
5726 0 : for (n = 0; n < num_params + 1; n++)
5727 0 : g_value_unset (¶mv[n]);
5728 0 : g_free (paramv);
5729 : }
5730 :
5731 : static void
5732 0 : gkd_exported_collection_proxy_g_properties_changed (GDBusProxy *_proxy,
5733 : GVariant *changed_properties,
5734 : const gchar *const *invalidated_properties)
5735 : {
5736 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (_proxy);
5737 : guint n;
5738 : const gchar *key;
5739 : GVariantIter *iter;
5740 : _ExtendedGDBusPropertyInfo *info;
5741 0 : g_variant_get (changed_properties, "a{sv}", &iter);
5742 0 : while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
5743 : {
5744 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_collection_interface_info.parent_struct, key);
5745 0 : g_datalist_remove_data (&proxy->priv->qdata, key);
5746 0 : if (info != NULL)
5747 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
5748 : }
5749 0 : g_variant_iter_free (iter);
5750 0 : for (n = 0; invalidated_properties[n] != NULL; n++)
5751 : {
5752 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_collection_interface_info.parent_struct, invalidated_properties[n]);
5753 0 : g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
5754 0 : if (info != NULL)
5755 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
5756 : }
5757 0 : }
5758 :
5759 : static const gchar *const *
5760 0 : gkd_exported_collection_proxy_get_items (GkdExportedCollection *object)
5761 : {
5762 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (object);
5763 : GVariant *variant;
5764 0 : const gchar *const *value = NULL;
5765 0 : value = g_datalist_get_data (&proxy->priv->qdata, "Items");
5766 0 : if (value != NULL)
5767 0 : return value;
5768 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Items");
5769 0 : if (variant != NULL)
5770 : {
5771 0 : value = g_variant_get_objv (variant, NULL);
5772 0 : g_datalist_set_data_full (&proxy->priv->qdata, "Items", (gpointer) value, g_free);
5773 0 : g_variant_unref (variant);
5774 : }
5775 0 : return value;
5776 : }
5777 :
5778 : static const gchar *
5779 0 : gkd_exported_collection_proxy_get_label (GkdExportedCollection *object)
5780 : {
5781 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (object);
5782 : GVariant *variant;
5783 0 : const gchar *value = NULL;
5784 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Label");
5785 0 : if (variant != NULL)
5786 : {
5787 0 : value = g_variant_get_string (variant, NULL);
5788 0 : g_variant_unref (variant);
5789 : }
5790 0 : return value;
5791 : }
5792 :
5793 : static gboolean
5794 0 : gkd_exported_collection_proxy_get_locked (GkdExportedCollection *object)
5795 : {
5796 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (object);
5797 : GVariant *variant;
5798 0 : gboolean value = FALSE;
5799 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Locked");
5800 0 : if (variant != NULL)
5801 : {
5802 0 : value = g_variant_get_boolean (variant);
5803 0 : g_variant_unref (variant);
5804 : }
5805 0 : return value;
5806 : }
5807 :
5808 : static guint64
5809 0 : gkd_exported_collection_proxy_get_created (GkdExportedCollection *object)
5810 : {
5811 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (object);
5812 : GVariant *variant;
5813 0 : guint64 value = 0;
5814 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Created");
5815 0 : if (variant != NULL)
5816 : {
5817 0 : value = g_variant_get_uint64 (variant);
5818 0 : g_variant_unref (variant);
5819 : }
5820 0 : return value;
5821 : }
5822 :
5823 : static guint64
5824 0 : gkd_exported_collection_proxy_get_modified (GkdExportedCollection *object)
5825 : {
5826 0 : GkdExportedCollectionProxy *proxy = GKD_EXPORTED_COLLECTION_PROXY (object);
5827 : GVariant *variant;
5828 0 : guint64 value = 0;
5829 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Modified");
5830 0 : if (variant != NULL)
5831 : {
5832 0 : value = g_variant_get_uint64 (variant);
5833 0 : g_variant_unref (variant);
5834 : }
5835 0 : return value;
5836 : }
5837 :
5838 : static void
5839 0 : gkd_exported_collection_proxy_init (GkdExportedCollectionProxy *proxy)
5840 : {
5841 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
5842 0 : proxy->priv = gkd_exported_collection_proxy_get_instance_private (proxy);
5843 : #else
5844 : proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GKD_TYPE_EXPORTED_COLLECTION_PROXY, GkdExportedCollectionProxyPrivate);
5845 : #endif
5846 :
5847 0 : g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gkd_exported_collection_interface_info ());
5848 0 : }
5849 :
5850 : static void
5851 0 : gkd_exported_collection_proxy_class_init (GkdExportedCollectionProxyClass *klass)
5852 : {
5853 : GObjectClass *gobject_class;
5854 : GDBusProxyClass *proxy_class;
5855 :
5856 0 : gobject_class = G_OBJECT_CLASS (klass);
5857 0 : gobject_class->finalize = gkd_exported_collection_proxy_finalize;
5858 0 : gobject_class->get_property = gkd_exported_collection_proxy_get_property;
5859 0 : gobject_class->set_property = gkd_exported_collection_proxy_set_property;
5860 :
5861 0 : proxy_class = G_DBUS_PROXY_CLASS (klass);
5862 0 : proxy_class->g_signal = gkd_exported_collection_proxy_g_signal;
5863 0 : proxy_class->g_properties_changed = gkd_exported_collection_proxy_g_properties_changed;
5864 :
5865 0 : gkd_exported_collection_override_properties (gobject_class, 1);
5866 :
5867 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
5868 : g_type_class_add_private (klass, sizeof (GkdExportedCollectionProxyPrivate));
5869 : #endif
5870 0 : }
5871 :
5872 : static void
5873 0 : gkd_exported_collection_proxy_iface_init (GkdExportedCollectionIface *iface)
5874 : {
5875 0 : iface->get_items = gkd_exported_collection_proxy_get_items;
5876 0 : iface->get_label = gkd_exported_collection_proxy_get_label;
5877 0 : iface->get_locked = gkd_exported_collection_proxy_get_locked;
5878 0 : iface->get_created = gkd_exported_collection_proxy_get_created;
5879 0 : iface->get_modified = gkd_exported_collection_proxy_get_modified;
5880 0 : }
5881 :
5882 : /**
5883 : * gkd_exported_collection_proxy_new:
5884 : * @connection: A #GDBusConnection.
5885 : * @flags: Flags from the #GDBusProxyFlags enumeration.
5886 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
5887 : * @object_path: An object path.
5888 : * @cancellable: (nullable): A #GCancellable or %NULL.
5889 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
5890 : * @user_data: User data to pass to @callback.
5891 : *
5892 : * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link>. See g_dbus_proxy_new() for more details.
5893 : *
5894 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
5895 : * You can then call gkd_exported_collection_proxy_new_finish() to get the result of the operation.
5896 : *
5897 : * See gkd_exported_collection_proxy_new_sync() for the synchronous, blocking version of this constructor.
5898 : */
5899 : void
5900 0 : gkd_exported_collection_proxy_new (
5901 : GDBusConnection *connection,
5902 : GDBusProxyFlags flags,
5903 : const gchar *name,
5904 : const gchar *object_path,
5905 : GCancellable *cancellable,
5906 : GAsyncReadyCallback callback,
5907 : gpointer user_data)
5908 : {
5909 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_COLLECTION_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Collection", NULL);
5910 0 : }
5911 :
5912 : /**
5913 : * gkd_exported_collection_proxy_new_finish:
5914 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_collection_proxy_new().
5915 : * @error: Return location for error or %NULL
5916 : *
5917 : * Finishes an operation started with gkd_exported_collection_proxy_new().
5918 : *
5919 : * Returns: (transfer full) (type GkdExportedCollectionProxy): The constructed proxy object or %NULL if @error is set.
5920 : */
5921 : GkdExportedCollection *
5922 0 : gkd_exported_collection_proxy_new_finish (
5923 : GAsyncResult *res,
5924 : GError **error)
5925 : {
5926 : GObject *ret;
5927 : GObject *source_object;
5928 0 : source_object = g_async_result_get_source_object (res);
5929 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
5930 0 : g_object_unref (source_object);
5931 0 : if (ret != NULL)
5932 0 : return GKD_EXPORTED_COLLECTION (ret);
5933 : else
5934 0 : return NULL;
5935 : }
5936 :
5937 : /**
5938 : * gkd_exported_collection_proxy_new_sync:
5939 : * @connection: A #GDBusConnection.
5940 : * @flags: Flags from the #GDBusProxyFlags enumeration.
5941 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
5942 : * @object_path: An object path.
5943 : * @cancellable: (nullable): A #GCancellable or %NULL.
5944 : * @error: Return location for error or %NULL
5945 : *
5946 : * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link>. See g_dbus_proxy_new_sync() for more details.
5947 : *
5948 : * The calling thread is blocked until a reply is received.
5949 : *
5950 : * See gkd_exported_collection_proxy_new() for the asynchronous version of this constructor.
5951 : *
5952 : * Returns: (transfer full) (type GkdExportedCollectionProxy): The constructed proxy object or %NULL if @error is set.
5953 : */
5954 : GkdExportedCollection *
5955 0 : gkd_exported_collection_proxy_new_sync (
5956 : GDBusConnection *connection,
5957 : GDBusProxyFlags flags,
5958 : const gchar *name,
5959 : const gchar *object_path,
5960 : GCancellable *cancellable,
5961 : GError **error)
5962 : {
5963 : GInitable *ret;
5964 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_COLLECTION_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Collection", NULL);
5965 0 : if (ret != NULL)
5966 0 : return GKD_EXPORTED_COLLECTION (ret);
5967 : else
5968 0 : return NULL;
5969 : }
5970 :
5971 :
5972 : /**
5973 : * gkd_exported_collection_proxy_new_for_bus:
5974 : * @bus_type: A #GBusType.
5975 : * @flags: Flags from the #GDBusProxyFlags enumeration.
5976 : * @name: A bus name (well-known or unique).
5977 : * @object_path: An object path.
5978 : * @cancellable: (nullable): A #GCancellable or %NULL.
5979 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
5980 : * @user_data: User data to pass to @callback.
5981 : *
5982 : * Like gkd_exported_collection_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
5983 : *
5984 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
5985 : * You can then call gkd_exported_collection_proxy_new_for_bus_finish() to get the result of the operation.
5986 : *
5987 : * See gkd_exported_collection_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
5988 : */
5989 : void
5990 0 : gkd_exported_collection_proxy_new_for_bus (
5991 : GBusType bus_type,
5992 : GDBusProxyFlags flags,
5993 : const gchar *name,
5994 : const gchar *object_path,
5995 : GCancellable *cancellable,
5996 : GAsyncReadyCallback callback,
5997 : gpointer user_data)
5998 : {
5999 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_COLLECTION_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Collection", NULL);
6000 0 : }
6001 :
6002 : /**
6003 : * gkd_exported_collection_proxy_new_for_bus_finish:
6004 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_collection_proxy_new_for_bus().
6005 : * @error: Return location for error or %NULL
6006 : *
6007 : * Finishes an operation started with gkd_exported_collection_proxy_new_for_bus().
6008 : *
6009 : * Returns: (transfer full) (type GkdExportedCollectionProxy): The constructed proxy object or %NULL if @error is set.
6010 : */
6011 : GkdExportedCollection *
6012 0 : gkd_exported_collection_proxy_new_for_bus_finish (
6013 : GAsyncResult *res,
6014 : GError **error)
6015 : {
6016 : GObject *ret;
6017 : GObject *source_object;
6018 0 : source_object = g_async_result_get_source_object (res);
6019 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
6020 0 : g_object_unref (source_object);
6021 0 : if (ret != NULL)
6022 0 : return GKD_EXPORTED_COLLECTION (ret);
6023 : else
6024 0 : return NULL;
6025 : }
6026 :
6027 : /**
6028 : * gkd_exported_collection_proxy_new_for_bus_sync:
6029 : * @bus_type: A #GBusType.
6030 : * @flags: Flags from the #GDBusProxyFlags enumeration.
6031 : * @name: A bus name (well-known or unique).
6032 : * @object_path: An object path.
6033 : * @cancellable: (nullable): A #GCancellable or %NULL.
6034 : * @error: Return location for error or %NULL
6035 : *
6036 : * Like gkd_exported_collection_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
6037 : *
6038 : * The calling thread is blocked until a reply is received.
6039 : *
6040 : * See gkd_exported_collection_proxy_new_for_bus() for the asynchronous version of this constructor.
6041 : *
6042 : * Returns: (transfer full) (type GkdExportedCollectionProxy): The constructed proxy object or %NULL if @error is set.
6043 : */
6044 : GkdExportedCollection *
6045 0 : gkd_exported_collection_proxy_new_for_bus_sync (
6046 : GBusType bus_type,
6047 : GDBusProxyFlags flags,
6048 : const gchar *name,
6049 : const gchar *object_path,
6050 : GCancellable *cancellable,
6051 : GError **error)
6052 : {
6053 : GInitable *ret;
6054 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_COLLECTION_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Collection", NULL);
6055 0 : if (ret != NULL)
6056 0 : return GKD_EXPORTED_COLLECTION (ret);
6057 : else
6058 0 : return NULL;
6059 : }
6060 :
6061 :
6062 : /* ------------------------------------------------------------------------ */
6063 :
6064 : /**
6065 : * GkdExportedCollectionSkeleton:
6066 : *
6067 : * The #GkdExportedCollectionSkeleton structure contains only private data and should only be accessed using the provided API.
6068 : */
6069 :
6070 : /**
6071 : * GkdExportedCollectionSkeletonClass:
6072 : * @parent_class: The parent class.
6073 : *
6074 : * Class structure for #GkdExportedCollectionSkeleton.
6075 : */
6076 :
6077 : struct _GkdExportedCollectionSkeletonPrivate
6078 : {
6079 : GValue *properties;
6080 : GList *changed_properties;
6081 : GSource *changed_properties_idle_source;
6082 : GMainContext *context;
6083 : GMutex lock;
6084 : };
6085 :
6086 : static void
6087 4 : _gkd_exported_collection_skeleton_handle_method_call (
6088 : GDBusConnection *connection G_GNUC_UNUSED,
6089 : const gchar *sender G_GNUC_UNUSED,
6090 : const gchar *object_path G_GNUC_UNUSED,
6091 : const gchar *interface_name,
6092 : const gchar *method_name,
6093 : GVariant *parameters,
6094 : GDBusMethodInvocation *invocation,
6095 : gpointer user_data)
6096 : {
6097 4 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (user_data);
6098 : _ExtendedGDBusMethodInfo *info;
6099 : GVariantIter iter;
6100 : GVariant *child;
6101 : GValue *paramv;
6102 : gsize num_params;
6103 : guint num_extra;
6104 : gsize n;
6105 : guint signal_id;
6106 4 : GValue return_value = G_VALUE_INIT;
6107 4 : info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
6108 4 : g_assert (info != NULL);
6109 4 : num_params = g_variant_n_children (parameters);
6110 4 : num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
6111 4 : n = 0;
6112 4 : g_value_init (¶mv[n], GKD_TYPE_EXPORTED_COLLECTION);
6113 4 : g_value_set_object (¶mv[n++], skeleton);
6114 4 : g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
6115 4 : g_value_set_object (¶mv[n++], invocation);
6116 4 : if (info->pass_fdlist)
6117 : {
6118 : #ifdef G_OS_UNIX
6119 0 : g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
6120 0 : g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
6121 : #else
6122 : g_assert_not_reached ();
6123 : #endif
6124 : }
6125 4 : g_variant_iter_init (&iter, parameters);
6126 11 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
6127 : {
6128 7 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
6129 7 : if (arg_info->use_gvariant)
6130 : {
6131 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
6132 0 : g_value_set_variant (¶mv[n], child);
6133 0 : n++;
6134 : }
6135 : else
6136 7 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
6137 7 : g_variant_unref (child);
6138 : }
6139 4 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_COLLECTION);
6140 4 : g_value_init (&return_value, G_TYPE_BOOLEAN);
6141 4 : g_signal_emitv (paramv, signal_id, 0, &return_value);
6142 4 : if (!g_value_get_boolean (&return_value))
6143 0 : g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
6144 4 : g_value_unset (&return_value);
6145 19 : for (n = 0; n < num_params + num_extra; n++)
6146 15 : g_value_unset (¶mv[n]);
6147 4 : g_free (paramv);
6148 4 : }
6149 :
6150 : static GVariant *
6151 0 : _gkd_exported_collection_skeleton_handle_get_property (
6152 : GDBusConnection *connection G_GNUC_UNUSED,
6153 : const gchar *sender G_GNUC_UNUSED,
6154 : const gchar *object_path G_GNUC_UNUSED,
6155 : const gchar *interface_name G_GNUC_UNUSED,
6156 : const gchar *property_name,
6157 : GError **error,
6158 : gpointer user_data)
6159 : {
6160 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (user_data);
6161 0 : GValue value = G_VALUE_INIT;
6162 : GParamSpec *pspec;
6163 : _ExtendedGDBusPropertyInfo *info;
6164 : GVariant *ret;
6165 0 : ret = NULL;
6166 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_collection_interface_info.parent_struct, property_name);
6167 0 : g_assert (info != NULL);
6168 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
6169 0 : if (pspec == NULL)
6170 : {
6171 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
6172 : }
6173 : else
6174 : {
6175 0 : g_value_init (&value, pspec->value_type);
6176 0 : g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
6177 0 : ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
6178 0 : g_value_unset (&value);
6179 : }
6180 0 : return ret;
6181 : }
6182 :
6183 : static gboolean
6184 0 : _gkd_exported_collection_skeleton_handle_set_property (
6185 : GDBusConnection *connection G_GNUC_UNUSED,
6186 : const gchar *sender G_GNUC_UNUSED,
6187 : const gchar *object_path G_GNUC_UNUSED,
6188 : const gchar *interface_name G_GNUC_UNUSED,
6189 : const gchar *property_name,
6190 : GVariant *variant,
6191 : GError **error,
6192 : gpointer user_data)
6193 : {
6194 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (user_data);
6195 0 : GValue value = G_VALUE_INIT;
6196 : GParamSpec *pspec;
6197 : _ExtendedGDBusPropertyInfo *info;
6198 : gboolean ret;
6199 0 : ret = FALSE;
6200 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_collection_interface_info.parent_struct, property_name);
6201 0 : g_assert (info != NULL);
6202 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
6203 0 : if (pspec == NULL)
6204 : {
6205 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
6206 : }
6207 : else
6208 : {
6209 0 : if (info->use_gvariant)
6210 0 : g_value_set_variant (&value, variant);
6211 : else
6212 0 : g_dbus_gvariant_to_gvalue (variant, &value);
6213 0 : g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
6214 0 : g_value_unset (&value);
6215 0 : ret = TRUE;
6216 : }
6217 0 : return ret;
6218 : }
6219 :
6220 : static const GDBusInterfaceVTable _gkd_exported_collection_skeleton_vtable =
6221 : {
6222 : _gkd_exported_collection_skeleton_handle_method_call,
6223 : _gkd_exported_collection_skeleton_handle_get_property,
6224 : _gkd_exported_collection_skeleton_handle_set_property,
6225 : {NULL}
6226 : };
6227 :
6228 : static GDBusInterfaceInfo *
6229 50 : gkd_exported_collection_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
6230 : {
6231 50 : return gkd_exported_collection_interface_info ();
6232 : }
6233 :
6234 : static GDBusInterfaceVTable *
6235 54 : gkd_exported_collection_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
6236 : {
6237 54 : return (GDBusInterfaceVTable *) &_gkd_exported_collection_skeleton_vtable;
6238 : }
6239 :
6240 : static GVariant *
6241 0 : gkd_exported_collection_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
6242 : {
6243 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (_skeleton);
6244 :
6245 : GVariantBuilder builder;
6246 : guint n;
6247 0 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
6248 0 : if (_gkd_exported_collection_interface_info.parent_struct.properties == NULL)
6249 0 : goto out;
6250 0 : for (n = 0; _gkd_exported_collection_interface_info.parent_struct.properties[n] != NULL; n++)
6251 : {
6252 0 : GDBusPropertyInfo *info = _gkd_exported_collection_interface_info.parent_struct.properties[n];
6253 0 : if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
6254 : {
6255 : GVariant *value;
6256 0 : value = _gkd_exported_collection_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Collection", info->name, NULL, skeleton);
6257 0 : if (value != NULL)
6258 : {
6259 0 : g_variant_take_ref (value);
6260 0 : g_variant_builder_add (&builder, "{sv}", info->name, value);
6261 0 : g_variant_unref (value);
6262 : }
6263 : }
6264 : }
6265 0 : out:
6266 0 : return g_variant_builder_end (&builder);
6267 : }
6268 :
6269 : static gboolean _gkd_exported_collection_emit_changed (gpointer user_data);
6270 :
6271 : static void
6272 0 : gkd_exported_collection_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
6273 : {
6274 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (_skeleton);
6275 0 : gboolean emit_changed = FALSE;
6276 :
6277 0 : g_mutex_lock (&skeleton->priv->lock);
6278 0 : if (skeleton->priv->changed_properties_idle_source != NULL)
6279 : {
6280 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
6281 0 : skeleton->priv->changed_properties_idle_source = NULL;
6282 0 : emit_changed = TRUE;
6283 : }
6284 0 : g_mutex_unlock (&skeleton->priv->lock);
6285 :
6286 0 : if (emit_changed)
6287 0 : _gkd_exported_collection_emit_changed (skeleton);
6288 0 : }
6289 :
6290 : static void
6291 2 : _gkd_exported_collection_on_signal_item_created (
6292 : GkdExportedCollection *object,
6293 : const gchar *arg_item)
6294 : {
6295 2 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6296 :
6297 : GList *connections, *l;
6298 : GVariant *signal_variant;
6299 2 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
6300 :
6301 2 : signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
6302 : arg_item));
6303 4 : for (l = connections; l != NULL; l = l->next)
6304 : {
6305 2 : GDBusConnection *connection = l->data;
6306 2 : g_dbus_connection_emit_signal (connection,
6307 2 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Collection", "ItemCreated",
6308 : signal_variant, NULL);
6309 : }
6310 2 : g_variant_unref (signal_variant);
6311 2 : g_list_free_full (connections, g_object_unref);
6312 2 : }
6313 :
6314 : static void
6315 1 : _gkd_exported_collection_on_signal_item_deleted (
6316 : GkdExportedCollection *object,
6317 : const gchar *arg_item)
6318 : {
6319 1 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6320 :
6321 : GList *connections, *l;
6322 : GVariant *signal_variant;
6323 1 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
6324 :
6325 1 : signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
6326 : arg_item));
6327 2 : for (l = connections; l != NULL; l = l->next)
6328 : {
6329 1 : GDBusConnection *connection = l->data;
6330 1 : g_dbus_connection_emit_signal (connection,
6331 1 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Collection", "ItemDeleted",
6332 : signal_variant, NULL);
6333 : }
6334 1 : g_variant_unref (signal_variant);
6335 1 : g_list_free_full (connections, g_object_unref);
6336 1 : }
6337 :
6338 : static void
6339 21 : _gkd_exported_collection_on_signal_item_changed (
6340 : GkdExportedCollection *object,
6341 : const gchar *arg_item)
6342 : {
6343 21 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6344 :
6345 : GList *connections, *l;
6346 : GVariant *signal_variant;
6347 21 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
6348 :
6349 21 : signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
6350 : arg_item));
6351 42 : for (l = connections; l != NULL; l = l->next)
6352 : {
6353 21 : GDBusConnection *connection = l->data;
6354 21 : g_dbus_connection_emit_signal (connection,
6355 21 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Collection", "ItemChanged",
6356 : signal_variant, NULL);
6357 : }
6358 21 : g_variant_unref (signal_variant);
6359 21 : g_list_free_full (connections, g_object_unref);
6360 21 : }
6361 :
6362 : static void gkd_exported_collection_skeleton_iface_init (GkdExportedCollectionIface *iface);
6363 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
6364 261 : G_DEFINE_TYPE_WITH_CODE (GkdExportedCollectionSkeleton, gkd_exported_collection_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
6365 : G_ADD_PRIVATE (GkdExportedCollectionSkeleton)
6366 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_COLLECTION, gkd_exported_collection_skeleton_iface_init))
6367 :
6368 : #else
6369 : G_DEFINE_TYPE_WITH_CODE (GkdExportedCollectionSkeleton, gkd_exported_collection_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
6370 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_COLLECTION, gkd_exported_collection_skeleton_iface_init))
6371 :
6372 : #endif
6373 : static void
6374 50 : gkd_exported_collection_skeleton_finalize (GObject *object)
6375 : {
6376 50 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6377 : guint n;
6378 300 : for (n = 0; n < 5; n++)
6379 250 : g_value_unset (&skeleton->priv->properties[n]);
6380 50 : g_free (skeleton->priv->properties);
6381 50 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
6382 50 : if (skeleton->priv->changed_properties_idle_source != NULL)
6383 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
6384 50 : g_main_context_unref (skeleton->priv->context);
6385 50 : g_mutex_clear (&skeleton->priv->lock);
6386 50 : G_OBJECT_CLASS (gkd_exported_collection_skeleton_parent_class)->finalize (object);
6387 50 : }
6388 :
6389 : static void
6390 0 : gkd_exported_collection_skeleton_get_property (GObject *object,
6391 : guint prop_id,
6392 : GValue *value,
6393 : GParamSpec *pspec G_GNUC_UNUSED)
6394 : {
6395 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6396 0 : g_assert (prop_id != 0 && prop_id - 1 < 5);
6397 0 : g_mutex_lock (&skeleton->priv->lock);
6398 0 : g_value_copy (&skeleton->priv->properties[prop_id - 1], value);
6399 0 : g_mutex_unlock (&skeleton->priv->lock);
6400 0 : }
6401 :
6402 : static gboolean
6403 10 : _gkd_exported_collection_emit_changed (gpointer user_data)
6404 : {
6405 10 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (user_data);
6406 : GList *l;
6407 : GVariantBuilder builder;
6408 : GVariantBuilder invalidated_builder;
6409 : guint num_changes;
6410 :
6411 10 : g_mutex_lock (&skeleton->priv->lock);
6412 10 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
6413 10 : g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));
6414 20 : for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)
6415 : {
6416 10 : ChangedProperty *cp = l->data;
6417 : GVariant *variant;
6418 : const GValue *cur_value;
6419 :
6420 10 : cur_value = &skeleton->priv->properties[cp->prop_id - 1];
6421 10 : if (!_g_value_equal (cur_value, &cp->orig_value))
6422 : {
6423 10 : variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));
6424 10 : g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);
6425 10 : g_variant_unref (variant);
6426 10 : num_changes++;
6427 : }
6428 : }
6429 10 : if (num_changes > 0)
6430 : {
6431 : GList *connections, *ll;
6432 : GVariant *signal_variant;
6433 10 : signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.Secret.Collection",
6434 : &builder, &invalidated_builder));
6435 10 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
6436 20 : for (ll = connections; ll != NULL; ll = ll->next)
6437 : {
6438 10 : GDBusConnection *connection = ll->data;
6439 :
6440 10 : g_dbus_connection_emit_signal (connection,
6441 10 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),
6442 : "org.freedesktop.DBus.Properties",
6443 : "PropertiesChanged",
6444 : signal_variant,
6445 : NULL);
6446 : }
6447 10 : g_variant_unref (signal_variant);
6448 10 : g_list_free_full (connections, g_object_unref);
6449 : }
6450 : else
6451 : {
6452 0 : g_variant_builder_clear (&builder);
6453 0 : g_variant_builder_clear (&invalidated_builder);
6454 : }
6455 10 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
6456 10 : skeleton->priv->changed_properties = NULL;
6457 10 : skeleton->priv->changed_properties_idle_source = NULL;
6458 10 : g_mutex_unlock (&skeleton->priv->lock);
6459 10 : return FALSE;
6460 : }
6461 :
6462 : static void
6463 10 : _gkd_exported_collection_schedule_emit_changed (GkdExportedCollectionSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)
6464 : {
6465 : ChangedProperty *cp;
6466 : GList *l;
6467 10 : cp = NULL;
6468 10 : for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)
6469 : {
6470 0 : ChangedProperty *i_cp = l->data;
6471 0 : if (i_cp->info == info)
6472 : {
6473 0 : cp = i_cp;
6474 0 : break;
6475 : }
6476 : }
6477 10 : if (cp == NULL)
6478 : {
6479 10 : cp = g_new0 (ChangedProperty, 1);
6480 10 : cp->prop_id = prop_id;
6481 10 : cp->info = info;
6482 10 : skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);
6483 10 : g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));
6484 10 : g_value_copy (orig_value, &cp->orig_value);
6485 : }
6486 10 : }
6487 :
6488 : static void
6489 24 : gkd_exported_collection_skeleton_notify (GObject *object,
6490 : GParamSpec *pspec G_GNUC_UNUSED)
6491 : {
6492 24 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6493 24 : g_mutex_lock (&skeleton->priv->lock);
6494 24 : if (skeleton->priv->changed_properties != NULL &&
6495 10 : skeleton->priv->changed_properties_idle_source == NULL)
6496 : {
6497 10 : skeleton->priv->changed_properties_idle_source = g_idle_source_new ();
6498 10 : g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);
6499 10 : g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gkd_exported_collection_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
6500 10 : g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gkd_exported_collection_emit_changed");
6501 10 : g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);
6502 10 : g_source_unref (skeleton->priv->changed_properties_idle_source);
6503 : }
6504 24 : g_mutex_unlock (&skeleton->priv->lock);
6505 24 : }
6506 :
6507 : static void
6508 24 : gkd_exported_collection_skeleton_set_property (GObject *object,
6509 : guint prop_id,
6510 : const GValue *value,
6511 : GParamSpec *pspec)
6512 : {
6513 : const _ExtendedGDBusPropertyInfo *info;
6514 24 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6515 24 : g_assert (prop_id != 0 && prop_id - 1 < 5);
6516 24 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_collection_property_info_pointers[prop_id - 1];
6517 24 : g_mutex_lock (&skeleton->priv->lock);
6518 24 : g_object_freeze_notify (object);
6519 24 : if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))
6520 : {
6521 10 : if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL &&
6522 : info->emits_changed_signal)
6523 10 : _gkd_exported_collection_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]);
6524 10 : g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);
6525 10 : g_object_notify_by_pspec (object, pspec);
6526 : }
6527 24 : g_mutex_unlock (&skeleton->priv->lock);
6528 24 : g_object_thaw_notify (object);
6529 24 : }
6530 :
6531 : static void
6532 50 : gkd_exported_collection_skeleton_init (GkdExportedCollectionSkeleton *skeleton)
6533 : {
6534 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
6535 50 : skeleton->priv = gkd_exported_collection_skeleton_get_instance_private (skeleton);
6536 : #else
6537 : skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GKD_TYPE_EXPORTED_COLLECTION_SKELETON, GkdExportedCollectionSkeletonPrivate);
6538 : #endif
6539 :
6540 50 : g_mutex_init (&skeleton->priv->lock);
6541 50 : skeleton->priv->context = g_main_context_ref_thread_default ();
6542 50 : skeleton->priv->properties = g_new0 (GValue, 5);
6543 50 : g_value_init (&skeleton->priv->properties[0], G_TYPE_STRV);
6544 50 : g_value_init (&skeleton->priv->properties[1], G_TYPE_STRING);
6545 50 : g_value_init (&skeleton->priv->properties[2], G_TYPE_BOOLEAN);
6546 50 : g_value_init (&skeleton->priv->properties[3], G_TYPE_UINT64);
6547 50 : g_value_init (&skeleton->priv->properties[4], G_TYPE_UINT64);
6548 50 : }
6549 :
6550 : static const gchar *const *
6551 0 : gkd_exported_collection_skeleton_get_items (GkdExportedCollection *object)
6552 : {
6553 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6554 : const gchar *const *value;
6555 0 : g_mutex_lock (&skeleton->priv->lock);
6556 0 : value = g_marshal_value_peek_boxed (&(skeleton->priv->properties[0]));
6557 0 : g_mutex_unlock (&skeleton->priv->lock);
6558 0 : return value;
6559 : }
6560 :
6561 : static const gchar *
6562 0 : gkd_exported_collection_skeleton_get_label (GkdExportedCollection *object)
6563 : {
6564 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6565 : const gchar *value;
6566 0 : g_mutex_lock (&skeleton->priv->lock);
6567 0 : value = g_marshal_value_peek_string (&(skeleton->priv->properties[1]));
6568 0 : g_mutex_unlock (&skeleton->priv->lock);
6569 0 : return value;
6570 : }
6571 :
6572 : static gboolean
6573 0 : gkd_exported_collection_skeleton_get_locked (GkdExportedCollection *object)
6574 : {
6575 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6576 : gboolean value;
6577 0 : g_mutex_lock (&skeleton->priv->lock);
6578 0 : value = g_marshal_value_peek_boolean (&(skeleton->priv->properties[2]));
6579 0 : g_mutex_unlock (&skeleton->priv->lock);
6580 0 : return value;
6581 : }
6582 :
6583 : static guint64
6584 0 : gkd_exported_collection_skeleton_get_created (GkdExportedCollection *object)
6585 : {
6586 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6587 : guint64 value;
6588 0 : g_mutex_lock (&skeleton->priv->lock);
6589 0 : value = g_marshal_value_peek_uint64 (&(skeleton->priv->properties[3]));
6590 0 : g_mutex_unlock (&skeleton->priv->lock);
6591 0 : return value;
6592 : }
6593 :
6594 : static guint64
6595 0 : gkd_exported_collection_skeleton_get_modified (GkdExportedCollection *object)
6596 : {
6597 0 : GkdExportedCollectionSkeleton *skeleton = GKD_EXPORTED_COLLECTION_SKELETON (object);
6598 : guint64 value;
6599 0 : g_mutex_lock (&skeleton->priv->lock);
6600 0 : value = g_marshal_value_peek_uint64 (&(skeleton->priv->properties[4]));
6601 0 : g_mutex_unlock (&skeleton->priv->lock);
6602 0 : return value;
6603 : }
6604 :
6605 : static void
6606 25 : gkd_exported_collection_skeleton_class_init (GkdExportedCollectionSkeletonClass *klass)
6607 : {
6608 : GObjectClass *gobject_class;
6609 : GDBusInterfaceSkeletonClass *skeleton_class;
6610 :
6611 25 : gobject_class = G_OBJECT_CLASS (klass);
6612 25 : gobject_class->finalize = gkd_exported_collection_skeleton_finalize;
6613 25 : gobject_class->get_property = gkd_exported_collection_skeleton_get_property;
6614 25 : gobject_class->set_property = gkd_exported_collection_skeleton_set_property;
6615 25 : gobject_class->notify = gkd_exported_collection_skeleton_notify;
6616 :
6617 :
6618 25 : gkd_exported_collection_override_properties (gobject_class, 1);
6619 :
6620 25 : skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
6621 25 : skeleton_class->get_info = gkd_exported_collection_skeleton_dbus_interface_get_info;
6622 25 : skeleton_class->get_properties = gkd_exported_collection_skeleton_dbus_interface_get_properties;
6623 25 : skeleton_class->flush = gkd_exported_collection_skeleton_dbus_interface_flush;
6624 25 : skeleton_class->get_vtable = gkd_exported_collection_skeleton_dbus_interface_get_vtable;
6625 :
6626 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
6627 : g_type_class_add_private (klass, sizeof (GkdExportedCollectionSkeletonPrivate));
6628 : #endif
6629 25 : }
6630 :
6631 : static void
6632 25 : gkd_exported_collection_skeleton_iface_init (GkdExportedCollectionIface *iface)
6633 : {
6634 25 : iface->item_created = _gkd_exported_collection_on_signal_item_created;
6635 25 : iface->item_deleted = _gkd_exported_collection_on_signal_item_deleted;
6636 25 : iface->item_changed = _gkd_exported_collection_on_signal_item_changed;
6637 25 : iface->get_items = gkd_exported_collection_skeleton_get_items;
6638 25 : iface->get_label = gkd_exported_collection_skeleton_get_label;
6639 25 : iface->get_locked = gkd_exported_collection_skeleton_get_locked;
6640 25 : iface->get_created = gkd_exported_collection_skeleton_get_created;
6641 25 : iface->get_modified = gkd_exported_collection_skeleton_get_modified;
6642 25 : }
6643 :
6644 : /**
6645 : * gkd_exported_collection_skeleton_new:
6646 : *
6647 : * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Collection.top_of_page">org.freedesktop.Secret.Collection</link>.
6648 : *
6649 : * Returns: (transfer full) (type GkdExportedCollectionSkeleton): The skeleton object.
6650 : */
6651 : GkdExportedCollection *
6652 0 : gkd_exported_collection_skeleton_new (void)
6653 : {
6654 0 : return GKD_EXPORTED_COLLECTION (g_object_new (GKD_TYPE_EXPORTED_COLLECTION_SKELETON, NULL));
6655 : }
6656 :
6657 : /* ------------------------------------------------------------------------
6658 : * Code for interface org.freedesktop.Secret.Item
6659 : * ------------------------------------------------------------------------
6660 : */
6661 :
6662 : /**
6663 : * SECTION:GkdExportedItem
6664 : * @title: GkdExportedItem
6665 : * @short_description: Generated C code for the org.freedesktop.Secret.Item D-Bus interface
6666 : *
6667 : * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link> D-Bus interface in C.
6668 : */
6669 :
6670 : /* ---- Introspection data for org.freedesktop.Secret.Item ---- */
6671 :
6672 : static const _ExtendedGDBusArgInfo _gkd_exported_item_method_info_delete_OUT_ARG_Prompt =
6673 : {
6674 : {
6675 : -1,
6676 : (gchar *) "Prompt",
6677 : (gchar *) "o",
6678 : NULL
6679 : },
6680 : FALSE
6681 : };
6682 :
6683 : static const GDBusArgInfo * const _gkd_exported_item_method_info_delete_OUT_ARG_pointers[] =
6684 : {
6685 : &_gkd_exported_item_method_info_delete_OUT_ARG_Prompt.parent_struct,
6686 : NULL
6687 : };
6688 :
6689 : static const _ExtendedGDBusMethodInfo _gkd_exported_item_method_info_delete =
6690 : {
6691 : {
6692 : -1,
6693 : (gchar *) "Delete",
6694 : NULL,
6695 : (GDBusArgInfo **) &_gkd_exported_item_method_info_delete_OUT_ARG_pointers,
6696 : NULL
6697 : },
6698 : "handle-delete",
6699 : FALSE
6700 : };
6701 :
6702 : static const _ExtendedGDBusArgInfo _gkd_exported_item_method_info_get_secret_IN_ARG_session =
6703 : {
6704 : {
6705 : -1,
6706 : (gchar *) "session",
6707 : (gchar *) "o",
6708 : NULL
6709 : },
6710 : FALSE
6711 : };
6712 :
6713 : static const GDBusArgInfo * const _gkd_exported_item_method_info_get_secret_IN_ARG_pointers[] =
6714 : {
6715 : &_gkd_exported_item_method_info_get_secret_IN_ARG_session.parent_struct,
6716 : NULL
6717 : };
6718 :
6719 : static const _ExtendedGDBusArgInfo _gkd_exported_item_method_info_get_secret_OUT_ARG_secret =
6720 : {
6721 : {
6722 : -1,
6723 : (gchar *) "secret",
6724 : (gchar *) "(oayays)",
6725 : NULL
6726 : },
6727 : FALSE
6728 : };
6729 :
6730 : static const GDBusArgInfo * const _gkd_exported_item_method_info_get_secret_OUT_ARG_pointers[] =
6731 : {
6732 : &_gkd_exported_item_method_info_get_secret_OUT_ARG_secret.parent_struct,
6733 : NULL
6734 : };
6735 :
6736 : static const _ExtendedGDBusMethodInfo _gkd_exported_item_method_info_get_secret =
6737 : {
6738 : {
6739 : -1,
6740 : (gchar *) "GetSecret",
6741 : (GDBusArgInfo **) &_gkd_exported_item_method_info_get_secret_IN_ARG_pointers,
6742 : (GDBusArgInfo **) &_gkd_exported_item_method_info_get_secret_OUT_ARG_pointers,
6743 : NULL
6744 : },
6745 : "handle-get-secret",
6746 : FALSE
6747 : };
6748 :
6749 : static const _ExtendedGDBusArgInfo _gkd_exported_item_method_info_set_secret_IN_ARG_secret =
6750 : {
6751 : {
6752 : -1,
6753 : (gchar *) "secret",
6754 : (gchar *) "(oayays)",
6755 : NULL
6756 : },
6757 : FALSE
6758 : };
6759 :
6760 : static const GDBusArgInfo * const _gkd_exported_item_method_info_set_secret_IN_ARG_pointers[] =
6761 : {
6762 : &_gkd_exported_item_method_info_set_secret_IN_ARG_secret.parent_struct,
6763 : NULL
6764 : };
6765 :
6766 : static const _ExtendedGDBusMethodInfo _gkd_exported_item_method_info_set_secret =
6767 : {
6768 : {
6769 : -1,
6770 : (gchar *) "SetSecret",
6771 : (GDBusArgInfo **) &_gkd_exported_item_method_info_set_secret_IN_ARG_pointers,
6772 : NULL,
6773 : NULL
6774 : },
6775 : "handle-set-secret",
6776 : FALSE
6777 : };
6778 :
6779 : static const GDBusMethodInfo * const _gkd_exported_item_method_info_pointers[] =
6780 : {
6781 : &_gkd_exported_item_method_info_delete.parent_struct,
6782 : &_gkd_exported_item_method_info_get_secret.parent_struct,
6783 : &_gkd_exported_item_method_info_set_secret.parent_struct,
6784 : NULL
6785 : };
6786 :
6787 : static const _ExtendedGDBusPropertyInfo _gkd_exported_item_property_info_locked =
6788 : {
6789 : {
6790 : -1,
6791 : (gchar *) "Locked",
6792 : (gchar *) "b",
6793 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
6794 : NULL
6795 : },
6796 : "locked",
6797 : FALSE,
6798 : TRUE
6799 : };
6800 :
6801 : static const _ExtendedGDBusPropertyInfo _gkd_exported_item_property_info_attributes =
6802 : {
6803 : {
6804 : -1,
6805 : (gchar *) "Attributes",
6806 : (gchar *) "a{ss}",
6807 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE,
6808 : NULL
6809 : },
6810 : "attributes",
6811 : FALSE,
6812 : TRUE
6813 : };
6814 :
6815 : static const _ExtendedGDBusPropertyInfo _gkd_exported_item_property_info_label =
6816 : {
6817 : {
6818 : -1,
6819 : (gchar *) "Label",
6820 : (gchar *) "s",
6821 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE,
6822 : NULL
6823 : },
6824 : "label",
6825 : FALSE,
6826 : TRUE
6827 : };
6828 :
6829 : static const _ExtendedGDBusPropertyInfo _gkd_exported_item_property_info_type_ =
6830 : {
6831 : {
6832 : -1,
6833 : (gchar *) "Type",
6834 : (gchar *) "s",
6835 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE,
6836 : NULL
6837 : },
6838 : "type",
6839 : FALSE,
6840 : TRUE
6841 : };
6842 :
6843 : static const _ExtendedGDBusPropertyInfo _gkd_exported_item_property_info_created =
6844 : {
6845 : {
6846 : -1,
6847 : (gchar *) "Created",
6848 : (gchar *) "t",
6849 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
6850 : NULL
6851 : },
6852 : "created",
6853 : FALSE,
6854 : TRUE
6855 : };
6856 :
6857 : static const _ExtendedGDBusPropertyInfo _gkd_exported_item_property_info_modified =
6858 : {
6859 : {
6860 : -1,
6861 : (gchar *) "Modified",
6862 : (gchar *) "t",
6863 : G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
6864 : NULL
6865 : },
6866 : "modified",
6867 : FALSE,
6868 : TRUE
6869 : };
6870 :
6871 : static const GDBusPropertyInfo * const _gkd_exported_item_property_info_pointers[] =
6872 : {
6873 : &_gkd_exported_item_property_info_locked.parent_struct,
6874 : &_gkd_exported_item_property_info_attributes.parent_struct,
6875 : &_gkd_exported_item_property_info_label.parent_struct,
6876 : &_gkd_exported_item_property_info_type_.parent_struct,
6877 : &_gkd_exported_item_property_info_created.parent_struct,
6878 : &_gkd_exported_item_property_info_modified.parent_struct,
6879 : NULL
6880 : };
6881 :
6882 : static const _ExtendedGDBusInterfaceInfo _gkd_exported_item_interface_info =
6883 : {
6884 : {
6885 : -1,
6886 : (gchar *) "org.freedesktop.Secret.Item",
6887 : (GDBusMethodInfo **) &_gkd_exported_item_method_info_pointers,
6888 : NULL,
6889 : (GDBusPropertyInfo **) &_gkd_exported_item_property_info_pointers,
6890 : NULL
6891 : },
6892 : "exported-item",
6893 : };
6894 :
6895 :
6896 : /**
6897 : * gkd_exported_item_interface_info:
6898 : *
6899 : * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link> D-Bus interface.
6900 : *
6901 : * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
6902 : */
6903 : GDBusInterfaceInfo *
6904 25 : gkd_exported_item_interface_info (void)
6905 : {
6906 25 : return (GDBusInterfaceInfo *) &_gkd_exported_item_interface_info.parent_struct;
6907 : }
6908 :
6909 : /**
6910 : * gkd_exported_item_override_properties:
6911 : * @klass: The class structure for a #GObject derived class.
6912 : * @property_id_begin: The property id to assign to the first overridden property.
6913 : *
6914 : * Overrides all #GObject properties in the #GkdExportedItem interface for a concrete class.
6915 : * The properties are overridden in the order they are defined.
6916 : *
6917 : * Returns: The last property id.
6918 : */
6919 : guint
6920 23 : gkd_exported_item_override_properties (GObjectClass *klass, guint property_id_begin)
6921 : {
6922 23 : g_object_class_override_property (klass, property_id_begin++, "locked");
6923 23 : g_object_class_override_property (klass, property_id_begin++, "attributes");
6924 23 : g_object_class_override_property (klass, property_id_begin++, "label");
6925 23 : g_object_class_override_property (klass, property_id_begin++, "type");
6926 23 : g_object_class_override_property (klass, property_id_begin++, "created");
6927 23 : g_object_class_override_property (klass, property_id_begin++, "modified");
6928 23 : return property_id_begin - 1;
6929 : }
6930 :
6931 :
6932 : inline static void
6933 1 : gkd_exported_item_method_marshal_delete (
6934 : GClosure *closure,
6935 : GValue *return_value,
6936 : unsigned int n_param_values,
6937 : const GValue *param_values,
6938 : void *invocation_hint,
6939 : void *marshal_data)
6940 : {
6941 1 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT (closure,
6942 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
6943 1 : }
6944 :
6945 : inline static void
6946 0 : gkd_exported_item_method_marshal_get_secret (
6947 : GClosure *closure,
6948 : GValue *return_value,
6949 : unsigned int n_param_values,
6950 : const GValue *param_values,
6951 : void *invocation_hint,
6952 : void *marshal_data)
6953 : {
6954 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING (closure,
6955 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
6956 0 : }
6957 :
6958 : inline static void
6959 0 : gkd_exported_item_method_marshal_set_secret (
6960 : GClosure *closure,
6961 : GValue *return_value,
6962 : unsigned int n_param_values,
6963 : const GValue *param_values,
6964 : void *invocation_hint,
6965 : void *marshal_data)
6966 : {
6967 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_VARIANT (closure,
6968 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
6969 0 : }
6970 :
6971 :
6972 : /**
6973 : * GkdExportedItem:
6974 : *
6975 : * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link>.
6976 : */
6977 :
6978 : /**
6979 : * GkdExportedItemIface:
6980 : * @parent_iface: The parent interface.
6981 : * @handle_delete: Handler for the #GkdExportedItem::handle-delete signal.
6982 : * @handle_get_secret: Handler for the #GkdExportedItem::handle-get-secret signal.
6983 : * @handle_set_secret: Handler for the #GkdExportedItem::handle-set-secret signal.
6984 : * @get_attributes: Getter for the #GkdExportedItem:attributes property.
6985 : * @get_created: Getter for the #GkdExportedItem:created property.
6986 : * @get_label: Getter for the #GkdExportedItem:label property.
6987 : * @get_locked: Getter for the #GkdExportedItem:locked property.
6988 : * @get_modified: Getter for the #GkdExportedItem:modified property.
6989 : * @get_type_: Getter for the #GkdExportedItem:type property.
6990 : *
6991 : * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link>.
6992 : */
6993 :
6994 : typedef GkdExportedItemIface GkdExportedItemInterface;
6995 26 : G_DEFINE_INTERFACE (GkdExportedItem, gkd_exported_item, G_TYPE_OBJECT)
6996 :
6997 : static void
6998 23 : gkd_exported_item_default_init (GkdExportedItemIface *iface)
6999 : {
7000 : /* GObject signals for incoming D-Bus method calls: */
7001 : /**
7002 : * GkdExportedItem::handle-delete:
7003 : * @object: A #GkdExportedItem.
7004 : * @invocation: A #GDBusMethodInvocation.
7005 : *
7006 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Item.Delete">Delete()</link> D-Bus method.
7007 : *
7008 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_item_complete_delete() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
7009 : *
7010 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
7011 : */
7012 23 : g_signal_new ("handle-delete",
7013 : G_TYPE_FROM_INTERFACE (iface),
7014 : G_SIGNAL_RUN_LAST,
7015 : G_STRUCT_OFFSET (GkdExportedItemIface, handle_delete),
7016 : g_signal_accumulator_true_handled,
7017 : NULL,
7018 : gkd_exported_item_method_marshal_delete,
7019 : G_TYPE_BOOLEAN,
7020 : 1,
7021 : G_TYPE_DBUS_METHOD_INVOCATION);
7022 :
7023 : /**
7024 : * GkdExportedItem::handle-get-secret:
7025 : * @object: A #GkdExportedItem.
7026 : * @invocation: A #GDBusMethodInvocation.
7027 : * @arg_session: Argument passed by remote caller.
7028 : *
7029 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Item.GetSecret">GetSecret()</link> D-Bus method.
7030 : *
7031 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_item_complete_get_secret() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
7032 : *
7033 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
7034 : */
7035 23 : g_signal_new ("handle-get-secret",
7036 : G_TYPE_FROM_INTERFACE (iface),
7037 : G_SIGNAL_RUN_LAST,
7038 : G_STRUCT_OFFSET (GkdExportedItemIface, handle_get_secret),
7039 : g_signal_accumulator_true_handled,
7040 : NULL,
7041 : gkd_exported_item_method_marshal_get_secret,
7042 : G_TYPE_BOOLEAN,
7043 : 2,
7044 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
7045 :
7046 : /**
7047 : * GkdExportedItem::handle-set-secret:
7048 : * @object: A #GkdExportedItem.
7049 : * @invocation: A #GDBusMethodInvocation.
7050 : * @arg_secret: Argument passed by remote caller.
7051 : *
7052 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Item.SetSecret">SetSecret()</link> D-Bus method.
7053 : *
7054 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_item_complete_set_secret() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
7055 : *
7056 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
7057 : */
7058 23 : g_signal_new ("handle-set-secret",
7059 : G_TYPE_FROM_INTERFACE (iface),
7060 : G_SIGNAL_RUN_LAST,
7061 : G_STRUCT_OFFSET (GkdExportedItemIface, handle_set_secret),
7062 : g_signal_accumulator_true_handled,
7063 : NULL,
7064 : gkd_exported_item_method_marshal_set_secret,
7065 : G_TYPE_BOOLEAN,
7066 : 2,
7067 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT);
7068 :
7069 : /* GObject properties for D-Bus properties: */
7070 : /**
7071 : * GkdExportedItem:locked:
7072 : *
7073 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Item.Locked">"Locked"</link>.
7074 : *
7075 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
7076 : */
7077 23 : g_object_interface_install_property (iface,
7078 : g_param_spec_boolean ("locked", "Locked", "Locked", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
7079 : /**
7080 : * GkdExportedItem:attributes:
7081 : *
7082 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Item.Attributes">"Attributes"</link>.
7083 : *
7084 : * Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.
7085 : */
7086 23 : g_object_interface_install_property (iface,
7087 : g_param_spec_variant ("attributes", "Attributes", "Attributes", G_VARIANT_TYPE ("a{ss}"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
7088 : /**
7089 : * GkdExportedItem:label:
7090 : *
7091 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Item.Label">"Label"</link>.
7092 : *
7093 : * Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.
7094 : */
7095 23 : g_object_interface_install_property (iface,
7096 : g_param_spec_string ("label", "Label", "Label", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
7097 : /**
7098 : * GkdExportedItem:type:
7099 : *
7100 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Item.Type">"Type"</link>.
7101 : *
7102 : * Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.
7103 : */
7104 23 : g_object_interface_install_property (iface,
7105 : g_param_spec_string ("type", "Type", "Type", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
7106 : /**
7107 : * GkdExportedItem:created:
7108 : *
7109 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Item.Created">"Created"</link>.
7110 : *
7111 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
7112 : */
7113 23 : g_object_interface_install_property (iface,
7114 : g_param_spec_uint64 ("created", "Created", "Created", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
7115 : /**
7116 : * GkdExportedItem:modified:
7117 : *
7118 : * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-Secret-Item.Modified">"Modified"</link>.
7119 : *
7120 : * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
7121 : */
7122 23 : g_object_interface_install_property (iface,
7123 : g_param_spec_uint64 ("modified", "Modified", "Modified", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
7124 23 : }
7125 :
7126 : /**
7127 : * gkd_exported_item_get_locked: (skip)
7128 : * @object: A #GkdExportedItem.
7129 : *
7130 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Locked">"Locked"</link> D-Bus property.
7131 : *
7132 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
7133 : *
7134 : * Returns: The property value.
7135 : */
7136 : gboolean
7137 0 : gkd_exported_item_get_locked (GkdExportedItem *object)
7138 : {
7139 0 : g_return_val_if_fail (GKD_IS_EXPORTED_ITEM (object), FALSE);
7140 :
7141 0 : return GKD_EXPORTED_ITEM_GET_IFACE (object)->get_locked (object);
7142 : }
7143 :
7144 : /**
7145 : * gkd_exported_item_set_locked: (skip)
7146 : * @object: A #GkdExportedItem.
7147 : * @value: The value to set.
7148 : *
7149 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Locked">"Locked"</link> D-Bus property to @value.
7150 : *
7151 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
7152 : */
7153 : void
7154 20 : gkd_exported_item_set_locked (GkdExportedItem *object, gboolean value)
7155 : {
7156 20 : g_object_set (G_OBJECT (object), "locked", value, NULL);
7157 20 : }
7158 :
7159 : /**
7160 : * gkd_exported_item_get_attributes: (skip)
7161 : * @object: A #GkdExportedItem.
7162 : *
7163 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Attributes">"Attributes"</link> D-Bus property.
7164 : *
7165 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7166 : *
7167 : * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gkd_exported_item_dup_attributes() if on another thread.
7168 : *
7169 : * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
7170 : */
7171 : GVariant *
7172 0 : gkd_exported_item_get_attributes (GkdExportedItem *object)
7173 : {
7174 0 : g_return_val_if_fail (GKD_IS_EXPORTED_ITEM (object), NULL);
7175 :
7176 0 : return GKD_EXPORTED_ITEM_GET_IFACE (object)->get_attributes (object);
7177 : }
7178 :
7179 : /**
7180 : * gkd_exported_item_dup_attributes: (skip)
7181 : * @object: A #GkdExportedItem.
7182 : *
7183 : * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Attributes">"Attributes"</link> D-Bus property.
7184 : *
7185 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7186 : *
7187 : * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with g_variant_unref().
7188 : */
7189 : GVariant *
7190 0 : gkd_exported_item_dup_attributes (GkdExportedItem *object)
7191 : {
7192 : GVariant *value;
7193 0 : g_object_get (G_OBJECT (object), "attributes", &value, NULL);
7194 0 : return value;
7195 : }
7196 :
7197 : /**
7198 : * gkd_exported_item_set_attributes: (skip)
7199 : * @object: A #GkdExportedItem.
7200 : * @value: The value to set.
7201 : *
7202 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Attributes">"Attributes"</link> D-Bus property to @value.
7203 : *
7204 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7205 : */
7206 : void
7207 0 : gkd_exported_item_set_attributes (GkdExportedItem *object, GVariant *value)
7208 : {
7209 0 : g_object_set (G_OBJECT (object), "attributes", value, NULL);
7210 0 : }
7211 :
7212 : /**
7213 : * gkd_exported_item_get_label: (skip)
7214 : * @object: A #GkdExportedItem.
7215 : *
7216 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Label">"Label"</link> D-Bus property.
7217 : *
7218 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7219 : *
7220 : * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gkd_exported_item_dup_label() if on another thread.
7221 : *
7222 : * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
7223 : */
7224 : const gchar *
7225 0 : gkd_exported_item_get_label (GkdExportedItem *object)
7226 : {
7227 0 : g_return_val_if_fail (GKD_IS_EXPORTED_ITEM (object), NULL);
7228 :
7229 0 : return GKD_EXPORTED_ITEM_GET_IFACE (object)->get_label (object);
7230 : }
7231 :
7232 : /**
7233 : * gkd_exported_item_dup_label: (skip)
7234 : * @object: A #GkdExportedItem.
7235 : *
7236 : * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Label">"Label"</link> D-Bus property.
7237 : *
7238 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7239 : *
7240 : * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
7241 : */
7242 : gchar *
7243 0 : gkd_exported_item_dup_label (GkdExportedItem *object)
7244 : {
7245 : gchar *value;
7246 0 : g_object_get (G_OBJECT (object), "label", &value, NULL);
7247 0 : return value;
7248 : }
7249 :
7250 : /**
7251 : * gkd_exported_item_set_label: (skip)
7252 : * @object: A #GkdExportedItem.
7253 : * @value: The value to set.
7254 : *
7255 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Label">"Label"</link> D-Bus property to @value.
7256 : *
7257 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7258 : */
7259 : void
7260 1 : gkd_exported_item_set_label (GkdExportedItem *object, const gchar *value)
7261 : {
7262 1 : g_object_set (G_OBJECT (object), "label", value, NULL);
7263 1 : }
7264 :
7265 : /**
7266 : * gkd_exported_item_get_type_: (skip)
7267 : * @object: A #GkdExportedItem.
7268 : *
7269 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Type">"Type"</link> D-Bus property.
7270 : *
7271 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7272 : *
7273 : * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gkd_exported_item_dup_type_() if on another thread.
7274 : *
7275 : * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
7276 : */
7277 : const gchar *
7278 0 : gkd_exported_item_get_type_ (GkdExportedItem *object)
7279 : {
7280 0 : g_return_val_if_fail (GKD_IS_EXPORTED_ITEM (object), NULL);
7281 :
7282 0 : return GKD_EXPORTED_ITEM_GET_IFACE (object)->get_type_ (object);
7283 : }
7284 :
7285 : /**
7286 : * gkd_exported_item_dup_type_: (skip)
7287 : * @object: A #GkdExportedItem.
7288 : *
7289 : * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Type">"Type"</link> D-Bus property.
7290 : *
7291 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7292 : *
7293 : * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
7294 : */
7295 : gchar *
7296 0 : gkd_exported_item_dup_type_ (GkdExportedItem *object)
7297 : {
7298 : gchar *value;
7299 0 : g_object_get (G_OBJECT (object), "type", &value, NULL);
7300 0 : return value;
7301 : }
7302 :
7303 : /**
7304 : * gkd_exported_item_set_type_: (skip)
7305 : * @object: A #GkdExportedItem.
7306 : * @value: The value to set.
7307 : *
7308 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Type">"Type"</link> D-Bus property to @value.
7309 : *
7310 : * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.
7311 : */
7312 : void
7313 0 : gkd_exported_item_set_type_ (GkdExportedItem *object, const gchar *value)
7314 : {
7315 0 : g_object_set (G_OBJECT (object), "type", value, NULL);
7316 0 : }
7317 :
7318 : /**
7319 : * gkd_exported_item_get_created: (skip)
7320 : * @object: A #GkdExportedItem.
7321 : *
7322 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Created">"Created"</link> D-Bus property.
7323 : *
7324 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
7325 : *
7326 : * Returns: The property value.
7327 : */
7328 : guint64
7329 0 : gkd_exported_item_get_created (GkdExportedItem *object)
7330 : {
7331 0 : g_return_val_if_fail (GKD_IS_EXPORTED_ITEM (object), 0);
7332 :
7333 0 : return GKD_EXPORTED_ITEM_GET_IFACE (object)->get_created (object);
7334 : }
7335 :
7336 : /**
7337 : * gkd_exported_item_set_created: (skip)
7338 : * @object: A #GkdExportedItem.
7339 : * @value: The value to set.
7340 : *
7341 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Created">"Created"</link> D-Bus property to @value.
7342 : *
7343 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
7344 : */
7345 : void
7346 0 : gkd_exported_item_set_created (GkdExportedItem *object, guint64 value)
7347 : {
7348 0 : g_object_set (G_OBJECT (object), "created", value, NULL);
7349 0 : }
7350 :
7351 : /**
7352 : * gkd_exported_item_get_modified: (skip)
7353 : * @object: A #GkdExportedItem.
7354 : *
7355 : * Gets the value of the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Modified">"Modified"</link> D-Bus property.
7356 : *
7357 : * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
7358 : *
7359 : * Returns: The property value.
7360 : */
7361 : guint64
7362 0 : gkd_exported_item_get_modified (GkdExportedItem *object)
7363 : {
7364 0 : g_return_val_if_fail (GKD_IS_EXPORTED_ITEM (object), 0);
7365 :
7366 0 : return GKD_EXPORTED_ITEM_GET_IFACE (object)->get_modified (object);
7367 : }
7368 :
7369 : /**
7370 : * gkd_exported_item_set_modified: (skip)
7371 : * @object: A #GkdExportedItem.
7372 : * @value: The value to set.
7373 : *
7374 : * Sets the <link linkend="gdbus-property-org-freedesktop-Secret-Item.Modified">"Modified"</link> D-Bus property to @value.
7375 : *
7376 : * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
7377 : */
7378 : void
7379 0 : gkd_exported_item_set_modified (GkdExportedItem *object, guint64 value)
7380 : {
7381 0 : g_object_set (G_OBJECT (object), "modified", value, NULL);
7382 0 : }
7383 :
7384 : /**
7385 : * gkd_exported_item_call_delete:
7386 : * @proxy: A #GkdExportedItemProxy.
7387 : * @cancellable: (nullable): A #GCancellable or %NULL.
7388 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
7389 : * @user_data: User data to pass to @callback.
7390 : *
7391 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Item.Delete">Delete()</link> D-Bus method on @proxy.
7392 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
7393 : * You can then call gkd_exported_item_call_delete_finish() to get the result of the operation.
7394 : *
7395 : * See gkd_exported_item_call_delete_sync() for the synchronous, blocking version of this method.
7396 : */
7397 : void
7398 0 : gkd_exported_item_call_delete (
7399 : GkdExportedItem *proxy,
7400 : GCancellable *cancellable,
7401 : GAsyncReadyCallback callback,
7402 : gpointer user_data)
7403 : {
7404 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
7405 : "Delete",
7406 : g_variant_new ("()"),
7407 : G_DBUS_CALL_FLAGS_NONE,
7408 : -1,
7409 : cancellable,
7410 : callback,
7411 : user_data);
7412 0 : }
7413 :
7414 : /**
7415 : * gkd_exported_item_call_delete_finish:
7416 : * @proxy: A #GkdExportedItemProxy.
7417 : * @out_Prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
7418 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_item_call_delete().
7419 : * @error: Return location for error or %NULL.
7420 : *
7421 : * Finishes an operation started with gkd_exported_item_call_delete().
7422 : *
7423 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
7424 : */
7425 : gboolean
7426 0 : gkd_exported_item_call_delete_finish (
7427 : GkdExportedItem *proxy,
7428 : gchar **out_Prompt,
7429 : GAsyncResult *res,
7430 : GError **error)
7431 : {
7432 : GVariant *_ret;
7433 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
7434 0 : if (_ret == NULL)
7435 0 : goto _out;
7436 0 : g_variant_get (_ret,
7437 : "(o)",
7438 : out_Prompt);
7439 0 : g_variant_unref (_ret);
7440 0 : _out:
7441 0 : return _ret != NULL;
7442 : }
7443 :
7444 : /**
7445 : * gkd_exported_item_call_delete_sync:
7446 : * @proxy: A #GkdExportedItemProxy.
7447 : * @out_Prompt: (out) (optional): Return location for return parameter or %NULL to ignore.
7448 : * @cancellable: (nullable): A #GCancellable or %NULL.
7449 : * @error: Return location for error or %NULL.
7450 : *
7451 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Item.Delete">Delete()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
7452 : *
7453 : * See gkd_exported_item_call_delete() for the asynchronous version of this method.
7454 : *
7455 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
7456 : */
7457 : gboolean
7458 0 : gkd_exported_item_call_delete_sync (
7459 : GkdExportedItem *proxy,
7460 : gchar **out_Prompt,
7461 : GCancellable *cancellable,
7462 : GError **error)
7463 : {
7464 : GVariant *_ret;
7465 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
7466 : "Delete",
7467 : g_variant_new ("()"),
7468 : G_DBUS_CALL_FLAGS_NONE,
7469 : -1,
7470 : cancellable,
7471 : error);
7472 0 : if (_ret == NULL)
7473 0 : goto _out;
7474 0 : g_variant_get (_ret,
7475 : "(o)",
7476 : out_Prompt);
7477 0 : g_variant_unref (_ret);
7478 0 : _out:
7479 0 : return _ret != NULL;
7480 : }
7481 :
7482 : /**
7483 : * gkd_exported_item_call_get_secret:
7484 : * @proxy: A #GkdExportedItemProxy.
7485 : * @arg_session: Argument to pass with the method invocation.
7486 : * @cancellable: (nullable): A #GCancellable or %NULL.
7487 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
7488 : * @user_data: User data to pass to @callback.
7489 : *
7490 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Item.GetSecret">GetSecret()</link> D-Bus method on @proxy.
7491 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
7492 : * You can then call gkd_exported_item_call_get_secret_finish() to get the result of the operation.
7493 : *
7494 : * See gkd_exported_item_call_get_secret_sync() for the synchronous, blocking version of this method.
7495 : */
7496 : void
7497 0 : gkd_exported_item_call_get_secret (
7498 : GkdExportedItem *proxy,
7499 : const gchar *arg_session,
7500 : GCancellable *cancellable,
7501 : GAsyncReadyCallback callback,
7502 : gpointer user_data)
7503 : {
7504 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
7505 : "GetSecret",
7506 : g_variant_new ("(o)",
7507 : arg_session),
7508 : G_DBUS_CALL_FLAGS_NONE,
7509 : -1,
7510 : cancellable,
7511 : callback,
7512 : user_data);
7513 0 : }
7514 :
7515 : /**
7516 : * gkd_exported_item_call_get_secret_finish:
7517 : * @proxy: A #GkdExportedItemProxy.
7518 : * @out_secret: (out) (optional): Return location for return parameter or %NULL to ignore.
7519 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_item_call_get_secret().
7520 : * @error: Return location for error or %NULL.
7521 : *
7522 : * Finishes an operation started with gkd_exported_item_call_get_secret().
7523 : *
7524 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
7525 : */
7526 : gboolean
7527 0 : gkd_exported_item_call_get_secret_finish (
7528 : GkdExportedItem *proxy,
7529 : GVariant **out_secret,
7530 : GAsyncResult *res,
7531 : GError **error)
7532 : {
7533 : GVariant *_ret;
7534 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
7535 0 : if (_ret == NULL)
7536 0 : goto _out;
7537 0 : g_variant_get (_ret,
7538 : "(@(oayays))",
7539 : out_secret);
7540 0 : g_variant_unref (_ret);
7541 0 : _out:
7542 0 : return _ret != NULL;
7543 : }
7544 :
7545 : /**
7546 : * gkd_exported_item_call_get_secret_sync:
7547 : * @proxy: A #GkdExportedItemProxy.
7548 : * @arg_session: Argument to pass with the method invocation.
7549 : * @out_secret: (out) (optional): Return location for return parameter or %NULL to ignore.
7550 : * @cancellable: (nullable): A #GCancellable or %NULL.
7551 : * @error: Return location for error or %NULL.
7552 : *
7553 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Item.GetSecret">GetSecret()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
7554 : *
7555 : * See gkd_exported_item_call_get_secret() for the asynchronous version of this method.
7556 : *
7557 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
7558 : */
7559 : gboolean
7560 0 : gkd_exported_item_call_get_secret_sync (
7561 : GkdExportedItem *proxy,
7562 : const gchar *arg_session,
7563 : GVariant **out_secret,
7564 : GCancellable *cancellable,
7565 : GError **error)
7566 : {
7567 : GVariant *_ret;
7568 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
7569 : "GetSecret",
7570 : g_variant_new ("(o)",
7571 : arg_session),
7572 : G_DBUS_CALL_FLAGS_NONE,
7573 : -1,
7574 : cancellable,
7575 : error);
7576 0 : if (_ret == NULL)
7577 0 : goto _out;
7578 0 : g_variant_get (_ret,
7579 : "(@(oayays))",
7580 : out_secret);
7581 0 : g_variant_unref (_ret);
7582 0 : _out:
7583 0 : return _ret != NULL;
7584 : }
7585 :
7586 : /**
7587 : * gkd_exported_item_call_set_secret:
7588 : * @proxy: A #GkdExportedItemProxy.
7589 : * @arg_secret: Argument to pass with the method invocation.
7590 : * @cancellable: (nullable): A #GCancellable or %NULL.
7591 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
7592 : * @user_data: User data to pass to @callback.
7593 : *
7594 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Item.SetSecret">SetSecret()</link> D-Bus method on @proxy.
7595 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
7596 : * You can then call gkd_exported_item_call_set_secret_finish() to get the result of the operation.
7597 : *
7598 : * See gkd_exported_item_call_set_secret_sync() for the synchronous, blocking version of this method.
7599 : */
7600 : void
7601 0 : gkd_exported_item_call_set_secret (
7602 : GkdExportedItem *proxy,
7603 : GVariant *arg_secret,
7604 : GCancellable *cancellable,
7605 : GAsyncReadyCallback callback,
7606 : gpointer user_data)
7607 : {
7608 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
7609 : "SetSecret",
7610 : g_variant_new ("(@(oayays))",
7611 : arg_secret),
7612 : G_DBUS_CALL_FLAGS_NONE,
7613 : -1,
7614 : cancellable,
7615 : callback,
7616 : user_data);
7617 0 : }
7618 :
7619 : /**
7620 : * gkd_exported_item_call_set_secret_finish:
7621 : * @proxy: A #GkdExportedItemProxy.
7622 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_item_call_set_secret().
7623 : * @error: Return location for error or %NULL.
7624 : *
7625 : * Finishes an operation started with gkd_exported_item_call_set_secret().
7626 : *
7627 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
7628 : */
7629 : gboolean
7630 0 : gkd_exported_item_call_set_secret_finish (
7631 : GkdExportedItem *proxy,
7632 : GAsyncResult *res,
7633 : GError **error)
7634 : {
7635 : GVariant *_ret;
7636 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
7637 0 : if (_ret == NULL)
7638 0 : goto _out;
7639 0 : g_variant_get (_ret,
7640 : "()");
7641 0 : g_variant_unref (_ret);
7642 0 : _out:
7643 0 : return _ret != NULL;
7644 : }
7645 :
7646 : /**
7647 : * gkd_exported_item_call_set_secret_sync:
7648 : * @proxy: A #GkdExportedItemProxy.
7649 : * @arg_secret: Argument to pass with the method invocation.
7650 : * @cancellable: (nullable): A #GCancellable or %NULL.
7651 : * @error: Return location for error or %NULL.
7652 : *
7653 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Item.SetSecret">SetSecret()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
7654 : *
7655 : * See gkd_exported_item_call_set_secret() for the asynchronous version of this method.
7656 : *
7657 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
7658 : */
7659 : gboolean
7660 0 : gkd_exported_item_call_set_secret_sync (
7661 : GkdExportedItem *proxy,
7662 : GVariant *arg_secret,
7663 : GCancellable *cancellable,
7664 : GError **error)
7665 : {
7666 : GVariant *_ret;
7667 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
7668 : "SetSecret",
7669 : g_variant_new ("(@(oayays))",
7670 : arg_secret),
7671 : G_DBUS_CALL_FLAGS_NONE,
7672 : -1,
7673 : cancellable,
7674 : error);
7675 0 : if (_ret == NULL)
7676 0 : goto _out;
7677 0 : g_variant_get (_ret,
7678 : "()");
7679 0 : g_variant_unref (_ret);
7680 0 : _out:
7681 0 : return _ret != NULL;
7682 : }
7683 :
7684 : /**
7685 : * gkd_exported_item_complete_delete:
7686 : * @object: A #GkdExportedItem.
7687 : * @invocation: (transfer full): A #GDBusMethodInvocation.
7688 : * @Prompt: Parameter to return.
7689 : *
7690 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Item.Delete">Delete()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
7691 : *
7692 : * This method will free @invocation, you cannot use it afterwards.
7693 : */
7694 : void
7695 1 : gkd_exported_item_complete_delete (
7696 : GkdExportedItem *object G_GNUC_UNUSED,
7697 : GDBusMethodInvocation *invocation,
7698 : const gchar *Prompt)
7699 : {
7700 1 : g_dbus_method_invocation_return_value (invocation,
7701 : g_variant_new ("(o)",
7702 : Prompt));
7703 1 : }
7704 :
7705 : /**
7706 : * gkd_exported_item_complete_get_secret:
7707 : * @object: A #GkdExportedItem.
7708 : * @invocation: (transfer full): A #GDBusMethodInvocation.
7709 : * @secret: Parameter to return.
7710 : *
7711 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Item.GetSecret">GetSecret()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
7712 : *
7713 : * This method will free @invocation, you cannot use it afterwards.
7714 : */
7715 : void
7716 0 : gkd_exported_item_complete_get_secret (
7717 : GkdExportedItem *object G_GNUC_UNUSED,
7718 : GDBusMethodInvocation *invocation,
7719 : GVariant *secret)
7720 : {
7721 0 : g_dbus_method_invocation_return_value (invocation,
7722 : g_variant_new ("(@(oayays))",
7723 : secret));
7724 0 : }
7725 :
7726 : /**
7727 : * gkd_exported_item_complete_set_secret:
7728 : * @object: A #GkdExportedItem.
7729 : * @invocation: (transfer full): A #GDBusMethodInvocation.
7730 : *
7731 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Item.SetSecret">SetSecret()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
7732 : *
7733 : * This method will free @invocation, you cannot use it afterwards.
7734 : */
7735 : void
7736 0 : gkd_exported_item_complete_set_secret (
7737 : GkdExportedItem *object G_GNUC_UNUSED,
7738 : GDBusMethodInvocation *invocation)
7739 : {
7740 0 : g_dbus_method_invocation_return_value (invocation,
7741 : g_variant_new ("()"));
7742 0 : }
7743 :
7744 : /* ------------------------------------------------------------------------ */
7745 :
7746 : /**
7747 : * GkdExportedItemProxy:
7748 : *
7749 : * The #GkdExportedItemProxy structure contains only private data and should only be accessed using the provided API.
7750 : */
7751 :
7752 : /**
7753 : * GkdExportedItemProxyClass:
7754 : * @parent_class: The parent class.
7755 : *
7756 : * Class structure for #GkdExportedItemProxy.
7757 : */
7758 :
7759 : struct _GkdExportedItemProxyPrivate
7760 : {
7761 : GData *qdata;
7762 : };
7763 :
7764 : static void gkd_exported_item_proxy_iface_init (GkdExportedItemIface *iface);
7765 :
7766 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
7767 0 : G_DEFINE_TYPE_WITH_CODE (GkdExportedItemProxy, gkd_exported_item_proxy, G_TYPE_DBUS_PROXY,
7768 : G_ADD_PRIVATE (GkdExportedItemProxy)
7769 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_ITEM, gkd_exported_item_proxy_iface_init))
7770 :
7771 : #else
7772 : G_DEFINE_TYPE_WITH_CODE (GkdExportedItemProxy, gkd_exported_item_proxy, G_TYPE_DBUS_PROXY,
7773 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_ITEM, gkd_exported_item_proxy_iface_init))
7774 :
7775 : #endif
7776 : static void
7777 0 : gkd_exported_item_proxy_finalize (GObject *object)
7778 : {
7779 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7780 0 : g_datalist_clear (&proxy->priv->qdata);
7781 0 : G_OBJECT_CLASS (gkd_exported_item_proxy_parent_class)->finalize (object);
7782 0 : }
7783 :
7784 : static void
7785 0 : gkd_exported_item_proxy_get_property (GObject *object,
7786 : guint prop_id,
7787 : GValue *value,
7788 : GParamSpec *pspec G_GNUC_UNUSED)
7789 : {
7790 : const _ExtendedGDBusPropertyInfo *info;
7791 : GVariant *variant;
7792 0 : g_assert (prop_id != 0 && prop_id - 1 < 6);
7793 0 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_item_property_info_pointers[prop_id - 1];
7794 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);
7795 0 : if (info->use_gvariant)
7796 : {
7797 0 : g_value_set_variant (value, variant);
7798 : }
7799 : else
7800 : {
7801 0 : if (variant != NULL)
7802 0 : g_dbus_gvariant_to_gvalue (variant, value);
7803 : }
7804 0 : if (variant != NULL)
7805 0 : g_variant_unref (variant);
7806 0 : }
7807 :
7808 : static void
7809 0 : gkd_exported_item_proxy_set_property_cb (GDBusProxy *proxy,
7810 : GAsyncResult *res,
7811 : gpointer user_data)
7812 : {
7813 0 : const _ExtendedGDBusPropertyInfo *info = user_data;
7814 : GError *error;
7815 : GVariant *_ret;
7816 0 : error = NULL;
7817 0 : _ret = g_dbus_proxy_call_finish (proxy, res, &error);
7818 0 : if (!_ret)
7819 : {
7820 0 : g_warning ("Error setting property '%s' on interface org.freedesktop.Secret.Item: %s (%s, %d)",
7821 : info->parent_struct.name,
7822 : error->message, g_quark_to_string (error->domain), error->code);
7823 0 : g_error_free (error);
7824 : }
7825 : else
7826 : {
7827 0 : g_variant_unref (_ret);
7828 : }
7829 0 : }
7830 :
7831 : static void
7832 0 : gkd_exported_item_proxy_set_property (GObject *object,
7833 : guint prop_id,
7834 : const GValue *value,
7835 : GParamSpec *pspec G_GNUC_UNUSED)
7836 : {
7837 : const _ExtendedGDBusPropertyInfo *info;
7838 : GVariant *variant;
7839 0 : g_assert (prop_id != 0 && prop_id - 1 < 6);
7840 0 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_item_property_info_pointers[prop_id - 1];
7841 0 : variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));
7842 0 : g_dbus_proxy_call (G_DBUS_PROXY (object),
7843 : "org.freedesktop.DBus.Properties.Set",
7844 0 : g_variant_new ("(ssv)", "org.freedesktop.Secret.Item", info->parent_struct.name, variant),
7845 : G_DBUS_CALL_FLAGS_NONE,
7846 : -1,
7847 0 : NULL, (GAsyncReadyCallback) gkd_exported_item_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct);
7848 0 : g_variant_unref (variant);
7849 0 : }
7850 :
7851 : static void
7852 0 : gkd_exported_item_proxy_g_signal (GDBusProxy *proxy,
7853 : const gchar *sender_name G_GNUC_UNUSED,
7854 : const gchar *signal_name,
7855 : GVariant *parameters)
7856 : {
7857 : _ExtendedGDBusSignalInfo *info;
7858 : GVariantIter iter;
7859 : GVariant *child;
7860 : GValue *paramv;
7861 : gsize num_params;
7862 : gsize n;
7863 : guint signal_id;
7864 0 : info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gkd_exported_item_interface_info.parent_struct, signal_name);
7865 0 : if (info == NULL)
7866 0 : return;
7867 0 : num_params = g_variant_n_children (parameters);
7868 0 : paramv = g_new0 (GValue, num_params + 1);
7869 0 : g_value_init (¶mv[0], GKD_TYPE_EXPORTED_ITEM);
7870 0 : g_value_set_object (¶mv[0], proxy);
7871 0 : g_variant_iter_init (&iter, parameters);
7872 0 : n = 1;
7873 0 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
7874 : {
7875 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
7876 0 : if (arg_info->use_gvariant)
7877 : {
7878 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
7879 0 : g_value_set_variant (¶mv[n], child);
7880 0 : n++;
7881 : }
7882 : else
7883 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
7884 0 : g_variant_unref (child);
7885 : }
7886 0 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_ITEM);
7887 0 : g_signal_emitv (paramv, signal_id, 0, NULL);
7888 0 : for (n = 0; n < num_params + 1; n++)
7889 0 : g_value_unset (¶mv[n]);
7890 0 : g_free (paramv);
7891 : }
7892 :
7893 : static void
7894 0 : gkd_exported_item_proxy_g_properties_changed (GDBusProxy *_proxy,
7895 : GVariant *changed_properties,
7896 : const gchar *const *invalidated_properties)
7897 : {
7898 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (_proxy);
7899 : guint n;
7900 : const gchar *key;
7901 : GVariantIter *iter;
7902 : _ExtendedGDBusPropertyInfo *info;
7903 0 : g_variant_get (changed_properties, "a{sv}", &iter);
7904 0 : while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
7905 : {
7906 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_item_interface_info.parent_struct, key);
7907 0 : g_datalist_remove_data (&proxy->priv->qdata, key);
7908 0 : if (info != NULL)
7909 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
7910 : }
7911 0 : g_variant_iter_free (iter);
7912 0 : for (n = 0; invalidated_properties[n] != NULL; n++)
7913 : {
7914 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_item_interface_info.parent_struct, invalidated_properties[n]);
7915 0 : g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
7916 0 : if (info != NULL)
7917 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
7918 : }
7919 0 : }
7920 :
7921 : static gboolean
7922 0 : gkd_exported_item_proxy_get_locked (GkdExportedItem *object)
7923 : {
7924 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7925 : GVariant *variant;
7926 0 : gboolean value = FALSE;
7927 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Locked");
7928 0 : if (variant != NULL)
7929 : {
7930 0 : value = g_variant_get_boolean (variant);
7931 0 : g_variant_unref (variant);
7932 : }
7933 0 : return value;
7934 : }
7935 :
7936 : static GVariant *
7937 0 : gkd_exported_item_proxy_get_attributes (GkdExportedItem *object)
7938 : {
7939 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7940 : GVariant *variant;
7941 0 : GVariant *value = NULL;
7942 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Attributes");
7943 0 : value = variant;
7944 0 : if (variant != NULL)
7945 0 : g_variant_unref (variant);
7946 0 : return value;
7947 : }
7948 :
7949 : static const gchar *
7950 0 : gkd_exported_item_proxy_get_label (GkdExportedItem *object)
7951 : {
7952 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7953 : GVariant *variant;
7954 0 : const gchar *value = NULL;
7955 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Label");
7956 0 : if (variant != NULL)
7957 : {
7958 0 : value = g_variant_get_string (variant, NULL);
7959 0 : g_variant_unref (variant);
7960 : }
7961 0 : return value;
7962 : }
7963 :
7964 : static const gchar *
7965 0 : gkd_exported_item_proxy_get_type_ (GkdExportedItem *object)
7966 : {
7967 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7968 : GVariant *variant;
7969 0 : const gchar *value = NULL;
7970 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Type");
7971 0 : if (variant != NULL)
7972 : {
7973 0 : value = g_variant_get_string (variant, NULL);
7974 0 : g_variant_unref (variant);
7975 : }
7976 0 : return value;
7977 : }
7978 :
7979 : static guint64
7980 0 : gkd_exported_item_proxy_get_created (GkdExportedItem *object)
7981 : {
7982 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7983 : GVariant *variant;
7984 0 : guint64 value = 0;
7985 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Created");
7986 0 : if (variant != NULL)
7987 : {
7988 0 : value = g_variant_get_uint64 (variant);
7989 0 : g_variant_unref (variant);
7990 : }
7991 0 : return value;
7992 : }
7993 :
7994 : static guint64
7995 0 : gkd_exported_item_proxy_get_modified (GkdExportedItem *object)
7996 : {
7997 0 : GkdExportedItemProxy *proxy = GKD_EXPORTED_ITEM_PROXY (object);
7998 : GVariant *variant;
7999 0 : guint64 value = 0;
8000 0 : variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Modified");
8001 0 : if (variant != NULL)
8002 : {
8003 0 : value = g_variant_get_uint64 (variant);
8004 0 : g_variant_unref (variant);
8005 : }
8006 0 : return value;
8007 : }
8008 :
8009 : static void
8010 0 : gkd_exported_item_proxy_init (GkdExportedItemProxy *proxy)
8011 : {
8012 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
8013 0 : proxy->priv = gkd_exported_item_proxy_get_instance_private (proxy);
8014 : #else
8015 : proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GKD_TYPE_EXPORTED_ITEM_PROXY, GkdExportedItemProxyPrivate);
8016 : #endif
8017 :
8018 0 : g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gkd_exported_item_interface_info ());
8019 0 : }
8020 :
8021 : static void
8022 0 : gkd_exported_item_proxy_class_init (GkdExportedItemProxyClass *klass)
8023 : {
8024 : GObjectClass *gobject_class;
8025 : GDBusProxyClass *proxy_class;
8026 :
8027 0 : gobject_class = G_OBJECT_CLASS (klass);
8028 0 : gobject_class->finalize = gkd_exported_item_proxy_finalize;
8029 0 : gobject_class->get_property = gkd_exported_item_proxy_get_property;
8030 0 : gobject_class->set_property = gkd_exported_item_proxy_set_property;
8031 :
8032 0 : proxy_class = G_DBUS_PROXY_CLASS (klass);
8033 0 : proxy_class->g_signal = gkd_exported_item_proxy_g_signal;
8034 0 : proxy_class->g_properties_changed = gkd_exported_item_proxy_g_properties_changed;
8035 :
8036 0 : gkd_exported_item_override_properties (gobject_class, 1);
8037 :
8038 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
8039 : g_type_class_add_private (klass, sizeof (GkdExportedItemProxyPrivate));
8040 : #endif
8041 0 : }
8042 :
8043 : static void
8044 0 : gkd_exported_item_proxy_iface_init (GkdExportedItemIface *iface)
8045 : {
8046 0 : iface->get_locked = gkd_exported_item_proxy_get_locked;
8047 0 : iface->get_attributes = gkd_exported_item_proxy_get_attributes;
8048 0 : iface->get_label = gkd_exported_item_proxy_get_label;
8049 0 : iface->get_type_ = gkd_exported_item_proxy_get_type_;
8050 0 : iface->get_created = gkd_exported_item_proxy_get_created;
8051 0 : iface->get_modified = gkd_exported_item_proxy_get_modified;
8052 0 : }
8053 :
8054 : /**
8055 : * gkd_exported_item_proxy_new:
8056 : * @connection: A #GDBusConnection.
8057 : * @flags: Flags from the #GDBusProxyFlags enumeration.
8058 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
8059 : * @object_path: An object path.
8060 : * @cancellable: (nullable): A #GCancellable or %NULL.
8061 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
8062 : * @user_data: User data to pass to @callback.
8063 : *
8064 : * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link>. See g_dbus_proxy_new() for more details.
8065 : *
8066 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
8067 : * You can then call gkd_exported_item_proxy_new_finish() to get the result of the operation.
8068 : *
8069 : * See gkd_exported_item_proxy_new_sync() for the synchronous, blocking version of this constructor.
8070 : */
8071 : void
8072 0 : gkd_exported_item_proxy_new (
8073 : GDBusConnection *connection,
8074 : GDBusProxyFlags flags,
8075 : const gchar *name,
8076 : const gchar *object_path,
8077 : GCancellable *cancellable,
8078 : GAsyncReadyCallback callback,
8079 : gpointer user_data)
8080 : {
8081 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_ITEM_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Item", NULL);
8082 0 : }
8083 :
8084 : /**
8085 : * gkd_exported_item_proxy_new_finish:
8086 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_item_proxy_new().
8087 : * @error: Return location for error or %NULL
8088 : *
8089 : * Finishes an operation started with gkd_exported_item_proxy_new().
8090 : *
8091 : * Returns: (transfer full) (type GkdExportedItemProxy): The constructed proxy object or %NULL if @error is set.
8092 : */
8093 : GkdExportedItem *
8094 0 : gkd_exported_item_proxy_new_finish (
8095 : GAsyncResult *res,
8096 : GError **error)
8097 : {
8098 : GObject *ret;
8099 : GObject *source_object;
8100 0 : source_object = g_async_result_get_source_object (res);
8101 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
8102 0 : g_object_unref (source_object);
8103 0 : if (ret != NULL)
8104 0 : return GKD_EXPORTED_ITEM (ret);
8105 : else
8106 0 : return NULL;
8107 : }
8108 :
8109 : /**
8110 : * gkd_exported_item_proxy_new_sync:
8111 : * @connection: A #GDBusConnection.
8112 : * @flags: Flags from the #GDBusProxyFlags enumeration.
8113 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
8114 : * @object_path: An object path.
8115 : * @cancellable: (nullable): A #GCancellable or %NULL.
8116 : * @error: Return location for error or %NULL
8117 : *
8118 : * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link>. See g_dbus_proxy_new_sync() for more details.
8119 : *
8120 : * The calling thread is blocked until a reply is received.
8121 : *
8122 : * See gkd_exported_item_proxy_new() for the asynchronous version of this constructor.
8123 : *
8124 : * Returns: (transfer full) (type GkdExportedItemProxy): The constructed proxy object or %NULL if @error is set.
8125 : */
8126 : GkdExportedItem *
8127 0 : gkd_exported_item_proxy_new_sync (
8128 : GDBusConnection *connection,
8129 : GDBusProxyFlags flags,
8130 : const gchar *name,
8131 : const gchar *object_path,
8132 : GCancellable *cancellable,
8133 : GError **error)
8134 : {
8135 : GInitable *ret;
8136 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_ITEM_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Item", NULL);
8137 0 : if (ret != NULL)
8138 0 : return GKD_EXPORTED_ITEM (ret);
8139 : else
8140 0 : return NULL;
8141 : }
8142 :
8143 :
8144 : /**
8145 : * gkd_exported_item_proxy_new_for_bus:
8146 : * @bus_type: A #GBusType.
8147 : * @flags: Flags from the #GDBusProxyFlags enumeration.
8148 : * @name: A bus name (well-known or unique).
8149 : * @object_path: An object path.
8150 : * @cancellable: (nullable): A #GCancellable or %NULL.
8151 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
8152 : * @user_data: User data to pass to @callback.
8153 : *
8154 : * Like gkd_exported_item_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
8155 : *
8156 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
8157 : * You can then call gkd_exported_item_proxy_new_for_bus_finish() to get the result of the operation.
8158 : *
8159 : * See gkd_exported_item_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
8160 : */
8161 : void
8162 0 : gkd_exported_item_proxy_new_for_bus (
8163 : GBusType bus_type,
8164 : GDBusProxyFlags flags,
8165 : const gchar *name,
8166 : const gchar *object_path,
8167 : GCancellable *cancellable,
8168 : GAsyncReadyCallback callback,
8169 : gpointer user_data)
8170 : {
8171 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_ITEM_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Item", NULL);
8172 0 : }
8173 :
8174 : /**
8175 : * gkd_exported_item_proxy_new_for_bus_finish:
8176 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_item_proxy_new_for_bus().
8177 : * @error: Return location for error or %NULL
8178 : *
8179 : * Finishes an operation started with gkd_exported_item_proxy_new_for_bus().
8180 : *
8181 : * Returns: (transfer full) (type GkdExportedItemProxy): The constructed proxy object or %NULL if @error is set.
8182 : */
8183 : GkdExportedItem *
8184 0 : gkd_exported_item_proxy_new_for_bus_finish (
8185 : GAsyncResult *res,
8186 : GError **error)
8187 : {
8188 : GObject *ret;
8189 : GObject *source_object;
8190 0 : source_object = g_async_result_get_source_object (res);
8191 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
8192 0 : g_object_unref (source_object);
8193 0 : if (ret != NULL)
8194 0 : return GKD_EXPORTED_ITEM (ret);
8195 : else
8196 0 : return NULL;
8197 : }
8198 :
8199 : /**
8200 : * gkd_exported_item_proxy_new_for_bus_sync:
8201 : * @bus_type: A #GBusType.
8202 : * @flags: Flags from the #GDBusProxyFlags enumeration.
8203 : * @name: A bus name (well-known or unique).
8204 : * @object_path: An object path.
8205 : * @cancellable: (nullable): A #GCancellable or %NULL.
8206 : * @error: Return location for error or %NULL
8207 : *
8208 : * Like gkd_exported_item_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
8209 : *
8210 : * The calling thread is blocked until a reply is received.
8211 : *
8212 : * See gkd_exported_item_proxy_new_for_bus() for the asynchronous version of this constructor.
8213 : *
8214 : * Returns: (transfer full) (type GkdExportedItemProxy): The constructed proxy object or %NULL if @error is set.
8215 : */
8216 : GkdExportedItem *
8217 0 : gkd_exported_item_proxy_new_for_bus_sync (
8218 : GBusType bus_type,
8219 : GDBusProxyFlags flags,
8220 : const gchar *name,
8221 : const gchar *object_path,
8222 : GCancellable *cancellable,
8223 : GError **error)
8224 : {
8225 : GInitable *ret;
8226 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_ITEM_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Item", NULL);
8227 0 : if (ret != NULL)
8228 0 : return GKD_EXPORTED_ITEM (ret);
8229 : else
8230 0 : return NULL;
8231 : }
8232 :
8233 :
8234 : /* ------------------------------------------------------------------------ */
8235 :
8236 : /**
8237 : * GkdExportedItemSkeleton:
8238 : *
8239 : * The #GkdExportedItemSkeleton structure contains only private data and should only be accessed using the provided API.
8240 : */
8241 :
8242 : /**
8243 : * GkdExportedItemSkeletonClass:
8244 : * @parent_class: The parent class.
8245 : *
8246 : * Class structure for #GkdExportedItemSkeleton.
8247 : */
8248 :
8249 : struct _GkdExportedItemSkeletonPrivate
8250 : {
8251 : GValue *properties;
8252 : GList *changed_properties;
8253 : GSource *changed_properties_idle_source;
8254 : GMainContext *context;
8255 : GMutex lock;
8256 : };
8257 :
8258 : static void
8259 1 : _gkd_exported_item_skeleton_handle_method_call (
8260 : GDBusConnection *connection G_GNUC_UNUSED,
8261 : const gchar *sender G_GNUC_UNUSED,
8262 : const gchar *object_path G_GNUC_UNUSED,
8263 : const gchar *interface_name,
8264 : const gchar *method_name,
8265 : GVariant *parameters,
8266 : GDBusMethodInvocation *invocation,
8267 : gpointer user_data)
8268 : {
8269 1 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (user_data);
8270 : _ExtendedGDBusMethodInfo *info;
8271 : GVariantIter iter;
8272 : GVariant *child;
8273 : GValue *paramv;
8274 : gsize num_params;
8275 : guint num_extra;
8276 : gsize n;
8277 : guint signal_id;
8278 1 : GValue return_value = G_VALUE_INIT;
8279 1 : info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
8280 1 : g_assert (info != NULL);
8281 1 : num_params = g_variant_n_children (parameters);
8282 1 : num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
8283 1 : n = 0;
8284 1 : g_value_init (¶mv[n], GKD_TYPE_EXPORTED_ITEM);
8285 1 : g_value_set_object (¶mv[n++], skeleton);
8286 1 : g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
8287 1 : g_value_set_object (¶mv[n++], invocation);
8288 1 : if (info->pass_fdlist)
8289 : {
8290 : #ifdef G_OS_UNIX
8291 0 : g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
8292 0 : g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
8293 : #else
8294 : g_assert_not_reached ();
8295 : #endif
8296 : }
8297 1 : g_variant_iter_init (&iter, parameters);
8298 1 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
8299 : {
8300 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
8301 0 : if (arg_info->use_gvariant)
8302 : {
8303 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
8304 0 : g_value_set_variant (¶mv[n], child);
8305 0 : n++;
8306 : }
8307 : else
8308 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
8309 0 : g_variant_unref (child);
8310 : }
8311 1 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_ITEM);
8312 1 : g_value_init (&return_value, G_TYPE_BOOLEAN);
8313 1 : g_signal_emitv (paramv, signal_id, 0, &return_value);
8314 1 : if (!g_value_get_boolean (&return_value))
8315 0 : g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
8316 1 : g_value_unset (&return_value);
8317 3 : for (n = 0; n < num_params + num_extra; n++)
8318 2 : g_value_unset (¶mv[n]);
8319 1 : g_free (paramv);
8320 1 : }
8321 :
8322 : static GVariant *
8323 0 : _gkd_exported_item_skeleton_handle_get_property (
8324 : GDBusConnection *connection G_GNUC_UNUSED,
8325 : const gchar *sender G_GNUC_UNUSED,
8326 : const gchar *object_path G_GNUC_UNUSED,
8327 : const gchar *interface_name G_GNUC_UNUSED,
8328 : const gchar *property_name,
8329 : GError **error,
8330 : gpointer user_data)
8331 : {
8332 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (user_data);
8333 0 : GValue value = G_VALUE_INIT;
8334 : GParamSpec *pspec;
8335 : _ExtendedGDBusPropertyInfo *info;
8336 : GVariant *ret;
8337 0 : ret = NULL;
8338 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_item_interface_info.parent_struct, property_name);
8339 0 : g_assert (info != NULL);
8340 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
8341 0 : if (pspec == NULL)
8342 : {
8343 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
8344 : }
8345 : else
8346 : {
8347 0 : g_value_init (&value, pspec->value_type);
8348 0 : g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
8349 0 : ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
8350 0 : g_value_unset (&value);
8351 : }
8352 0 : return ret;
8353 : }
8354 :
8355 : static gboolean
8356 0 : _gkd_exported_item_skeleton_handle_set_property (
8357 : GDBusConnection *connection G_GNUC_UNUSED,
8358 : const gchar *sender G_GNUC_UNUSED,
8359 : const gchar *object_path G_GNUC_UNUSED,
8360 : const gchar *interface_name G_GNUC_UNUSED,
8361 : const gchar *property_name,
8362 : GVariant *variant,
8363 : GError **error,
8364 : gpointer user_data)
8365 : {
8366 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (user_data);
8367 0 : GValue value = G_VALUE_INIT;
8368 : GParamSpec *pspec;
8369 : _ExtendedGDBusPropertyInfo *info;
8370 : gboolean ret;
8371 0 : ret = FALSE;
8372 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_item_interface_info.parent_struct, property_name);
8373 0 : g_assert (info != NULL);
8374 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
8375 0 : if (pspec == NULL)
8376 : {
8377 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
8378 : }
8379 : else
8380 : {
8381 0 : if (info->use_gvariant)
8382 0 : g_value_set_variant (&value, variant);
8383 : else
8384 0 : g_dbus_gvariant_to_gvalue (variant, &value);
8385 0 : g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
8386 0 : g_value_unset (&value);
8387 0 : ret = TRUE;
8388 : }
8389 0 : return ret;
8390 : }
8391 :
8392 : static const GDBusInterfaceVTable _gkd_exported_item_skeleton_vtable =
8393 : {
8394 : _gkd_exported_item_skeleton_handle_method_call,
8395 : _gkd_exported_item_skeleton_handle_get_property,
8396 : _gkd_exported_item_skeleton_handle_set_property,
8397 : {NULL}
8398 : };
8399 :
8400 : static GDBusInterfaceInfo *
8401 25 : gkd_exported_item_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
8402 : {
8403 25 : return gkd_exported_item_interface_info ();
8404 : }
8405 :
8406 : static GDBusInterfaceVTable *
8407 26 : gkd_exported_item_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
8408 : {
8409 26 : return (GDBusInterfaceVTable *) &_gkd_exported_item_skeleton_vtable;
8410 : }
8411 :
8412 : static GVariant *
8413 0 : gkd_exported_item_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
8414 : {
8415 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (_skeleton);
8416 :
8417 : GVariantBuilder builder;
8418 : guint n;
8419 0 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
8420 0 : if (_gkd_exported_item_interface_info.parent_struct.properties == NULL)
8421 0 : goto out;
8422 0 : for (n = 0; _gkd_exported_item_interface_info.parent_struct.properties[n] != NULL; n++)
8423 : {
8424 0 : GDBusPropertyInfo *info = _gkd_exported_item_interface_info.parent_struct.properties[n];
8425 0 : if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
8426 : {
8427 : GVariant *value;
8428 0 : value = _gkd_exported_item_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Item", info->name, NULL, skeleton);
8429 0 : if (value != NULL)
8430 : {
8431 0 : g_variant_take_ref (value);
8432 0 : g_variant_builder_add (&builder, "{sv}", info->name, value);
8433 0 : g_variant_unref (value);
8434 : }
8435 : }
8436 : }
8437 0 : out:
8438 0 : return g_variant_builder_end (&builder);
8439 : }
8440 :
8441 : static gboolean _gkd_exported_item_emit_changed (gpointer user_data);
8442 :
8443 : static void
8444 0 : gkd_exported_item_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
8445 : {
8446 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (_skeleton);
8447 0 : gboolean emit_changed = FALSE;
8448 :
8449 0 : g_mutex_lock (&skeleton->priv->lock);
8450 0 : if (skeleton->priv->changed_properties_idle_source != NULL)
8451 : {
8452 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
8453 0 : skeleton->priv->changed_properties_idle_source = NULL;
8454 0 : emit_changed = TRUE;
8455 : }
8456 0 : g_mutex_unlock (&skeleton->priv->lock);
8457 :
8458 0 : if (emit_changed)
8459 0 : _gkd_exported_item_emit_changed (skeleton);
8460 0 : }
8461 :
8462 : static void gkd_exported_item_skeleton_iface_init (GkdExportedItemIface *iface);
8463 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
8464 169 : G_DEFINE_TYPE_WITH_CODE (GkdExportedItemSkeleton, gkd_exported_item_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
8465 : G_ADD_PRIVATE (GkdExportedItemSkeleton)
8466 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_ITEM, gkd_exported_item_skeleton_iface_init))
8467 :
8468 : #else
8469 : G_DEFINE_TYPE_WITH_CODE (GkdExportedItemSkeleton, gkd_exported_item_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
8470 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_ITEM, gkd_exported_item_skeleton_iface_init))
8471 :
8472 : #endif
8473 : static void
8474 25 : gkd_exported_item_skeleton_finalize (GObject *object)
8475 : {
8476 25 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8477 : guint n;
8478 175 : for (n = 0; n < 6; n++)
8479 150 : g_value_unset (&skeleton->priv->properties[n]);
8480 25 : g_free (skeleton->priv->properties);
8481 25 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
8482 25 : if (skeleton->priv->changed_properties_idle_source != NULL)
8483 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
8484 25 : g_main_context_unref (skeleton->priv->context);
8485 25 : g_mutex_clear (&skeleton->priv->lock);
8486 25 : G_OBJECT_CLASS (gkd_exported_item_skeleton_parent_class)->finalize (object);
8487 25 : }
8488 :
8489 : static void
8490 0 : gkd_exported_item_skeleton_get_property (GObject *object,
8491 : guint prop_id,
8492 : GValue *value,
8493 : GParamSpec *pspec G_GNUC_UNUSED)
8494 : {
8495 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8496 0 : g_assert (prop_id != 0 && prop_id - 1 < 6);
8497 0 : g_mutex_lock (&skeleton->priv->lock);
8498 0 : g_value_copy (&skeleton->priv->properties[prop_id - 1], value);
8499 0 : g_mutex_unlock (&skeleton->priv->lock);
8500 0 : }
8501 :
8502 : static gboolean
8503 7 : _gkd_exported_item_emit_changed (gpointer user_data)
8504 : {
8505 7 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (user_data);
8506 : GList *l;
8507 : GVariantBuilder builder;
8508 : GVariantBuilder invalidated_builder;
8509 : guint num_changes;
8510 :
8511 7 : g_mutex_lock (&skeleton->priv->lock);
8512 7 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
8513 7 : g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));
8514 14 : for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)
8515 : {
8516 7 : ChangedProperty *cp = l->data;
8517 : GVariant *variant;
8518 : const GValue *cur_value;
8519 :
8520 7 : cur_value = &skeleton->priv->properties[cp->prop_id - 1];
8521 7 : if (!_g_value_equal (cur_value, &cp->orig_value))
8522 : {
8523 7 : variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));
8524 7 : g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);
8525 7 : g_variant_unref (variant);
8526 7 : num_changes++;
8527 : }
8528 : }
8529 7 : if (num_changes > 0)
8530 : {
8531 : GList *connections, *ll;
8532 : GVariant *signal_variant;
8533 7 : signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.Secret.Item",
8534 : &builder, &invalidated_builder));
8535 7 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
8536 14 : for (ll = connections; ll != NULL; ll = ll->next)
8537 : {
8538 7 : GDBusConnection *connection = ll->data;
8539 :
8540 7 : g_dbus_connection_emit_signal (connection,
8541 7 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),
8542 : "org.freedesktop.DBus.Properties",
8543 : "PropertiesChanged",
8544 : signal_variant,
8545 : NULL);
8546 : }
8547 7 : g_variant_unref (signal_variant);
8548 7 : g_list_free_full (connections, g_object_unref);
8549 : }
8550 : else
8551 : {
8552 0 : g_variant_builder_clear (&builder);
8553 0 : g_variant_builder_clear (&invalidated_builder);
8554 : }
8555 7 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
8556 7 : skeleton->priv->changed_properties = NULL;
8557 7 : skeleton->priv->changed_properties_idle_source = NULL;
8558 7 : g_mutex_unlock (&skeleton->priv->lock);
8559 7 : return FALSE;
8560 : }
8561 :
8562 : static void
8563 7 : _gkd_exported_item_schedule_emit_changed (GkdExportedItemSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)
8564 : {
8565 : ChangedProperty *cp;
8566 : GList *l;
8567 7 : cp = NULL;
8568 7 : for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)
8569 : {
8570 0 : ChangedProperty *i_cp = l->data;
8571 0 : if (i_cp->info == info)
8572 : {
8573 0 : cp = i_cp;
8574 0 : break;
8575 : }
8576 : }
8577 7 : if (cp == NULL)
8578 : {
8579 7 : cp = g_new0 (ChangedProperty, 1);
8580 7 : cp->prop_id = prop_id;
8581 7 : cp->info = info;
8582 7 : skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);
8583 7 : g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));
8584 7 : g_value_copy (orig_value, &cp->orig_value);
8585 : }
8586 7 : }
8587 :
8588 : static void
8589 21 : gkd_exported_item_skeleton_notify (GObject *object,
8590 : GParamSpec *pspec G_GNUC_UNUSED)
8591 : {
8592 21 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8593 21 : g_mutex_lock (&skeleton->priv->lock);
8594 21 : if (skeleton->priv->changed_properties != NULL &&
8595 7 : skeleton->priv->changed_properties_idle_source == NULL)
8596 : {
8597 7 : skeleton->priv->changed_properties_idle_source = g_idle_source_new ();
8598 7 : g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);
8599 7 : g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gkd_exported_item_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
8600 7 : g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gkd_exported_item_emit_changed");
8601 7 : g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);
8602 7 : g_source_unref (skeleton->priv->changed_properties_idle_source);
8603 : }
8604 21 : g_mutex_unlock (&skeleton->priv->lock);
8605 21 : }
8606 :
8607 : static void
8608 21 : gkd_exported_item_skeleton_set_property (GObject *object,
8609 : guint prop_id,
8610 : const GValue *value,
8611 : GParamSpec *pspec)
8612 : {
8613 : const _ExtendedGDBusPropertyInfo *info;
8614 21 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8615 21 : g_assert (prop_id != 0 && prop_id - 1 < 6);
8616 21 : info = (const _ExtendedGDBusPropertyInfo *) _gkd_exported_item_property_info_pointers[prop_id - 1];
8617 21 : g_mutex_lock (&skeleton->priv->lock);
8618 21 : g_object_freeze_notify (object);
8619 21 : if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))
8620 : {
8621 7 : if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL &&
8622 : info->emits_changed_signal)
8623 7 : _gkd_exported_item_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]);
8624 7 : g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);
8625 7 : g_object_notify_by_pspec (object, pspec);
8626 : }
8627 21 : g_mutex_unlock (&skeleton->priv->lock);
8628 21 : g_object_thaw_notify (object);
8629 21 : }
8630 :
8631 : static void
8632 25 : gkd_exported_item_skeleton_init (GkdExportedItemSkeleton *skeleton)
8633 : {
8634 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
8635 25 : skeleton->priv = gkd_exported_item_skeleton_get_instance_private (skeleton);
8636 : #else
8637 : skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GKD_TYPE_EXPORTED_ITEM_SKELETON, GkdExportedItemSkeletonPrivate);
8638 : #endif
8639 :
8640 25 : g_mutex_init (&skeleton->priv->lock);
8641 25 : skeleton->priv->context = g_main_context_ref_thread_default ();
8642 25 : skeleton->priv->properties = g_new0 (GValue, 6);
8643 25 : g_value_init (&skeleton->priv->properties[0], G_TYPE_BOOLEAN);
8644 25 : g_value_init (&skeleton->priv->properties[1], G_TYPE_VARIANT);
8645 25 : g_value_init (&skeleton->priv->properties[2], G_TYPE_STRING);
8646 25 : g_value_init (&skeleton->priv->properties[3], G_TYPE_STRING);
8647 25 : g_value_init (&skeleton->priv->properties[4], G_TYPE_UINT64);
8648 25 : g_value_init (&skeleton->priv->properties[5], G_TYPE_UINT64);
8649 25 : }
8650 :
8651 : static gboolean
8652 0 : gkd_exported_item_skeleton_get_locked (GkdExportedItem *object)
8653 : {
8654 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8655 : gboolean value;
8656 0 : g_mutex_lock (&skeleton->priv->lock);
8657 0 : value = g_marshal_value_peek_boolean (&(skeleton->priv->properties[0]));
8658 0 : g_mutex_unlock (&skeleton->priv->lock);
8659 0 : return value;
8660 : }
8661 :
8662 : static GVariant *
8663 0 : gkd_exported_item_skeleton_get_attributes (GkdExportedItem *object)
8664 : {
8665 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8666 : GVariant *value;
8667 0 : g_mutex_lock (&skeleton->priv->lock);
8668 0 : value = g_marshal_value_peek_variant (&(skeleton->priv->properties[1]));
8669 0 : g_mutex_unlock (&skeleton->priv->lock);
8670 0 : return value;
8671 : }
8672 :
8673 : static const gchar *
8674 0 : gkd_exported_item_skeleton_get_label (GkdExportedItem *object)
8675 : {
8676 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8677 : const gchar *value;
8678 0 : g_mutex_lock (&skeleton->priv->lock);
8679 0 : value = g_marshal_value_peek_string (&(skeleton->priv->properties[2]));
8680 0 : g_mutex_unlock (&skeleton->priv->lock);
8681 0 : return value;
8682 : }
8683 :
8684 : static const gchar *
8685 0 : gkd_exported_item_skeleton_get_type_ (GkdExportedItem *object)
8686 : {
8687 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8688 : const gchar *value;
8689 0 : g_mutex_lock (&skeleton->priv->lock);
8690 0 : value = g_marshal_value_peek_string (&(skeleton->priv->properties[3]));
8691 0 : g_mutex_unlock (&skeleton->priv->lock);
8692 0 : return value;
8693 : }
8694 :
8695 : static guint64
8696 0 : gkd_exported_item_skeleton_get_created (GkdExportedItem *object)
8697 : {
8698 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8699 : guint64 value;
8700 0 : g_mutex_lock (&skeleton->priv->lock);
8701 0 : value = g_marshal_value_peek_uint64 (&(skeleton->priv->properties[4]));
8702 0 : g_mutex_unlock (&skeleton->priv->lock);
8703 0 : return value;
8704 : }
8705 :
8706 : static guint64
8707 0 : gkd_exported_item_skeleton_get_modified (GkdExportedItem *object)
8708 : {
8709 0 : GkdExportedItemSkeleton *skeleton = GKD_EXPORTED_ITEM_SKELETON (object);
8710 : guint64 value;
8711 0 : g_mutex_lock (&skeleton->priv->lock);
8712 0 : value = g_marshal_value_peek_uint64 (&(skeleton->priv->properties[5]));
8713 0 : g_mutex_unlock (&skeleton->priv->lock);
8714 0 : return value;
8715 : }
8716 :
8717 : static void
8718 23 : gkd_exported_item_skeleton_class_init (GkdExportedItemSkeletonClass *klass)
8719 : {
8720 : GObjectClass *gobject_class;
8721 : GDBusInterfaceSkeletonClass *skeleton_class;
8722 :
8723 23 : gobject_class = G_OBJECT_CLASS (klass);
8724 23 : gobject_class->finalize = gkd_exported_item_skeleton_finalize;
8725 23 : gobject_class->get_property = gkd_exported_item_skeleton_get_property;
8726 23 : gobject_class->set_property = gkd_exported_item_skeleton_set_property;
8727 23 : gobject_class->notify = gkd_exported_item_skeleton_notify;
8728 :
8729 :
8730 23 : gkd_exported_item_override_properties (gobject_class, 1);
8731 :
8732 23 : skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
8733 23 : skeleton_class->get_info = gkd_exported_item_skeleton_dbus_interface_get_info;
8734 23 : skeleton_class->get_properties = gkd_exported_item_skeleton_dbus_interface_get_properties;
8735 23 : skeleton_class->flush = gkd_exported_item_skeleton_dbus_interface_flush;
8736 23 : skeleton_class->get_vtable = gkd_exported_item_skeleton_dbus_interface_get_vtable;
8737 :
8738 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
8739 : g_type_class_add_private (klass, sizeof (GkdExportedItemSkeletonPrivate));
8740 : #endif
8741 23 : }
8742 :
8743 : static void
8744 23 : gkd_exported_item_skeleton_iface_init (GkdExportedItemIface *iface)
8745 : {
8746 23 : iface->get_locked = gkd_exported_item_skeleton_get_locked;
8747 23 : iface->get_attributes = gkd_exported_item_skeleton_get_attributes;
8748 23 : iface->get_label = gkd_exported_item_skeleton_get_label;
8749 23 : iface->get_type_ = gkd_exported_item_skeleton_get_type_;
8750 23 : iface->get_created = gkd_exported_item_skeleton_get_created;
8751 23 : iface->get_modified = gkd_exported_item_skeleton_get_modified;
8752 23 : }
8753 :
8754 : /**
8755 : * gkd_exported_item_skeleton_new:
8756 : *
8757 : * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Item.top_of_page">org.freedesktop.Secret.Item</link>.
8758 : *
8759 : * Returns: (transfer full) (type GkdExportedItemSkeleton): The skeleton object.
8760 : */
8761 : GkdExportedItem *
8762 0 : gkd_exported_item_skeleton_new (void)
8763 : {
8764 0 : return GKD_EXPORTED_ITEM (g_object_new (GKD_TYPE_EXPORTED_ITEM_SKELETON, NULL));
8765 : }
8766 :
8767 : /* ------------------------------------------------------------------------
8768 : * Code for interface org.freedesktop.Secret.Session
8769 : * ------------------------------------------------------------------------
8770 : */
8771 :
8772 : /**
8773 : * SECTION:GkdExportedSession
8774 : * @title: GkdExportedSession
8775 : * @short_description: Generated C code for the org.freedesktop.Secret.Session D-Bus interface
8776 : *
8777 : * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link> D-Bus interface in C.
8778 : */
8779 :
8780 : /* ---- Introspection data for org.freedesktop.Secret.Session ---- */
8781 :
8782 : static const _ExtendedGDBusMethodInfo _gkd_exported_session_method_info_close =
8783 : {
8784 : {
8785 : -1,
8786 : (gchar *) "Close",
8787 : NULL,
8788 : NULL,
8789 : NULL
8790 : },
8791 : "handle-close",
8792 : FALSE
8793 : };
8794 :
8795 : static const GDBusMethodInfo * const _gkd_exported_session_method_info_pointers[] =
8796 : {
8797 : &_gkd_exported_session_method_info_close.parent_struct,
8798 : NULL
8799 : };
8800 :
8801 : static const _ExtendedGDBusInterfaceInfo _gkd_exported_session_interface_info =
8802 : {
8803 : {
8804 : -1,
8805 : (gchar *) "org.freedesktop.Secret.Session",
8806 : (GDBusMethodInfo **) &_gkd_exported_session_method_info_pointers,
8807 : NULL,
8808 : NULL,
8809 : NULL
8810 : },
8811 : "exported-session",
8812 : };
8813 :
8814 :
8815 : /**
8816 : * gkd_exported_session_interface_info:
8817 : *
8818 : * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link> D-Bus interface.
8819 : *
8820 : * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
8821 : */
8822 : GDBusInterfaceInfo *
8823 17 : gkd_exported_session_interface_info (void)
8824 : {
8825 17 : return (GDBusInterfaceInfo *) &_gkd_exported_session_interface_info.parent_struct;
8826 : }
8827 :
8828 : /**
8829 : * gkd_exported_session_override_properties:
8830 : * @klass: The class structure for a #GObject derived class.
8831 : * @property_id_begin: The property id to assign to the first overridden property.
8832 : *
8833 : * Overrides all #GObject properties in the #GkdExportedSession interface for a concrete class.
8834 : * The properties are overridden in the order they are defined.
8835 : *
8836 : * Returns: The last property id.
8837 : */
8838 : guint
8839 0 : gkd_exported_session_override_properties (GObjectClass *klass G_GNUC_UNUSED, guint property_id_begin)
8840 : {
8841 0 : return property_id_begin - 1;
8842 : }
8843 :
8844 :
8845 : inline static void
8846 0 : gkd_exported_session_method_marshal_close (
8847 : GClosure *closure,
8848 : GValue *return_value,
8849 : unsigned int n_param_values,
8850 : const GValue *param_values,
8851 : void *invocation_hint,
8852 : void *marshal_data)
8853 : {
8854 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT (closure,
8855 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
8856 0 : }
8857 :
8858 :
8859 : /**
8860 : * GkdExportedSession:
8861 : *
8862 : * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link>.
8863 : */
8864 :
8865 : /**
8866 : * GkdExportedSessionIface:
8867 : * @parent_iface: The parent interface.
8868 : * @handle_close: Handler for the #GkdExportedSession::handle-close signal.
8869 : *
8870 : * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link>.
8871 : */
8872 :
8873 : typedef GkdExportedSessionIface GkdExportedSessionInterface;
8874 33 : G_DEFINE_INTERFACE (GkdExportedSession, gkd_exported_session, G_TYPE_OBJECT)
8875 :
8876 : static void
8877 16 : gkd_exported_session_default_init (GkdExportedSessionIface *iface)
8878 : {
8879 : /* GObject signals for incoming D-Bus method calls: */
8880 : /**
8881 : * GkdExportedSession::handle-close:
8882 : * @object: A #GkdExportedSession.
8883 : * @invocation: A #GDBusMethodInvocation.
8884 : *
8885 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Session.Close">Close()</link> D-Bus method.
8886 : *
8887 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_session_complete_close() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
8888 : *
8889 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
8890 : */
8891 16 : g_signal_new ("handle-close",
8892 : G_TYPE_FROM_INTERFACE (iface),
8893 : G_SIGNAL_RUN_LAST,
8894 : G_STRUCT_OFFSET (GkdExportedSessionIface, handle_close),
8895 : g_signal_accumulator_true_handled,
8896 : NULL,
8897 : gkd_exported_session_method_marshal_close,
8898 : G_TYPE_BOOLEAN,
8899 : 1,
8900 : G_TYPE_DBUS_METHOD_INVOCATION);
8901 :
8902 16 : }
8903 :
8904 : /**
8905 : * gkd_exported_session_call_close:
8906 : * @proxy: A #GkdExportedSessionProxy.
8907 : * @cancellable: (nullable): A #GCancellable or %NULL.
8908 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
8909 : * @user_data: User data to pass to @callback.
8910 : *
8911 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Session.Close">Close()</link> D-Bus method on @proxy.
8912 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
8913 : * You can then call gkd_exported_session_call_close_finish() to get the result of the operation.
8914 : *
8915 : * See gkd_exported_session_call_close_sync() for the synchronous, blocking version of this method.
8916 : */
8917 : void
8918 0 : gkd_exported_session_call_close (
8919 : GkdExportedSession *proxy,
8920 : GCancellable *cancellable,
8921 : GAsyncReadyCallback callback,
8922 : gpointer user_data)
8923 : {
8924 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
8925 : "Close",
8926 : g_variant_new ("()"),
8927 : G_DBUS_CALL_FLAGS_NONE,
8928 : -1,
8929 : cancellable,
8930 : callback,
8931 : user_data);
8932 0 : }
8933 :
8934 : /**
8935 : * gkd_exported_session_call_close_finish:
8936 : * @proxy: A #GkdExportedSessionProxy.
8937 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_session_call_close().
8938 : * @error: Return location for error or %NULL.
8939 : *
8940 : * Finishes an operation started with gkd_exported_session_call_close().
8941 : *
8942 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
8943 : */
8944 : gboolean
8945 0 : gkd_exported_session_call_close_finish (
8946 : GkdExportedSession *proxy,
8947 : GAsyncResult *res,
8948 : GError **error)
8949 : {
8950 : GVariant *_ret;
8951 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
8952 0 : if (_ret == NULL)
8953 0 : goto _out;
8954 0 : g_variant_get (_ret,
8955 : "()");
8956 0 : g_variant_unref (_ret);
8957 0 : _out:
8958 0 : return _ret != NULL;
8959 : }
8960 :
8961 : /**
8962 : * gkd_exported_session_call_close_sync:
8963 : * @proxy: A #GkdExportedSessionProxy.
8964 : * @cancellable: (nullable): A #GCancellable or %NULL.
8965 : * @error: Return location for error or %NULL.
8966 : *
8967 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Session.Close">Close()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
8968 : *
8969 : * See gkd_exported_session_call_close() for the asynchronous version of this method.
8970 : *
8971 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
8972 : */
8973 : gboolean
8974 0 : gkd_exported_session_call_close_sync (
8975 : GkdExportedSession *proxy,
8976 : GCancellable *cancellable,
8977 : GError **error)
8978 : {
8979 : GVariant *_ret;
8980 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
8981 : "Close",
8982 : g_variant_new ("()"),
8983 : G_DBUS_CALL_FLAGS_NONE,
8984 : -1,
8985 : cancellable,
8986 : error);
8987 0 : if (_ret == NULL)
8988 0 : goto _out;
8989 0 : g_variant_get (_ret,
8990 : "()");
8991 0 : g_variant_unref (_ret);
8992 0 : _out:
8993 0 : return _ret != NULL;
8994 : }
8995 :
8996 : /**
8997 : * gkd_exported_session_complete_close:
8998 : * @object: A #GkdExportedSession.
8999 : * @invocation: (transfer full): A #GDBusMethodInvocation.
9000 : *
9001 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Session.Close">Close()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
9002 : *
9003 : * This method will free @invocation, you cannot use it afterwards.
9004 : */
9005 : void
9006 0 : gkd_exported_session_complete_close (
9007 : GkdExportedSession *object G_GNUC_UNUSED,
9008 : GDBusMethodInvocation *invocation)
9009 : {
9010 0 : g_dbus_method_invocation_return_value (invocation,
9011 : g_variant_new ("()"));
9012 0 : }
9013 :
9014 : /* ------------------------------------------------------------------------ */
9015 :
9016 : /**
9017 : * GkdExportedSessionProxy:
9018 : *
9019 : * The #GkdExportedSessionProxy structure contains only private data and should only be accessed using the provided API.
9020 : */
9021 :
9022 : /**
9023 : * GkdExportedSessionProxyClass:
9024 : * @parent_class: The parent class.
9025 : *
9026 : * Class structure for #GkdExportedSessionProxy.
9027 : */
9028 :
9029 : struct _GkdExportedSessionProxyPrivate
9030 : {
9031 : GData *qdata;
9032 : };
9033 :
9034 : static void gkd_exported_session_proxy_iface_init (GkdExportedSessionIface *iface);
9035 :
9036 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
9037 0 : G_DEFINE_TYPE_WITH_CODE (GkdExportedSessionProxy, gkd_exported_session_proxy, G_TYPE_DBUS_PROXY,
9038 : G_ADD_PRIVATE (GkdExportedSessionProxy)
9039 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SESSION, gkd_exported_session_proxy_iface_init))
9040 :
9041 : #else
9042 : G_DEFINE_TYPE_WITH_CODE (GkdExportedSessionProxy, gkd_exported_session_proxy, G_TYPE_DBUS_PROXY,
9043 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SESSION, gkd_exported_session_proxy_iface_init))
9044 :
9045 : #endif
9046 : static void
9047 0 : gkd_exported_session_proxy_finalize (GObject *object)
9048 : {
9049 0 : GkdExportedSessionProxy *proxy = GKD_EXPORTED_SESSION_PROXY (object);
9050 0 : g_datalist_clear (&proxy->priv->qdata);
9051 0 : G_OBJECT_CLASS (gkd_exported_session_proxy_parent_class)->finalize (object);
9052 0 : }
9053 :
9054 : static void
9055 0 : gkd_exported_session_proxy_get_property (GObject *object G_GNUC_UNUSED,
9056 : guint prop_id G_GNUC_UNUSED,
9057 : GValue *value G_GNUC_UNUSED,
9058 : GParamSpec *pspec G_GNUC_UNUSED)
9059 : {
9060 0 : }
9061 :
9062 : static void
9063 0 : gkd_exported_session_proxy_set_property (GObject *object G_GNUC_UNUSED,
9064 : guint prop_id G_GNUC_UNUSED,
9065 : const GValue *value G_GNUC_UNUSED,
9066 : GParamSpec *pspec G_GNUC_UNUSED)
9067 : {
9068 0 : }
9069 :
9070 : static void
9071 0 : gkd_exported_session_proxy_g_signal (GDBusProxy *proxy,
9072 : const gchar *sender_name G_GNUC_UNUSED,
9073 : const gchar *signal_name,
9074 : GVariant *parameters)
9075 : {
9076 : _ExtendedGDBusSignalInfo *info;
9077 : GVariantIter iter;
9078 : GVariant *child;
9079 : GValue *paramv;
9080 : gsize num_params;
9081 : gsize n;
9082 : guint signal_id;
9083 0 : info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gkd_exported_session_interface_info.parent_struct, signal_name);
9084 0 : if (info == NULL)
9085 0 : return;
9086 0 : num_params = g_variant_n_children (parameters);
9087 0 : paramv = g_new0 (GValue, num_params + 1);
9088 0 : g_value_init (¶mv[0], GKD_TYPE_EXPORTED_SESSION);
9089 0 : g_value_set_object (¶mv[0], proxy);
9090 0 : g_variant_iter_init (&iter, parameters);
9091 0 : n = 1;
9092 0 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
9093 : {
9094 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
9095 0 : if (arg_info->use_gvariant)
9096 : {
9097 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
9098 0 : g_value_set_variant (¶mv[n], child);
9099 0 : n++;
9100 : }
9101 : else
9102 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
9103 0 : g_variant_unref (child);
9104 : }
9105 0 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_SESSION);
9106 0 : g_signal_emitv (paramv, signal_id, 0, NULL);
9107 0 : for (n = 0; n < num_params + 1; n++)
9108 0 : g_value_unset (¶mv[n]);
9109 0 : g_free (paramv);
9110 : }
9111 :
9112 : static void
9113 0 : gkd_exported_session_proxy_g_properties_changed (GDBusProxy *_proxy,
9114 : GVariant *changed_properties,
9115 : const gchar *const *invalidated_properties)
9116 : {
9117 0 : GkdExportedSessionProxy *proxy = GKD_EXPORTED_SESSION_PROXY (_proxy);
9118 : guint n;
9119 : const gchar *key;
9120 : GVariantIter *iter;
9121 : _ExtendedGDBusPropertyInfo *info;
9122 0 : g_variant_get (changed_properties, "a{sv}", &iter);
9123 0 : while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
9124 : {
9125 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_session_interface_info.parent_struct, key);
9126 0 : g_datalist_remove_data (&proxy->priv->qdata, key);
9127 0 : if (info != NULL)
9128 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
9129 : }
9130 0 : g_variant_iter_free (iter);
9131 0 : for (n = 0; invalidated_properties[n] != NULL; n++)
9132 : {
9133 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_session_interface_info.parent_struct, invalidated_properties[n]);
9134 0 : g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
9135 0 : if (info != NULL)
9136 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
9137 : }
9138 0 : }
9139 :
9140 : static void
9141 0 : gkd_exported_session_proxy_init (GkdExportedSessionProxy *proxy)
9142 : {
9143 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
9144 0 : proxy->priv = gkd_exported_session_proxy_get_instance_private (proxy);
9145 : #else
9146 : proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GKD_TYPE_EXPORTED_SESSION_PROXY, GkdExportedSessionProxyPrivate);
9147 : #endif
9148 :
9149 0 : g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gkd_exported_session_interface_info ());
9150 0 : }
9151 :
9152 : static void
9153 0 : gkd_exported_session_proxy_class_init (GkdExportedSessionProxyClass *klass)
9154 : {
9155 : GObjectClass *gobject_class;
9156 : GDBusProxyClass *proxy_class;
9157 :
9158 0 : gobject_class = G_OBJECT_CLASS (klass);
9159 0 : gobject_class->finalize = gkd_exported_session_proxy_finalize;
9160 0 : gobject_class->get_property = gkd_exported_session_proxy_get_property;
9161 0 : gobject_class->set_property = gkd_exported_session_proxy_set_property;
9162 :
9163 0 : proxy_class = G_DBUS_PROXY_CLASS (klass);
9164 0 : proxy_class->g_signal = gkd_exported_session_proxy_g_signal;
9165 0 : proxy_class->g_properties_changed = gkd_exported_session_proxy_g_properties_changed;
9166 :
9167 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
9168 : g_type_class_add_private (klass, sizeof (GkdExportedSessionProxyPrivate));
9169 : #endif
9170 0 : }
9171 :
9172 : static void
9173 0 : gkd_exported_session_proxy_iface_init (GkdExportedSessionIface *iface G_GNUC_UNUSED)
9174 : {
9175 0 : }
9176 :
9177 : /**
9178 : * gkd_exported_session_proxy_new:
9179 : * @connection: A #GDBusConnection.
9180 : * @flags: Flags from the #GDBusProxyFlags enumeration.
9181 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
9182 : * @object_path: An object path.
9183 : * @cancellable: (nullable): A #GCancellable or %NULL.
9184 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
9185 : * @user_data: User data to pass to @callback.
9186 : *
9187 : * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link>. See g_dbus_proxy_new() for more details.
9188 : *
9189 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
9190 : * You can then call gkd_exported_session_proxy_new_finish() to get the result of the operation.
9191 : *
9192 : * See gkd_exported_session_proxy_new_sync() for the synchronous, blocking version of this constructor.
9193 : */
9194 : void
9195 0 : gkd_exported_session_proxy_new (
9196 : GDBusConnection *connection,
9197 : GDBusProxyFlags flags,
9198 : const gchar *name,
9199 : const gchar *object_path,
9200 : GCancellable *cancellable,
9201 : GAsyncReadyCallback callback,
9202 : gpointer user_data)
9203 : {
9204 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_SESSION_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Session", NULL);
9205 0 : }
9206 :
9207 : /**
9208 : * gkd_exported_session_proxy_new_finish:
9209 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_session_proxy_new().
9210 : * @error: Return location for error or %NULL
9211 : *
9212 : * Finishes an operation started with gkd_exported_session_proxy_new().
9213 : *
9214 : * Returns: (transfer full) (type GkdExportedSessionProxy): The constructed proxy object or %NULL if @error is set.
9215 : */
9216 : GkdExportedSession *
9217 0 : gkd_exported_session_proxy_new_finish (
9218 : GAsyncResult *res,
9219 : GError **error)
9220 : {
9221 : GObject *ret;
9222 : GObject *source_object;
9223 0 : source_object = g_async_result_get_source_object (res);
9224 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
9225 0 : g_object_unref (source_object);
9226 0 : if (ret != NULL)
9227 0 : return GKD_EXPORTED_SESSION (ret);
9228 : else
9229 0 : return NULL;
9230 : }
9231 :
9232 : /**
9233 : * gkd_exported_session_proxy_new_sync:
9234 : * @connection: A #GDBusConnection.
9235 : * @flags: Flags from the #GDBusProxyFlags enumeration.
9236 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
9237 : * @object_path: An object path.
9238 : * @cancellable: (nullable): A #GCancellable or %NULL.
9239 : * @error: Return location for error or %NULL
9240 : *
9241 : * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link>. See g_dbus_proxy_new_sync() for more details.
9242 : *
9243 : * The calling thread is blocked until a reply is received.
9244 : *
9245 : * See gkd_exported_session_proxy_new() for the asynchronous version of this constructor.
9246 : *
9247 : * Returns: (transfer full) (type GkdExportedSessionProxy): The constructed proxy object or %NULL if @error is set.
9248 : */
9249 : GkdExportedSession *
9250 0 : gkd_exported_session_proxy_new_sync (
9251 : GDBusConnection *connection,
9252 : GDBusProxyFlags flags,
9253 : const gchar *name,
9254 : const gchar *object_path,
9255 : GCancellable *cancellable,
9256 : GError **error)
9257 : {
9258 : GInitable *ret;
9259 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_SESSION_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Session", NULL);
9260 0 : if (ret != NULL)
9261 0 : return GKD_EXPORTED_SESSION (ret);
9262 : else
9263 0 : return NULL;
9264 : }
9265 :
9266 :
9267 : /**
9268 : * gkd_exported_session_proxy_new_for_bus:
9269 : * @bus_type: A #GBusType.
9270 : * @flags: Flags from the #GDBusProxyFlags enumeration.
9271 : * @name: A bus name (well-known or unique).
9272 : * @object_path: An object path.
9273 : * @cancellable: (nullable): A #GCancellable or %NULL.
9274 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
9275 : * @user_data: User data to pass to @callback.
9276 : *
9277 : * Like gkd_exported_session_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
9278 : *
9279 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
9280 : * You can then call gkd_exported_session_proxy_new_for_bus_finish() to get the result of the operation.
9281 : *
9282 : * See gkd_exported_session_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
9283 : */
9284 : void
9285 0 : gkd_exported_session_proxy_new_for_bus (
9286 : GBusType bus_type,
9287 : GDBusProxyFlags flags,
9288 : const gchar *name,
9289 : const gchar *object_path,
9290 : GCancellable *cancellable,
9291 : GAsyncReadyCallback callback,
9292 : gpointer user_data)
9293 : {
9294 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_SESSION_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Session", NULL);
9295 0 : }
9296 :
9297 : /**
9298 : * gkd_exported_session_proxy_new_for_bus_finish:
9299 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_session_proxy_new_for_bus().
9300 : * @error: Return location for error or %NULL
9301 : *
9302 : * Finishes an operation started with gkd_exported_session_proxy_new_for_bus().
9303 : *
9304 : * Returns: (transfer full) (type GkdExportedSessionProxy): The constructed proxy object or %NULL if @error is set.
9305 : */
9306 : GkdExportedSession *
9307 0 : gkd_exported_session_proxy_new_for_bus_finish (
9308 : GAsyncResult *res,
9309 : GError **error)
9310 : {
9311 : GObject *ret;
9312 : GObject *source_object;
9313 0 : source_object = g_async_result_get_source_object (res);
9314 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
9315 0 : g_object_unref (source_object);
9316 0 : if (ret != NULL)
9317 0 : return GKD_EXPORTED_SESSION (ret);
9318 : else
9319 0 : return NULL;
9320 : }
9321 :
9322 : /**
9323 : * gkd_exported_session_proxy_new_for_bus_sync:
9324 : * @bus_type: A #GBusType.
9325 : * @flags: Flags from the #GDBusProxyFlags enumeration.
9326 : * @name: A bus name (well-known or unique).
9327 : * @object_path: An object path.
9328 : * @cancellable: (nullable): A #GCancellable or %NULL.
9329 : * @error: Return location for error or %NULL
9330 : *
9331 : * Like gkd_exported_session_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
9332 : *
9333 : * The calling thread is blocked until a reply is received.
9334 : *
9335 : * See gkd_exported_session_proxy_new_for_bus() for the asynchronous version of this constructor.
9336 : *
9337 : * Returns: (transfer full) (type GkdExportedSessionProxy): The constructed proxy object or %NULL if @error is set.
9338 : */
9339 : GkdExportedSession *
9340 0 : gkd_exported_session_proxy_new_for_bus_sync (
9341 : GBusType bus_type,
9342 : GDBusProxyFlags flags,
9343 : const gchar *name,
9344 : const gchar *object_path,
9345 : GCancellable *cancellable,
9346 : GError **error)
9347 : {
9348 : GInitable *ret;
9349 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_SESSION_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Session", NULL);
9350 0 : if (ret != NULL)
9351 0 : return GKD_EXPORTED_SESSION (ret);
9352 : else
9353 0 : return NULL;
9354 : }
9355 :
9356 :
9357 : /* ------------------------------------------------------------------------ */
9358 :
9359 : /**
9360 : * GkdExportedSessionSkeleton:
9361 : *
9362 : * The #GkdExportedSessionSkeleton structure contains only private data and should only be accessed using the provided API.
9363 : */
9364 :
9365 : /**
9366 : * GkdExportedSessionSkeletonClass:
9367 : * @parent_class: The parent class.
9368 : *
9369 : * Class structure for #GkdExportedSessionSkeleton.
9370 : */
9371 :
9372 : struct _GkdExportedSessionSkeletonPrivate
9373 : {
9374 : GValue *properties;
9375 : GList *changed_properties;
9376 : GSource *changed_properties_idle_source;
9377 : GMainContext *context;
9378 : GMutex lock;
9379 : };
9380 :
9381 : static void
9382 0 : _gkd_exported_session_skeleton_handle_method_call (
9383 : GDBusConnection *connection G_GNUC_UNUSED,
9384 : const gchar *sender G_GNUC_UNUSED,
9385 : const gchar *object_path G_GNUC_UNUSED,
9386 : const gchar *interface_name,
9387 : const gchar *method_name,
9388 : GVariant *parameters,
9389 : GDBusMethodInvocation *invocation,
9390 : gpointer user_data)
9391 : {
9392 0 : GkdExportedSessionSkeleton *skeleton = GKD_EXPORTED_SESSION_SKELETON (user_data);
9393 : _ExtendedGDBusMethodInfo *info;
9394 : GVariantIter iter;
9395 : GVariant *child;
9396 : GValue *paramv;
9397 : gsize num_params;
9398 : guint num_extra;
9399 : gsize n;
9400 : guint signal_id;
9401 0 : GValue return_value = G_VALUE_INIT;
9402 0 : info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
9403 0 : g_assert (info != NULL);
9404 0 : num_params = g_variant_n_children (parameters);
9405 0 : num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
9406 0 : n = 0;
9407 0 : g_value_init (¶mv[n], GKD_TYPE_EXPORTED_SESSION);
9408 0 : g_value_set_object (¶mv[n++], skeleton);
9409 0 : g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
9410 0 : g_value_set_object (¶mv[n++], invocation);
9411 0 : if (info->pass_fdlist)
9412 : {
9413 : #ifdef G_OS_UNIX
9414 0 : g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
9415 0 : g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
9416 : #else
9417 : g_assert_not_reached ();
9418 : #endif
9419 : }
9420 0 : g_variant_iter_init (&iter, parameters);
9421 0 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
9422 : {
9423 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
9424 0 : if (arg_info->use_gvariant)
9425 : {
9426 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
9427 0 : g_value_set_variant (¶mv[n], child);
9428 0 : n++;
9429 : }
9430 : else
9431 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
9432 0 : g_variant_unref (child);
9433 : }
9434 0 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_SESSION);
9435 0 : g_value_init (&return_value, G_TYPE_BOOLEAN);
9436 0 : g_signal_emitv (paramv, signal_id, 0, &return_value);
9437 0 : if (!g_value_get_boolean (&return_value))
9438 0 : g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
9439 0 : g_value_unset (&return_value);
9440 0 : for (n = 0; n < num_params + num_extra; n++)
9441 0 : g_value_unset (¶mv[n]);
9442 0 : g_free (paramv);
9443 0 : }
9444 :
9445 : static GVariant *
9446 0 : _gkd_exported_session_skeleton_handle_get_property (
9447 : GDBusConnection *connection G_GNUC_UNUSED,
9448 : const gchar *sender G_GNUC_UNUSED,
9449 : const gchar *object_path G_GNUC_UNUSED,
9450 : const gchar *interface_name G_GNUC_UNUSED,
9451 : const gchar *property_name,
9452 : GError **error,
9453 : gpointer user_data)
9454 : {
9455 0 : GkdExportedSessionSkeleton *skeleton = GKD_EXPORTED_SESSION_SKELETON (user_data);
9456 0 : GValue value = G_VALUE_INIT;
9457 : GParamSpec *pspec;
9458 : _ExtendedGDBusPropertyInfo *info;
9459 : GVariant *ret;
9460 0 : ret = NULL;
9461 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_session_interface_info.parent_struct, property_name);
9462 0 : g_assert (info != NULL);
9463 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
9464 0 : if (pspec == NULL)
9465 : {
9466 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
9467 : }
9468 : else
9469 : {
9470 0 : g_value_init (&value, pspec->value_type);
9471 0 : g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
9472 0 : ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
9473 0 : g_value_unset (&value);
9474 : }
9475 0 : return ret;
9476 : }
9477 :
9478 : static gboolean
9479 0 : _gkd_exported_session_skeleton_handle_set_property (
9480 : GDBusConnection *connection G_GNUC_UNUSED,
9481 : const gchar *sender G_GNUC_UNUSED,
9482 : const gchar *object_path G_GNUC_UNUSED,
9483 : const gchar *interface_name G_GNUC_UNUSED,
9484 : const gchar *property_name,
9485 : GVariant *variant,
9486 : GError **error,
9487 : gpointer user_data)
9488 : {
9489 0 : GkdExportedSessionSkeleton *skeleton = GKD_EXPORTED_SESSION_SKELETON (user_data);
9490 0 : GValue value = G_VALUE_INIT;
9491 : GParamSpec *pspec;
9492 : _ExtendedGDBusPropertyInfo *info;
9493 : gboolean ret;
9494 0 : ret = FALSE;
9495 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_session_interface_info.parent_struct, property_name);
9496 0 : g_assert (info != NULL);
9497 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
9498 0 : if (pspec == NULL)
9499 : {
9500 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
9501 : }
9502 : else
9503 : {
9504 0 : if (info->use_gvariant)
9505 0 : g_value_set_variant (&value, variant);
9506 : else
9507 0 : g_dbus_gvariant_to_gvalue (variant, &value);
9508 0 : g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
9509 0 : g_value_unset (&value);
9510 0 : ret = TRUE;
9511 : }
9512 0 : return ret;
9513 : }
9514 :
9515 : static const GDBusInterfaceVTable _gkd_exported_session_skeleton_vtable =
9516 : {
9517 : _gkd_exported_session_skeleton_handle_method_call,
9518 : _gkd_exported_session_skeleton_handle_get_property,
9519 : _gkd_exported_session_skeleton_handle_set_property,
9520 : {NULL}
9521 : };
9522 :
9523 : static GDBusInterfaceInfo *
9524 17 : gkd_exported_session_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
9525 : {
9526 17 : return gkd_exported_session_interface_info ();
9527 : }
9528 :
9529 : static GDBusInterfaceVTable *
9530 17 : gkd_exported_session_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
9531 : {
9532 17 : return (GDBusInterfaceVTable *) &_gkd_exported_session_skeleton_vtable;
9533 : }
9534 :
9535 : static GVariant *
9536 0 : gkd_exported_session_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
9537 : {
9538 0 : GkdExportedSessionSkeleton *skeleton = GKD_EXPORTED_SESSION_SKELETON (_skeleton);
9539 :
9540 : GVariantBuilder builder;
9541 : guint n;
9542 0 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
9543 0 : if (_gkd_exported_session_interface_info.parent_struct.properties == NULL)
9544 0 : goto out;
9545 0 : for (n = 0; _gkd_exported_session_interface_info.parent_struct.properties[n] != NULL; n++)
9546 : {
9547 0 : GDBusPropertyInfo *info = _gkd_exported_session_interface_info.parent_struct.properties[n];
9548 0 : if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
9549 : {
9550 : GVariant *value;
9551 0 : value = _gkd_exported_session_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Session", info->name, NULL, skeleton);
9552 0 : if (value != NULL)
9553 : {
9554 0 : g_variant_take_ref (value);
9555 0 : g_variant_builder_add (&builder, "{sv}", info->name, value);
9556 0 : g_variant_unref (value);
9557 : }
9558 : }
9559 : }
9560 0 : out:
9561 0 : return g_variant_builder_end (&builder);
9562 : }
9563 :
9564 : static void
9565 0 : gkd_exported_session_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton G_GNUC_UNUSED)
9566 : {
9567 0 : }
9568 :
9569 : static void gkd_exported_session_skeleton_iface_init (GkdExportedSessionIface *iface);
9570 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
9571 82 : G_DEFINE_TYPE_WITH_CODE (GkdExportedSessionSkeleton, gkd_exported_session_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
9572 : G_ADD_PRIVATE (GkdExportedSessionSkeleton)
9573 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SESSION, gkd_exported_session_skeleton_iface_init))
9574 :
9575 : #else
9576 : G_DEFINE_TYPE_WITH_CODE (GkdExportedSessionSkeleton, gkd_exported_session_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
9577 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_SESSION, gkd_exported_session_skeleton_iface_init))
9578 :
9579 : #endif
9580 : static void
9581 16 : gkd_exported_session_skeleton_finalize (GObject *object)
9582 : {
9583 16 : GkdExportedSessionSkeleton *skeleton = GKD_EXPORTED_SESSION_SKELETON (object);
9584 16 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
9585 16 : if (skeleton->priv->changed_properties_idle_source != NULL)
9586 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
9587 16 : g_main_context_unref (skeleton->priv->context);
9588 16 : g_mutex_clear (&skeleton->priv->lock);
9589 16 : G_OBJECT_CLASS (gkd_exported_session_skeleton_parent_class)->finalize (object);
9590 16 : }
9591 :
9592 : static void
9593 17 : gkd_exported_session_skeleton_init (GkdExportedSessionSkeleton *skeleton)
9594 : {
9595 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
9596 17 : skeleton->priv = gkd_exported_session_skeleton_get_instance_private (skeleton);
9597 : #else
9598 : skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GKD_TYPE_EXPORTED_SESSION_SKELETON, GkdExportedSessionSkeletonPrivate);
9599 : #endif
9600 :
9601 17 : g_mutex_init (&skeleton->priv->lock);
9602 17 : skeleton->priv->context = g_main_context_ref_thread_default ();
9603 17 : }
9604 :
9605 : static void
9606 16 : gkd_exported_session_skeleton_class_init (GkdExportedSessionSkeletonClass *klass)
9607 : {
9608 : GObjectClass *gobject_class;
9609 : GDBusInterfaceSkeletonClass *skeleton_class;
9610 :
9611 16 : gobject_class = G_OBJECT_CLASS (klass);
9612 16 : gobject_class->finalize = gkd_exported_session_skeleton_finalize;
9613 :
9614 16 : skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
9615 16 : skeleton_class->get_info = gkd_exported_session_skeleton_dbus_interface_get_info;
9616 16 : skeleton_class->get_properties = gkd_exported_session_skeleton_dbus_interface_get_properties;
9617 16 : skeleton_class->flush = gkd_exported_session_skeleton_dbus_interface_flush;
9618 16 : skeleton_class->get_vtable = gkd_exported_session_skeleton_dbus_interface_get_vtable;
9619 :
9620 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
9621 : g_type_class_add_private (klass, sizeof (GkdExportedSessionSkeletonPrivate));
9622 : #endif
9623 16 : }
9624 :
9625 : static void
9626 16 : gkd_exported_session_skeleton_iface_init (GkdExportedSessionIface *iface G_GNUC_UNUSED)
9627 : {
9628 16 : }
9629 :
9630 : /**
9631 : * gkd_exported_session_skeleton_new:
9632 : *
9633 : * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Session.top_of_page">org.freedesktop.Secret.Session</link>.
9634 : *
9635 : * Returns: (transfer full) (type GkdExportedSessionSkeleton): The skeleton object.
9636 : */
9637 : GkdExportedSession *
9638 17 : gkd_exported_session_skeleton_new (void)
9639 : {
9640 17 : return GKD_EXPORTED_SESSION (g_object_new (GKD_TYPE_EXPORTED_SESSION_SKELETON, NULL));
9641 : }
9642 :
9643 : /* ------------------------------------------------------------------------
9644 : * Code for interface org.freedesktop.Secret.Prompt
9645 : * ------------------------------------------------------------------------
9646 : */
9647 :
9648 : /**
9649 : * SECTION:GkdExportedPrompt
9650 : * @title: GkdExportedPrompt
9651 : * @short_description: Generated C code for the org.freedesktop.Secret.Prompt D-Bus interface
9652 : *
9653 : * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link> D-Bus interface in C.
9654 : */
9655 :
9656 : enum
9657 : {
9658 : GKD__EXPORTED_PROMPT_COMPLETED,
9659 : };
9660 :
9661 : static unsigned GKD__EXPORTED_PROMPT_SIGNALS[1] = { 0 };
9662 :
9663 : /* ---- Introspection data for org.freedesktop.Secret.Prompt ---- */
9664 :
9665 : static const _ExtendedGDBusArgInfo _gkd_exported_prompt_method_info_prompt_IN_ARG_window_id =
9666 : {
9667 : {
9668 : -1,
9669 : (gchar *) "window_id",
9670 : (gchar *) "s",
9671 : NULL
9672 : },
9673 : FALSE
9674 : };
9675 :
9676 : static const GDBusArgInfo * const _gkd_exported_prompt_method_info_prompt_IN_ARG_pointers[] =
9677 : {
9678 : &_gkd_exported_prompt_method_info_prompt_IN_ARG_window_id.parent_struct,
9679 : NULL
9680 : };
9681 :
9682 : static const _ExtendedGDBusMethodInfo _gkd_exported_prompt_method_info_prompt =
9683 : {
9684 : {
9685 : -1,
9686 : (gchar *) "Prompt",
9687 : (GDBusArgInfo **) &_gkd_exported_prompt_method_info_prompt_IN_ARG_pointers,
9688 : NULL,
9689 : NULL
9690 : },
9691 : "handle-prompt",
9692 : FALSE
9693 : };
9694 :
9695 : static const _ExtendedGDBusMethodInfo _gkd_exported_prompt_method_info_dismiss =
9696 : {
9697 : {
9698 : -1,
9699 : (gchar *) "Dismiss",
9700 : NULL,
9701 : NULL,
9702 : NULL
9703 : },
9704 : "handle-dismiss",
9705 : FALSE
9706 : };
9707 :
9708 : static const GDBusMethodInfo * const _gkd_exported_prompt_method_info_pointers[] =
9709 : {
9710 : &_gkd_exported_prompt_method_info_prompt.parent_struct,
9711 : &_gkd_exported_prompt_method_info_dismiss.parent_struct,
9712 : NULL
9713 : };
9714 :
9715 : static const _ExtendedGDBusArgInfo _gkd_exported_prompt_signal_info_completed_ARG_dismissed =
9716 : {
9717 : {
9718 : -1,
9719 : (gchar *) "dismissed",
9720 : (gchar *) "b",
9721 : NULL
9722 : },
9723 : FALSE
9724 : };
9725 :
9726 : static const _ExtendedGDBusArgInfo _gkd_exported_prompt_signal_info_completed_ARG_result =
9727 : {
9728 : {
9729 : -1,
9730 : (gchar *) "result",
9731 : (gchar *) "v",
9732 : NULL
9733 : },
9734 : FALSE
9735 : };
9736 :
9737 : static const GDBusArgInfo * const _gkd_exported_prompt_signal_info_completed_ARG_pointers[] =
9738 : {
9739 : &_gkd_exported_prompt_signal_info_completed_ARG_dismissed.parent_struct,
9740 : &_gkd_exported_prompt_signal_info_completed_ARG_result.parent_struct,
9741 : NULL
9742 : };
9743 :
9744 : static const _ExtendedGDBusSignalInfo _gkd_exported_prompt_signal_info_completed =
9745 : {
9746 : {
9747 : -1,
9748 : (gchar *) "Completed",
9749 : (GDBusArgInfo **) &_gkd_exported_prompt_signal_info_completed_ARG_pointers,
9750 : NULL
9751 : },
9752 : "completed"
9753 : };
9754 :
9755 : static const GDBusSignalInfo * const _gkd_exported_prompt_signal_info_pointers[] =
9756 : {
9757 : &_gkd_exported_prompt_signal_info_completed.parent_struct,
9758 : NULL
9759 : };
9760 :
9761 : static const _ExtendedGDBusInterfaceInfo _gkd_exported_prompt_interface_info =
9762 : {
9763 : {
9764 : -1,
9765 : (gchar *) "org.freedesktop.Secret.Prompt",
9766 : (GDBusMethodInfo **) &_gkd_exported_prompt_method_info_pointers,
9767 : (GDBusSignalInfo **) &_gkd_exported_prompt_signal_info_pointers,
9768 : NULL,
9769 : NULL
9770 : },
9771 : "exported-prompt",
9772 : };
9773 :
9774 :
9775 : /**
9776 : * gkd_exported_prompt_interface_info:
9777 : *
9778 : * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link> D-Bus interface.
9779 : *
9780 : * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
9781 : */
9782 : GDBusInterfaceInfo *
9783 2 : gkd_exported_prompt_interface_info (void)
9784 : {
9785 2 : return (GDBusInterfaceInfo *) &_gkd_exported_prompt_interface_info.parent_struct;
9786 : }
9787 :
9788 : /**
9789 : * gkd_exported_prompt_override_properties:
9790 : * @klass: The class structure for a #GObject derived class.
9791 : * @property_id_begin: The property id to assign to the first overridden property.
9792 : *
9793 : * Overrides all #GObject properties in the #GkdExportedPrompt interface for a concrete class.
9794 : * The properties are overridden in the order they are defined.
9795 : *
9796 : * Returns: The last property id.
9797 : */
9798 : guint
9799 0 : gkd_exported_prompt_override_properties (GObjectClass *klass G_GNUC_UNUSED, guint property_id_begin)
9800 : {
9801 0 : return property_id_begin - 1;
9802 : }
9803 :
9804 :
9805 : inline static void
9806 0 : gkd_exported_prompt_signal_marshal_completed (
9807 : GClosure *closure,
9808 : GValue *return_value,
9809 : unsigned int n_param_values,
9810 : const GValue *param_values,
9811 : void *invocation_hint,
9812 : void *marshal_data)
9813 : {
9814 0 : _g_dbus_codegen_marshal_VOID__BOOLEAN_VARIANT (closure,
9815 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
9816 0 : }
9817 :
9818 : inline static void
9819 2 : gkd_exported_prompt_method_marshal_prompt (
9820 : GClosure *closure,
9821 : GValue *return_value,
9822 : unsigned int n_param_values,
9823 : const GValue *param_values,
9824 : void *invocation_hint,
9825 : void *marshal_data)
9826 : {
9827 2 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING (closure,
9828 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
9829 2 : }
9830 :
9831 : inline static void
9832 0 : gkd_exported_prompt_method_marshal_dismiss (
9833 : GClosure *closure,
9834 : GValue *return_value,
9835 : unsigned int n_param_values,
9836 : const GValue *param_values,
9837 : void *invocation_hint,
9838 : void *marshal_data)
9839 : {
9840 0 : _g_dbus_codegen_marshal_BOOLEAN__OBJECT (closure,
9841 : return_value, n_param_values, param_values, invocation_hint, marshal_data);
9842 0 : }
9843 :
9844 :
9845 : /**
9846 : * GkdExportedPrompt:
9847 : *
9848 : * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link>.
9849 : */
9850 :
9851 : /**
9852 : * GkdExportedPromptIface:
9853 : * @parent_iface: The parent interface.
9854 : * @handle_dismiss: Handler for the #GkdExportedPrompt::handle-dismiss signal.
9855 : * @handle_prompt: Handler for the #GkdExportedPrompt::handle-prompt signal.
9856 : * @completed: Handler for the #GkdExportedPrompt::completed signal.
9857 : *
9858 : * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link>.
9859 : */
9860 :
9861 : typedef GkdExportedPromptIface GkdExportedPromptInterface;
9862 8 : G_DEFINE_INTERFACE (GkdExportedPrompt, gkd_exported_prompt, G_TYPE_OBJECT)
9863 :
9864 : static void
9865 2 : gkd_exported_prompt_default_init (GkdExportedPromptIface *iface)
9866 : {
9867 : /* GObject signals for incoming D-Bus method calls: */
9868 : /**
9869 : * GkdExportedPrompt::handle-prompt:
9870 : * @object: A #GkdExportedPrompt.
9871 : * @invocation: A #GDBusMethodInvocation.
9872 : * @arg_window_id: Argument passed by remote caller.
9873 : *
9874 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Prompt">Prompt()</link> D-Bus method.
9875 : *
9876 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_prompt_complete_prompt() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
9877 : *
9878 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
9879 : */
9880 2 : g_signal_new ("handle-prompt",
9881 : G_TYPE_FROM_INTERFACE (iface),
9882 : G_SIGNAL_RUN_LAST,
9883 : G_STRUCT_OFFSET (GkdExportedPromptIface, handle_prompt),
9884 : g_signal_accumulator_true_handled,
9885 : NULL,
9886 : gkd_exported_prompt_method_marshal_prompt,
9887 : G_TYPE_BOOLEAN,
9888 : 2,
9889 : G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
9890 :
9891 : /**
9892 : * GkdExportedPrompt::handle-dismiss:
9893 : * @object: A #GkdExportedPrompt.
9894 : * @invocation: A #GDBusMethodInvocation.
9895 : *
9896 : * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Dismiss">Dismiss()</link> D-Bus method.
9897 : *
9898 : * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gkd_exported_prompt_complete_dismiss() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
9899 : *
9900 : * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
9901 : */
9902 2 : g_signal_new ("handle-dismiss",
9903 : G_TYPE_FROM_INTERFACE (iface),
9904 : G_SIGNAL_RUN_LAST,
9905 : G_STRUCT_OFFSET (GkdExportedPromptIface, handle_dismiss),
9906 : g_signal_accumulator_true_handled,
9907 : NULL,
9908 : gkd_exported_prompt_method_marshal_dismiss,
9909 : G_TYPE_BOOLEAN,
9910 : 1,
9911 : G_TYPE_DBUS_METHOD_INVOCATION);
9912 :
9913 : /* GObject signals for received D-Bus signals: */
9914 : /**
9915 : * GkdExportedPrompt::completed:
9916 : * @object: A #GkdExportedPrompt.
9917 : * @arg_dismissed: Argument.
9918 : * @arg_result: Argument.
9919 : *
9920 : * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-Secret-Prompt.Completed">"Completed"</link> is received.
9921 : *
9922 : * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
9923 : */
9924 2 : GKD__EXPORTED_PROMPT_SIGNALS[GKD__EXPORTED_PROMPT_COMPLETED] =
9925 2 : g_signal_new ("completed",
9926 : G_TYPE_FROM_INTERFACE (iface),
9927 : G_SIGNAL_RUN_LAST,
9928 : G_STRUCT_OFFSET (GkdExportedPromptIface, completed),
9929 : NULL,
9930 : NULL,
9931 : gkd_exported_prompt_signal_marshal_completed,
9932 : G_TYPE_NONE,
9933 : 2, G_TYPE_BOOLEAN, G_TYPE_VARIANT);
9934 :
9935 2 : }
9936 :
9937 : /**
9938 : * gkd_exported_prompt_emit_completed:
9939 : * @object: A #GkdExportedPrompt.
9940 : * @arg_dismissed: Argument to pass with the signal.
9941 : * @arg_result: Argument to pass with the signal.
9942 : *
9943 : * Emits the <link linkend="gdbus-signal-org-freedesktop-Secret-Prompt.Completed">"Completed"</link> D-Bus signal.
9944 : */
9945 : void
9946 0 : gkd_exported_prompt_emit_completed (
9947 : GkdExportedPrompt *object,
9948 : gboolean arg_dismissed,
9949 : GVariant *arg_result)
9950 : {
9951 0 : g_signal_emit (object, GKD__EXPORTED_PROMPT_SIGNALS[GKD__EXPORTED_PROMPT_COMPLETED], 0, arg_dismissed, arg_result);
9952 0 : }
9953 :
9954 : /**
9955 : * gkd_exported_prompt_call_prompt:
9956 : * @proxy: A #GkdExportedPromptProxy.
9957 : * @arg_window_id: Argument to pass with the method invocation.
9958 : * @cancellable: (nullable): A #GCancellable or %NULL.
9959 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
9960 : * @user_data: User data to pass to @callback.
9961 : *
9962 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Prompt">Prompt()</link> D-Bus method on @proxy.
9963 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
9964 : * You can then call gkd_exported_prompt_call_prompt_finish() to get the result of the operation.
9965 : *
9966 : * See gkd_exported_prompt_call_prompt_sync() for the synchronous, blocking version of this method.
9967 : */
9968 : void
9969 0 : gkd_exported_prompt_call_prompt (
9970 : GkdExportedPrompt *proxy,
9971 : const gchar *arg_window_id,
9972 : GCancellable *cancellable,
9973 : GAsyncReadyCallback callback,
9974 : gpointer user_data)
9975 : {
9976 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
9977 : "Prompt",
9978 : g_variant_new ("(s)",
9979 : arg_window_id),
9980 : G_DBUS_CALL_FLAGS_NONE,
9981 : -1,
9982 : cancellable,
9983 : callback,
9984 : user_data);
9985 0 : }
9986 :
9987 : /**
9988 : * gkd_exported_prompt_call_prompt_finish:
9989 : * @proxy: A #GkdExportedPromptProxy.
9990 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_prompt_call_prompt().
9991 : * @error: Return location for error or %NULL.
9992 : *
9993 : * Finishes an operation started with gkd_exported_prompt_call_prompt().
9994 : *
9995 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
9996 : */
9997 : gboolean
9998 0 : gkd_exported_prompt_call_prompt_finish (
9999 : GkdExportedPrompt *proxy,
10000 : GAsyncResult *res,
10001 : GError **error)
10002 : {
10003 : GVariant *_ret;
10004 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
10005 0 : if (_ret == NULL)
10006 0 : goto _out;
10007 0 : g_variant_get (_ret,
10008 : "()");
10009 0 : g_variant_unref (_ret);
10010 0 : _out:
10011 0 : return _ret != NULL;
10012 : }
10013 :
10014 : /**
10015 : * gkd_exported_prompt_call_prompt_sync:
10016 : * @proxy: A #GkdExportedPromptProxy.
10017 : * @arg_window_id: Argument to pass with the method invocation.
10018 : * @cancellable: (nullable): A #GCancellable or %NULL.
10019 : * @error: Return location for error or %NULL.
10020 : *
10021 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Prompt">Prompt()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
10022 : *
10023 : * See gkd_exported_prompt_call_prompt() for the asynchronous version of this method.
10024 : *
10025 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
10026 : */
10027 : gboolean
10028 0 : gkd_exported_prompt_call_prompt_sync (
10029 : GkdExportedPrompt *proxy,
10030 : const gchar *arg_window_id,
10031 : GCancellable *cancellable,
10032 : GError **error)
10033 : {
10034 : GVariant *_ret;
10035 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
10036 : "Prompt",
10037 : g_variant_new ("(s)",
10038 : arg_window_id),
10039 : G_DBUS_CALL_FLAGS_NONE,
10040 : -1,
10041 : cancellable,
10042 : error);
10043 0 : if (_ret == NULL)
10044 0 : goto _out;
10045 0 : g_variant_get (_ret,
10046 : "()");
10047 0 : g_variant_unref (_ret);
10048 0 : _out:
10049 0 : return _ret != NULL;
10050 : }
10051 :
10052 : /**
10053 : * gkd_exported_prompt_call_dismiss:
10054 : * @proxy: A #GkdExportedPromptProxy.
10055 : * @cancellable: (nullable): A #GCancellable or %NULL.
10056 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
10057 : * @user_data: User data to pass to @callback.
10058 : *
10059 : * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Dismiss">Dismiss()</link> D-Bus method on @proxy.
10060 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
10061 : * You can then call gkd_exported_prompt_call_dismiss_finish() to get the result of the operation.
10062 : *
10063 : * See gkd_exported_prompt_call_dismiss_sync() for the synchronous, blocking version of this method.
10064 : */
10065 : void
10066 0 : gkd_exported_prompt_call_dismiss (
10067 : GkdExportedPrompt *proxy,
10068 : GCancellable *cancellable,
10069 : GAsyncReadyCallback callback,
10070 : gpointer user_data)
10071 : {
10072 0 : g_dbus_proxy_call (G_DBUS_PROXY (proxy),
10073 : "Dismiss",
10074 : g_variant_new ("()"),
10075 : G_DBUS_CALL_FLAGS_NONE,
10076 : -1,
10077 : cancellable,
10078 : callback,
10079 : user_data);
10080 0 : }
10081 :
10082 : /**
10083 : * gkd_exported_prompt_call_dismiss_finish:
10084 : * @proxy: A #GkdExportedPromptProxy.
10085 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_prompt_call_dismiss().
10086 : * @error: Return location for error or %NULL.
10087 : *
10088 : * Finishes an operation started with gkd_exported_prompt_call_dismiss().
10089 : *
10090 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
10091 : */
10092 : gboolean
10093 0 : gkd_exported_prompt_call_dismiss_finish (
10094 : GkdExportedPrompt *proxy,
10095 : GAsyncResult *res,
10096 : GError **error)
10097 : {
10098 : GVariant *_ret;
10099 0 : _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
10100 0 : if (_ret == NULL)
10101 0 : goto _out;
10102 0 : g_variant_get (_ret,
10103 : "()");
10104 0 : g_variant_unref (_ret);
10105 0 : _out:
10106 0 : return _ret != NULL;
10107 : }
10108 :
10109 : /**
10110 : * gkd_exported_prompt_call_dismiss_sync:
10111 : * @proxy: A #GkdExportedPromptProxy.
10112 : * @cancellable: (nullable): A #GCancellable or %NULL.
10113 : * @error: Return location for error or %NULL.
10114 : *
10115 : * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Dismiss">Dismiss()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
10116 : *
10117 : * See gkd_exported_prompt_call_dismiss() for the asynchronous version of this method.
10118 : *
10119 : * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
10120 : */
10121 : gboolean
10122 0 : gkd_exported_prompt_call_dismiss_sync (
10123 : GkdExportedPrompt *proxy,
10124 : GCancellable *cancellable,
10125 : GError **error)
10126 : {
10127 : GVariant *_ret;
10128 0 : _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
10129 : "Dismiss",
10130 : g_variant_new ("()"),
10131 : G_DBUS_CALL_FLAGS_NONE,
10132 : -1,
10133 : cancellable,
10134 : error);
10135 0 : if (_ret == NULL)
10136 0 : goto _out;
10137 0 : g_variant_get (_ret,
10138 : "()");
10139 0 : g_variant_unref (_ret);
10140 0 : _out:
10141 0 : return _ret != NULL;
10142 : }
10143 :
10144 : /**
10145 : * gkd_exported_prompt_complete_prompt:
10146 : * @object: A #GkdExportedPrompt.
10147 : * @invocation: (transfer full): A #GDBusMethodInvocation.
10148 : *
10149 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Prompt">Prompt()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
10150 : *
10151 : * This method will free @invocation, you cannot use it afterwards.
10152 : */
10153 : void
10154 2 : gkd_exported_prompt_complete_prompt (
10155 : GkdExportedPrompt *object G_GNUC_UNUSED,
10156 : GDBusMethodInvocation *invocation)
10157 : {
10158 2 : g_dbus_method_invocation_return_value (invocation,
10159 : g_variant_new ("()"));
10160 2 : }
10161 :
10162 : /**
10163 : * gkd_exported_prompt_complete_dismiss:
10164 : * @object: A #GkdExportedPrompt.
10165 : * @invocation: (transfer full): A #GDBusMethodInvocation.
10166 : *
10167 : * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-Secret-Prompt.Dismiss">Dismiss()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
10168 : *
10169 : * This method will free @invocation, you cannot use it afterwards.
10170 : */
10171 : void
10172 0 : gkd_exported_prompt_complete_dismiss (
10173 : GkdExportedPrompt *object G_GNUC_UNUSED,
10174 : GDBusMethodInvocation *invocation)
10175 : {
10176 0 : g_dbus_method_invocation_return_value (invocation,
10177 : g_variant_new ("()"));
10178 0 : }
10179 :
10180 : /* ------------------------------------------------------------------------ */
10181 :
10182 : /**
10183 : * GkdExportedPromptProxy:
10184 : *
10185 : * The #GkdExportedPromptProxy structure contains only private data and should only be accessed using the provided API.
10186 : */
10187 :
10188 : /**
10189 : * GkdExportedPromptProxyClass:
10190 : * @parent_class: The parent class.
10191 : *
10192 : * Class structure for #GkdExportedPromptProxy.
10193 : */
10194 :
10195 : struct _GkdExportedPromptProxyPrivate
10196 : {
10197 : GData *qdata;
10198 : };
10199 :
10200 : static void gkd_exported_prompt_proxy_iface_init (GkdExportedPromptIface *iface);
10201 :
10202 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
10203 0 : G_DEFINE_TYPE_WITH_CODE (GkdExportedPromptProxy, gkd_exported_prompt_proxy, G_TYPE_DBUS_PROXY,
10204 : G_ADD_PRIVATE (GkdExportedPromptProxy)
10205 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_PROMPT, gkd_exported_prompt_proxy_iface_init))
10206 :
10207 : #else
10208 : G_DEFINE_TYPE_WITH_CODE (GkdExportedPromptProxy, gkd_exported_prompt_proxy, G_TYPE_DBUS_PROXY,
10209 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_PROMPT, gkd_exported_prompt_proxy_iface_init))
10210 :
10211 : #endif
10212 : static void
10213 0 : gkd_exported_prompt_proxy_finalize (GObject *object)
10214 : {
10215 0 : GkdExportedPromptProxy *proxy = GKD_EXPORTED_PROMPT_PROXY (object);
10216 0 : g_datalist_clear (&proxy->priv->qdata);
10217 0 : G_OBJECT_CLASS (gkd_exported_prompt_proxy_parent_class)->finalize (object);
10218 0 : }
10219 :
10220 : static void
10221 0 : gkd_exported_prompt_proxy_get_property (GObject *object G_GNUC_UNUSED,
10222 : guint prop_id G_GNUC_UNUSED,
10223 : GValue *value G_GNUC_UNUSED,
10224 : GParamSpec *pspec G_GNUC_UNUSED)
10225 : {
10226 0 : }
10227 :
10228 : static void
10229 0 : gkd_exported_prompt_proxy_set_property (GObject *object G_GNUC_UNUSED,
10230 : guint prop_id G_GNUC_UNUSED,
10231 : const GValue *value G_GNUC_UNUSED,
10232 : GParamSpec *pspec G_GNUC_UNUSED)
10233 : {
10234 0 : }
10235 :
10236 : static void
10237 0 : gkd_exported_prompt_proxy_g_signal (GDBusProxy *proxy,
10238 : const gchar *sender_name G_GNUC_UNUSED,
10239 : const gchar *signal_name,
10240 : GVariant *parameters)
10241 : {
10242 : _ExtendedGDBusSignalInfo *info;
10243 : GVariantIter iter;
10244 : GVariant *child;
10245 : GValue *paramv;
10246 : gsize num_params;
10247 : gsize n;
10248 : guint signal_id;
10249 0 : info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gkd_exported_prompt_interface_info.parent_struct, signal_name);
10250 0 : if (info == NULL)
10251 0 : return;
10252 0 : num_params = g_variant_n_children (parameters);
10253 0 : paramv = g_new0 (GValue, num_params + 1);
10254 0 : g_value_init (¶mv[0], GKD_TYPE_EXPORTED_PROMPT);
10255 0 : g_value_set_object (¶mv[0], proxy);
10256 0 : g_variant_iter_init (&iter, parameters);
10257 0 : n = 1;
10258 0 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
10259 : {
10260 0 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
10261 0 : if (arg_info->use_gvariant)
10262 : {
10263 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
10264 0 : g_value_set_variant (¶mv[n], child);
10265 0 : n++;
10266 : }
10267 : else
10268 0 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
10269 0 : g_variant_unref (child);
10270 : }
10271 0 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_PROMPT);
10272 0 : g_signal_emitv (paramv, signal_id, 0, NULL);
10273 0 : for (n = 0; n < num_params + 1; n++)
10274 0 : g_value_unset (¶mv[n]);
10275 0 : g_free (paramv);
10276 : }
10277 :
10278 : static void
10279 0 : gkd_exported_prompt_proxy_g_properties_changed (GDBusProxy *_proxy,
10280 : GVariant *changed_properties,
10281 : const gchar *const *invalidated_properties)
10282 : {
10283 0 : GkdExportedPromptProxy *proxy = GKD_EXPORTED_PROMPT_PROXY (_proxy);
10284 : guint n;
10285 : const gchar *key;
10286 : GVariantIter *iter;
10287 : _ExtendedGDBusPropertyInfo *info;
10288 0 : g_variant_get (changed_properties, "a{sv}", &iter);
10289 0 : while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
10290 : {
10291 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_prompt_interface_info.parent_struct, key);
10292 0 : g_datalist_remove_data (&proxy->priv->qdata, key);
10293 0 : if (info != NULL)
10294 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
10295 : }
10296 0 : g_variant_iter_free (iter);
10297 0 : for (n = 0; invalidated_properties[n] != NULL; n++)
10298 : {
10299 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_prompt_interface_info.parent_struct, invalidated_properties[n]);
10300 0 : g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
10301 0 : if (info != NULL)
10302 0 : g_object_notify (G_OBJECT (proxy), info->hyphen_name);
10303 : }
10304 0 : }
10305 :
10306 : static void
10307 0 : gkd_exported_prompt_proxy_init (GkdExportedPromptProxy *proxy)
10308 : {
10309 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
10310 0 : proxy->priv = gkd_exported_prompt_proxy_get_instance_private (proxy);
10311 : #else
10312 : proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GKD_TYPE_EXPORTED_PROMPT_PROXY, GkdExportedPromptProxyPrivate);
10313 : #endif
10314 :
10315 0 : g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gkd_exported_prompt_interface_info ());
10316 0 : }
10317 :
10318 : static void
10319 0 : gkd_exported_prompt_proxy_class_init (GkdExportedPromptProxyClass *klass)
10320 : {
10321 : GObjectClass *gobject_class;
10322 : GDBusProxyClass *proxy_class;
10323 :
10324 0 : gobject_class = G_OBJECT_CLASS (klass);
10325 0 : gobject_class->finalize = gkd_exported_prompt_proxy_finalize;
10326 0 : gobject_class->get_property = gkd_exported_prompt_proxy_get_property;
10327 0 : gobject_class->set_property = gkd_exported_prompt_proxy_set_property;
10328 :
10329 0 : proxy_class = G_DBUS_PROXY_CLASS (klass);
10330 0 : proxy_class->g_signal = gkd_exported_prompt_proxy_g_signal;
10331 0 : proxy_class->g_properties_changed = gkd_exported_prompt_proxy_g_properties_changed;
10332 :
10333 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
10334 : g_type_class_add_private (klass, sizeof (GkdExportedPromptProxyPrivate));
10335 : #endif
10336 0 : }
10337 :
10338 : static void
10339 0 : gkd_exported_prompt_proxy_iface_init (GkdExportedPromptIface *iface G_GNUC_UNUSED)
10340 : {
10341 0 : }
10342 :
10343 : /**
10344 : * gkd_exported_prompt_proxy_new:
10345 : * @connection: A #GDBusConnection.
10346 : * @flags: Flags from the #GDBusProxyFlags enumeration.
10347 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
10348 : * @object_path: An object path.
10349 : * @cancellable: (nullable): A #GCancellable or %NULL.
10350 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
10351 : * @user_data: User data to pass to @callback.
10352 : *
10353 : * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link>. See g_dbus_proxy_new() for more details.
10354 : *
10355 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
10356 : * You can then call gkd_exported_prompt_proxy_new_finish() to get the result of the operation.
10357 : *
10358 : * See gkd_exported_prompt_proxy_new_sync() for the synchronous, blocking version of this constructor.
10359 : */
10360 : void
10361 0 : gkd_exported_prompt_proxy_new (
10362 : GDBusConnection *connection,
10363 : GDBusProxyFlags flags,
10364 : const gchar *name,
10365 : const gchar *object_path,
10366 : GCancellable *cancellable,
10367 : GAsyncReadyCallback callback,
10368 : gpointer user_data)
10369 : {
10370 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_PROMPT_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Prompt", NULL);
10371 0 : }
10372 :
10373 : /**
10374 : * gkd_exported_prompt_proxy_new_finish:
10375 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_prompt_proxy_new().
10376 : * @error: Return location for error or %NULL
10377 : *
10378 : * Finishes an operation started with gkd_exported_prompt_proxy_new().
10379 : *
10380 : * Returns: (transfer full) (type GkdExportedPromptProxy): The constructed proxy object or %NULL if @error is set.
10381 : */
10382 : GkdExportedPrompt *
10383 0 : gkd_exported_prompt_proxy_new_finish (
10384 : GAsyncResult *res,
10385 : GError **error)
10386 : {
10387 : GObject *ret;
10388 : GObject *source_object;
10389 0 : source_object = g_async_result_get_source_object (res);
10390 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
10391 0 : g_object_unref (source_object);
10392 0 : if (ret != NULL)
10393 0 : return GKD_EXPORTED_PROMPT (ret);
10394 : else
10395 0 : return NULL;
10396 : }
10397 :
10398 : /**
10399 : * gkd_exported_prompt_proxy_new_sync:
10400 : * @connection: A #GDBusConnection.
10401 : * @flags: Flags from the #GDBusProxyFlags enumeration.
10402 : * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
10403 : * @object_path: An object path.
10404 : * @cancellable: (nullable): A #GCancellable or %NULL.
10405 : * @error: Return location for error or %NULL
10406 : *
10407 : * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link>. See g_dbus_proxy_new_sync() for more details.
10408 : *
10409 : * The calling thread is blocked until a reply is received.
10410 : *
10411 : * See gkd_exported_prompt_proxy_new() for the asynchronous version of this constructor.
10412 : *
10413 : * Returns: (transfer full) (type GkdExportedPromptProxy): The constructed proxy object or %NULL if @error is set.
10414 : */
10415 : GkdExportedPrompt *
10416 0 : gkd_exported_prompt_proxy_new_sync (
10417 : GDBusConnection *connection,
10418 : GDBusProxyFlags flags,
10419 : const gchar *name,
10420 : const gchar *object_path,
10421 : GCancellable *cancellable,
10422 : GError **error)
10423 : {
10424 : GInitable *ret;
10425 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_PROMPT_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Prompt", NULL);
10426 0 : if (ret != NULL)
10427 0 : return GKD_EXPORTED_PROMPT (ret);
10428 : else
10429 0 : return NULL;
10430 : }
10431 :
10432 :
10433 : /**
10434 : * gkd_exported_prompt_proxy_new_for_bus:
10435 : * @bus_type: A #GBusType.
10436 : * @flags: Flags from the #GDBusProxyFlags enumeration.
10437 : * @name: A bus name (well-known or unique).
10438 : * @object_path: An object path.
10439 : * @cancellable: (nullable): A #GCancellable or %NULL.
10440 : * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
10441 : * @user_data: User data to pass to @callback.
10442 : *
10443 : * Like gkd_exported_prompt_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
10444 : *
10445 : * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
10446 : * You can then call gkd_exported_prompt_proxy_new_for_bus_finish() to get the result of the operation.
10447 : *
10448 : * See gkd_exported_prompt_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
10449 : */
10450 : void
10451 0 : gkd_exported_prompt_proxy_new_for_bus (
10452 : GBusType bus_type,
10453 : GDBusProxyFlags flags,
10454 : const gchar *name,
10455 : const gchar *object_path,
10456 : GCancellable *cancellable,
10457 : GAsyncReadyCallback callback,
10458 : gpointer user_data)
10459 : {
10460 0 : g_async_initable_new_async (GKD_TYPE_EXPORTED_PROMPT_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Prompt", NULL);
10461 0 : }
10462 :
10463 : /**
10464 : * gkd_exported_prompt_proxy_new_for_bus_finish:
10465 : * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gkd_exported_prompt_proxy_new_for_bus().
10466 : * @error: Return location for error or %NULL
10467 : *
10468 : * Finishes an operation started with gkd_exported_prompt_proxy_new_for_bus().
10469 : *
10470 : * Returns: (transfer full) (type GkdExportedPromptProxy): The constructed proxy object or %NULL if @error is set.
10471 : */
10472 : GkdExportedPrompt *
10473 0 : gkd_exported_prompt_proxy_new_for_bus_finish (
10474 : GAsyncResult *res,
10475 : GError **error)
10476 : {
10477 : GObject *ret;
10478 : GObject *source_object;
10479 0 : source_object = g_async_result_get_source_object (res);
10480 0 : ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
10481 0 : g_object_unref (source_object);
10482 0 : if (ret != NULL)
10483 0 : return GKD_EXPORTED_PROMPT (ret);
10484 : else
10485 0 : return NULL;
10486 : }
10487 :
10488 : /**
10489 : * gkd_exported_prompt_proxy_new_for_bus_sync:
10490 : * @bus_type: A #GBusType.
10491 : * @flags: Flags from the #GDBusProxyFlags enumeration.
10492 : * @name: A bus name (well-known or unique).
10493 : * @object_path: An object path.
10494 : * @cancellable: (nullable): A #GCancellable or %NULL.
10495 : * @error: Return location for error or %NULL
10496 : *
10497 : * Like gkd_exported_prompt_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
10498 : *
10499 : * The calling thread is blocked until a reply is received.
10500 : *
10501 : * See gkd_exported_prompt_proxy_new_for_bus() for the asynchronous version of this constructor.
10502 : *
10503 : * Returns: (transfer full) (type GkdExportedPromptProxy): The constructed proxy object or %NULL if @error is set.
10504 : */
10505 : GkdExportedPrompt *
10506 0 : gkd_exported_prompt_proxy_new_for_bus_sync (
10507 : GBusType bus_type,
10508 : GDBusProxyFlags flags,
10509 : const gchar *name,
10510 : const gchar *object_path,
10511 : GCancellable *cancellable,
10512 : GError **error)
10513 : {
10514 : GInitable *ret;
10515 0 : ret = g_initable_new (GKD_TYPE_EXPORTED_PROMPT_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Secret.Prompt", NULL);
10516 0 : if (ret != NULL)
10517 0 : return GKD_EXPORTED_PROMPT (ret);
10518 : else
10519 0 : return NULL;
10520 : }
10521 :
10522 :
10523 : /* ------------------------------------------------------------------------ */
10524 :
10525 : /**
10526 : * GkdExportedPromptSkeleton:
10527 : *
10528 : * The #GkdExportedPromptSkeleton structure contains only private data and should only be accessed using the provided API.
10529 : */
10530 :
10531 : /**
10532 : * GkdExportedPromptSkeletonClass:
10533 : * @parent_class: The parent class.
10534 : *
10535 : * Class structure for #GkdExportedPromptSkeleton.
10536 : */
10537 :
10538 : struct _GkdExportedPromptSkeletonPrivate
10539 : {
10540 : GValue *properties;
10541 : GList *changed_properties;
10542 : GSource *changed_properties_idle_source;
10543 : GMainContext *context;
10544 : GMutex lock;
10545 : };
10546 :
10547 : static void
10548 2 : _gkd_exported_prompt_skeleton_handle_method_call (
10549 : GDBusConnection *connection G_GNUC_UNUSED,
10550 : const gchar *sender G_GNUC_UNUSED,
10551 : const gchar *object_path G_GNUC_UNUSED,
10552 : const gchar *interface_name,
10553 : const gchar *method_name,
10554 : GVariant *parameters,
10555 : GDBusMethodInvocation *invocation,
10556 : gpointer user_data)
10557 : {
10558 2 : GkdExportedPromptSkeleton *skeleton = GKD_EXPORTED_PROMPT_SKELETON (user_data);
10559 : _ExtendedGDBusMethodInfo *info;
10560 : GVariantIter iter;
10561 : GVariant *child;
10562 : GValue *paramv;
10563 : gsize num_params;
10564 : guint num_extra;
10565 : gsize n;
10566 : guint signal_id;
10567 2 : GValue return_value = G_VALUE_INIT;
10568 2 : info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
10569 2 : g_assert (info != NULL);
10570 2 : num_params = g_variant_n_children (parameters);
10571 2 : num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
10572 2 : n = 0;
10573 2 : g_value_init (¶mv[n], GKD_TYPE_EXPORTED_PROMPT);
10574 2 : g_value_set_object (¶mv[n++], skeleton);
10575 2 : g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
10576 2 : g_value_set_object (¶mv[n++], invocation);
10577 2 : if (info->pass_fdlist)
10578 : {
10579 : #ifdef G_OS_UNIX
10580 0 : g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
10581 0 : g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
10582 : #else
10583 : g_assert_not_reached ();
10584 : #endif
10585 : }
10586 2 : g_variant_iter_init (&iter, parameters);
10587 4 : while ((child = g_variant_iter_next_value (&iter)) != NULL)
10588 : {
10589 2 : _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
10590 2 : if (arg_info->use_gvariant)
10591 : {
10592 0 : g_value_init (¶mv[n], G_TYPE_VARIANT);
10593 0 : g_value_set_variant (¶mv[n], child);
10594 0 : n++;
10595 : }
10596 : else
10597 2 : g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
10598 2 : g_variant_unref (child);
10599 : }
10600 2 : signal_id = g_signal_lookup (info->signal_name, GKD_TYPE_EXPORTED_PROMPT);
10601 2 : g_value_init (&return_value, G_TYPE_BOOLEAN);
10602 2 : g_signal_emitv (paramv, signal_id, 0, &return_value);
10603 2 : if (!g_value_get_boolean (&return_value))
10604 0 : g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
10605 2 : g_value_unset (&return_value);
10606 8 : for (n = 0; n < num_params + num_extra; n++)
10607 6 : g_value_unset (¶mv[n]);
10608 2 : g_free (paramv);
10609 2 : }
10610 :
10611 : static GVariant *
10612 0 : _gkd_exported_prompt_skeleton_handle_get_property (
10613 : GDBusConnection *connection G_GNUC_UNUSED,
10614 : const gchar *sender G_GNUC_UNUSED,
10615 : const gchar *object_path G_GNUC_UNUSED,
10616 : const gchar *interface_name G_GNUC_UNUSED,
10617 : const gchar *property_name,
10618 : GError **error,
10619 : gpointer user_data)
10620 : {
10621 0 : GkdExportedPromptSkeleton *skeleton = GKD_EXPORTED_PROMPT_SKELETON (user_data);
10622 0 : GValue value = G_VALUE_INIT;
10623 : GParamSpec *pspec;
10624 : _ExtendedGDBusPropertyInfo *info;
10625 : GVariant *ret;
10626 0 : ret = NULL;
10627 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_prompt_interface_info.parent_struct, property_name);
10628 0 : g_assert (info != NULL);
10629 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
10630 0 : if (pspec == NULL)
10631 : {
10632 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
10633 : }
10634 : else
10635 : {
10636 0 : g_value_init (&value, pspec->value_type);
10637 0 : g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
10638 0 : ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
10639 0 : g_value_unset (&value);
10640 : }
10641 0 : return ret;
10642 : }
10643 :
10644 : static gboolean
10645 0 : _gkd_exported_prompt_skeleton_handle_set_property (
10646 : GDBusConnection *connection G_GNUC_UNUSED,
10647 : const gchar *sender G_GNUC_UNUSED,
10648 : const gchar *object_path G_GNUC_UNUSED,
10649 : const gchar *interface_name G_GNUC_UNUSED,
10650 : const gchar *property_name,
10651 : GVariant *variant,
10652 : GError **error,
10653 : gpointer user_data)
10654 : {
10655 0 : GkdExportedPromptSkeleton *skeleton = GKD_EXPORTED_PROMPT_SKELETON (user_data);
10656 0 : GValue value = G_VALUE_INIT;
10657 : GParamSpec *pspec;
10658 : _ExtendedGDBusPropertyInfo *info;
10659 : gboolean ret;
10660 0 : ret = FALSE;
10661 0 : info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gkd_exported_prompt_interface_info.parent_struct, property_name);
10662 0 : g_assert (info != NULL);
10663 0 : pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
10664 0 : if (pspec == NULL)
10665 : {
10666 0 : g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
10667 : }
10668 : else
10669 : {
10670 0 : if (info->use_gvariant)
10671 0 : g_value_set_variant (&value, variant);
10672 : else
10673 0 : g_dbus_gvariant_to_gvalue (variant, &value);
10674 0 : g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
10675 0 : g_value_unset (&value);
10676 0 : ret = TRUE;
10677 : }
10678 0 : return ret;
10679 : }
10680 :
10681 : static const GDBusInterfaceVTable _gkd_exported_prompt_skeleton_vtable =
10682 : {
10683 : _gkd_exported_prompt_skeleton_handle_method_call,
10684 : _gkd_exported_prompt_skeleton_handle_get_property,
10685 : _gkd_exported_prompt_skeleton_handle_set_property,
10686 : {NULL}
10687 : };
10688 :
10689 : static GDBusInterfaceInfo *
10690 2 : gkd_exported_prompt_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
10691 : {
10692 2 : return gkd_exported_prompt_interface_info ();
10693 : }
10694 :
10695 : static GDBusInterfaceVTable *
10696 4 : gkd_exported_prompt_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
10697 : {
10698 4 : return (GDBusInterfaceVTable *) &_gkd_exported_prompt_skeleton_vtable;
10699 : }
10700 :
10701 : static GVariant *
10702 0 : gkd_exported_prompt_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
10703 : {
10704 0 : GkdExportedPromptSkeleton *skeleton = GKD_EXPORTED_PROMPT_SKELETON (_skeleton);
10705 :
10706 : GVariantBuilder builder;
10707 : guint n;
10708 0 : g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
10709 0 : if (_gkd_exported_prompt_interface_info.parent_struct.properties == NULL)
10710 0 : goto out;
10711 0 : for (n = 0; _gkd_exported_prompt_interface_info.parent_struct.properties[n] != NULL; n++)
10712 : {
10713 0 : GDBusPropertyInfo *info = _gkd_exported_prompt_interface_info.parent_struct.properties[n];
10714 0 : if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
10715 : {
10716 : GVariant *value;
10717 0 : value = _gkd_exported_prompt_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Prompt", info->name, NULL, skeleton);
10718 0 : if (value != NULL)
10719 : {
10720 0 : g_variant_take_ref (value);
10721 0 : g_variant_builder_add (&builder, "{sv}", info->name, value);
10722 0 : g_variant_unref (value);
10723 : }
10724 : }
10725 : }
10726 0 : out:
10727 0 : return g_variant_builder_end (&builder);
10728 : }
10729 :
10730 : static void
10731 0 : gkd_exported_prompt_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton G_GNUC_UNUSED)
10732 : {
10733 0 : }
10734 :
10735 : static void
10736 0 : _gkd_exported_prompt_on_signal_completed (
10737 : GkdExportedPrompt *object,
10738 : gboolean arg_dismissed,
10739 : GVariant *arg_result)
10740 : {
10741 0 : GkdExportedPromptSkeleton *skeleton = GKD_EXPORTED_PROMPT_SKELETON (object);
10742 :
10743 : GList *connections, *l;
10744 : GVariant *signal_variant;
10745 0 : connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
10746 :
10747 0 : signal_variant = g_variant_ref_sink (g_variant_new ("(b@v)",
10748 : arg_dismissed,
10749 : arg_result));
10750 0 : for (l = connections; l != NULL; l = l->next)
10751 : {
10752 0 : GDBusConnection *connection = l->data;
10753 0 : g_dbus_connection_emit_signal (connection,
10754 0 : NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Secret.Prompt", "Completed",
10755 : signal_variant, NULL);
10756 : }
10757 0 : g_variant_unref (signal_variant);
10758 0 : g_list_free_full (connections, g_object_unref);
10759 0 : }
10760 :
10761 : static void gkd_exported_prompt_skeleton_iface_init (GkdExportedPromptIface *iface);
10762 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
10763 11 : G_DEFINE_TYPE_WITH_CODE (GkdExportedPromptSkeleton, gkd_exported_prompt_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
10764 : G_ADD_PRIVATE (GkdExportedPromptSkeleton)
10765 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_PROMPT, gkd_exported_prompt_skeleton_iface_init))
10766 :
10767 : #else
10768 : G_DEFINE_TYPE_WITH_CODE (GkdExportedPromptSkeleton, gkd_exported_prompt_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
10769 : G_IMPLEMENT_INTERFACE (GKD_TYPE_EXPORTED_PROMPT, gkd_exported_prompt_skeleton_iface_init))
10770 :
10771 : #endif
10772 : static void
10773 1 : gkd_exported_prompt_skeleton_finalize (GObject *object)
10774 : {
10775 1 : GkdExportedPromptSkeleton *skeleton = GKD_EXPORTED_PROMPT_SKELETON (object);
10776 1 : g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
10777 1 : if (skeleton->priv->changed_properties_idle_source != NULL)
10778 0 : g_source_destroy (skeleton->priv->changed_properties_idle_source);
10779 1 : g_main_context_unref (skeleton->priv->context);
10780 1 : g_mutex_clear (&skeleton->priv->lock);
10781 1 : G_OBJECT_CLASS (gkd_exported_prompt_skeleton_parent_class)->finalize (object);
10782 1 : }
10783 :
10784 : static void
10785 2 : gkd_exported_prompt_skeleton_init (GkdExportedPromptSkeleton *skeleton)
10786 : {
10787 : #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
10788 2 : skeleton->priv = gkd_exported_prompt_skeleton_get_instance_private (skeleton);
10789 : #else
10790 : skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GKD_TYPE_EXPORTED_PROMPT_SKELETON, GkdExportedPromptSkeletonPrivate);
10791 : #endif
10792 :
10793 2 : g_mutex_init (&skeleton->priv->lock);
10794 2 : skeleton->priv->context = g_main_context_ref_thread_default ();
10795 2 : }
10796 :
10797 : static void
10798 2 : gkd_exported_prompt_skeleton_class_init (GkdExportedPromptSkeletonClass *klass)
10799 : {
10800 : GObjectClass *gobject_class;
10801 : GDBusInterfaceSkeletonClass *skeleton_class;
10802 :
10803 2 : gobject_class = G_OBJECT_CLASS (klass);
10804 2 : gobject_class->finalize = gkd_exported_prompt_skeleton_finalize;
10805 :
10806 2 : skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
10807 2 : skeleton_class->get_info = gkd_exported_prompt_skeleton_dbus_interface_get_info;
10808 2 : skeleton_class->get_properties = gkd_exported_prompt_skeleton_dbus_interface_get_properties;
10809 2 : skeleton_class->flush = gkd_exported_prompt_skeleton_dbus_interface_flush;
10810 2 : skeleton_class->get_vtable = gkd_exported_prompt_skeleton_dbus_interface_get_vtable;
10811 :
10812 : #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
10813 : g_type_class_add_private (klass, sizeof (GkdExportedPromptSkeletonPrivate));
10814 : #endif
10815 2 : }
10816 :
10817 : static void
10818 2 : gkd_exported_prompt_skeleton_iface_init (GkdExportedPromptIface *iface)
10819 : {
10820 2 : iface->completed = _gkd_exported_prompt_on_signal_completed;
10821 2 : }
10822 :
10823 : /**
10824 : * gkd_exported_prompt_skeleton_new:
10825 : *
10826 : * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-Secret-Prompt.top_of_page">org.freedesktop.Secret.Prompt</link>.
10827 : *
10828 : * Returns: (transfer full) (type GkdExportedPromptSkeleton): The skeleton object.
10829 : */
10830 : GkdExportedPrompt *
10831 2 : gkd_exported_prompt_skeleton_new (void)
10832 : {
10833 2 : return GKD_EXPORTED_PROMPT (g_object_new (GKD_TYPE_EXPORTED_PROMPT_SKELETON, NULL));
10834 : }
10835 :
|