LCOV - code coverage report
Current view: top level - daemon/dbus - gkd-secrets-generated.c (source / functions) Coverage Total Hit
Test: coverage.info Lines: 33.8 % 2612 884
Test Date: 2024-04-08 13:24:42 Functions: 35.5 % 392 139

            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 (&paramv[0], GKD_TYPE_EXPORTED_SERVICE);
    3407            0 :   g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    3416            0 :           g_value_set_variant (&paramv[n], child);
    3417            0 :           n++;
    3418              :         }
    3419              :       else
    3420            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[n], GKD_TYPE_EXPORTED_SERVICE);
    3748           24 :   g_value_set_object (&paramv[n++], skeleton);
    3749           24 :   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
    3750           24 :   g_value_set_object (&paramv[n++], invocation);
    3751           24 :   if (info->pass_fdlist)
    3752              :     {
    3753              : #ifdef G_OS_UNIX
    3754            0 :       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
    3755            0 :       g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    3767            0 :           g_value_set_variant (&paramv[n], child);
    3768            0 :           n++;
    3769              :         }
    3770              :       else
    3771           40 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[0], GKD_TYPE_EXPORTED_COLLECTION);
    5708            0 :   g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    5717            0 :           g_value_set_variant (&paramv[n], child);
    5718            0 :           n++;
    5719              :         }
    5720              :       else
    5721            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[n], GKD_TYPE_EXPORTED_COLLECTION);
    6113            4 :   g_value_set_object (&paramv[n++], skeleton);
    6114            4 :   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
    6115            4 :   g_value_set_object (&paramv[n++], invocation);
    6116            4 :   if (info->pass_fdlist)
    6117              :     {
    6118              : #ifdef G_OS_UNIX
    6119            0 :       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
    6120            0 :       g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    6132            0 :           g_value_set_variant (&paramv[n], child);
    6133            0 :           n++;
    6134              :         }
    6135              :       else
    6136            7 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[0], GKD_TYPE_EXPORTED_ITEM);
    7870            0 :   g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    7879            0 :           g_value_set_variant (&paramv[n], child);
    7880            0 :           n++;
    7881              :         }
    7882              :       else
    7883            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[n], GKD_TYPE_EXPORTED_ITEM);
    8285            1 :   g_value_set_object (&paramv[n++], skeleton);
    8286            1 :   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
    8287            1 :   g_value_set_object (&paramv[n++], invocation);
    8288            1 :   if (info->pass_fdlist)
    8289              :     {
    8290              : #ifdef G_OS_UNIX
    8291            0 :       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
    8292            0 :       g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    8304            0 :           g_value_set_variant (&paramv[n], child);
    8305            0 :           n++;
    8306              :         }
    8307              :       else
    8308            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[0], GKD_TYPE_EXPORTED_SESSION);
    9089            0 :   g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    9098            0 :           g_value_set_variant (&paramv[n], child);
    9099            0 :           n++;
    9100              :         }
    9101              :       else
    9102            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[n], GKD_TYPE_EXPORTED_SESSION);
    9408            0 :   g_value_set_object (&paramv[n++], skeleton);
    9409            0 :   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
    9410            0 :   g_value_set_object (&paramv[n++], invocation);
    9411            0 :   if (info->pass_fdlist)
    9412              :     {
    9413              : #ifdef G_OS_UNIX
    9414            0 :       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
    9415            0 :       g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
    9427            0 :           g_value_set_variant (&paramv[n], child);
    9428            0 :           n++;
    9429              :         }
    9430              :       else
    9431            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[0], GKD_TYPE_EXPORTED_PROMPT);
   10255            0 :   g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
   10264            0 :           g_value_set_variant (&paramv[n], child);
   10265            0 :           n++;
   10266              :         }
   10267              :       else
   10268            0 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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 (&paramv[n], GKD_TYPE_EXPORTED_PROMPT);
   10574            2 :   g_value_set_object (&paramv[n++], skeleton);
   10575            2 :   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
   10576            2 :   g_value_set_object (&paramv[n++], invocation);
   10577            2 :   if (info->pass_fdlist)
   10578              :     {
   10579              : #ifdef G_OS_UNIX
   10580            0 :       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
   10581            0 :       g_value_set_object (&paramv[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 (&paramv[n], G_TYPE_VARIANT);
   10593            0 :           g_value_set_variant (&paramv[n], child);
   10594            0 :           n++;
   10595              :         }
   10596              :       else
   10597            2 :         g_dbus_gvariant_to_gvalue (child, &paramv[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 (&paramv[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              : 
        

Generated by: LCOV version 2.0-1