nautilus-3.6.3/src/nautilus-shell-search-provider-generated.c

No issues found

   1 /*
   2  * Generated by gdbus-codegen 2.34.2. DO NOT EDIT.
   3  *
   4  * The license of this code is the same as for the source it was derived from.
   5  */
   6 
   7 #ifdef HAVE_CONFIG_H
   8 #  include "config.h"
   9 #endif
  10 
  11 #include "nautilus-shell-search-provider-generated.h"
  12 
  13 #include <string.h>
  14 #ifdef G_OS_UNIX
  15 #  include <gio/gunixfdlist.h>
  16 #endif
  17 
  18 typedef struct
  19 {
  20   GDBusArgInfo parent_struct;
  21   gboolean use_gvariant;
  22 } _ExtendedGDBusArgInfo;
  23 
  24 typedef struct
  25 {
  26   GDBusMethodInfo parent_struct;
  27   const gchar *signal_name;
  28   gboolean pass_fdlist;
  29 } _ExtendedGDBusMethodInfo;
  30 
  31 typedef struct
  32 {
  33   GDBusSignalInfo parent_struct;
  34   const gchar *signal_name;
  35 } _ExtendedGDBusSignalInfo;
  36 
  37 typedef struct
  38 {
  39   GDBusPropertyInfo parent_struct;
  40   const gchar *hyphen_name;
  41   gboolean use_gvariant;
  42 } _ExtendedGDBusPropertyInfo;
  43 
  44 typedef struct
  45 {
  46   GDBusInterfaceInfo parent_struct;
  47   const gchar *hyphen_name;
  48 } _ExtendedGDBusInterfaceInfo;
  49 
  50 typedef struct
  51 {
  52   const _ExtendedGDBusPropertyInfo *info;
  53   guint prop_id;
  54   GValue orig_value; /* the value before the change */
  55 } ChangedProperty;
  56 
  57 static void
  58 _changed_property_free (ChangedProperty *data)
  59 {
  60   g_value_unset (&data->orig_value);
  61   g_free (data);
  62 }
  63 
  64 static gboolean
  65 _g_strv_equal0 (gchar **a, gchar **b)
  66 {
  67   gboolean ret = FALSE;
  68   guint n;
  69   if (a == NULL && b == NULL)
  70     {
  71       ret = TRUE;
  72       goto out;
  73     }
  74   if (a == NULL || b == NULL)
  75     goto out;
  76   if (g_strv_length (a) != g_strv_length (b))
  77     goto out;
  78   for (n = 0; a[n] != NULL; n++)
  79     if (g_strcmp0 (a[n], b[n]) != 0)
  80       goto out;
  81   ret = TRUE;
  82 out:
  83   return ret;
  84 }
  85 
  86 static gboolean
  87 _g_variant_equal0 (GVariant *a, GVariant *b)
  88 {
  89   gboolean ret = FALSE;
  90   if (a == NULL && b == NULL)
  91     {
  92       ret = TRUE;
  93       goto out;
  94     }
  95   if (a == NULL || b == NULL)
  96     goto out;
  97   ret = g_variant_equal (a, b);
  98 out:
  99   return ret;
 100 }
 101 
 102 G_GNUC_UNUSED static gboolean
 103 _g_value_equal (const GValue *a, const GValue *b)
 104 {
 105   gboolean ret = FALSE;
 106   g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
 107   switch (G_VALUE_TYPE (a))
 108     {
 109       case G_TYPE_BOOLEAN:
 110         ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
 111         break;
 112       case G_TYPE_UCHAR:
 113         ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
 114         break;
 115       case G_TYPE_INT:
 116         ret = (g_value_get_int (a) == g_value_get_int (b));
 117         break;
 118       case G_TYPE_UINT:
 119         ret = (g_value_get_uint (a) == g_value_get_uint (b));
 120         break;
 121       case G_TYPE_INT64:
 122         ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
 123         break;
 124       case G_TYPE_UINT64:
 125         ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
 126         break;
 127       case G_TYPE_DOUBLE:
 128         {
 129           /* Avoid -Wfloat-equal warnings by doing a direct bit compare */
 130           gdouble da = g_value_get_double (a);
 131           gdouble db = g_value_get_double (b);
 132           ret = memcmp (&da, &db, sizeof (gdouble)) == 0;
 133         }
 134         break;
 135       case G_TYPE_STRING:
 136         ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
 137         break;
 138       case G_TYPE_VARIANT:
 139         ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
 140         break;
 141       default:
 142         if (G_VALUE_TYPE (a) == G_TYPE_STRV)
 143           ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
 144         else
 145           g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
 146         break;
 147     }
 148   return ret;
 149 }
 150 
 151 /* ------------------------------------------------------------------------
 152  * Code for interface org.gnome.Shell.SearchProvider
 153  * ------------------------------------------------------------------------
 154  */
 155 
 156 /**
 157  * SECTION:NautilusShellSearchProvider
 158  * @title: NautilusShellSearchProvider
 159  * @short_description: Generated C code for the org.gnome.Shell.SearchProvider D-Bus interface
 160  *
 161  * This section contains code for working with the <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link> D-Bus interface in C.
 162  */
 163 
 164 /* ---- Introspection data for org.gnome.Shell.SearchProvider ---- */
 165 
 166 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_initial_result_set_IN_ARG_Terms =
 167 {
 168   {
 169     -1,
 170     (gchar *) "Terms",
 171     (gchar *) "as",
 172     NULL
 173   },
 174   FALSE
 175 };
 176 
 177 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_get_initial_result_set_IN_ARG_pointers[] =
 178 {
 179   &_nautilus_shell_search_provider_method_info_get_initial_result_set_IN_ARG_Terms,
 180   NULL
 181 };
 182 
 183 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_initial_result_set_OUT_ARG_Results =
 184 {
 185   {
 186     -1,
 187     (gchar *) "Results",
 188     (gchar *) "as",
 189     NULL
 190   },
 191   FALSE
 192 };
 193 
 194 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_get_initial_result_set_OUT_ARG_pointers[] =
 195 {
 196   &_nautilus_shell_search_provider_method_info_get_initial_result_set_OUT_ARG_Results,
 197   NULL
 198 };
 199 
 200 static const _ExtendedGDBusMethodInfo _nautilus_shell_search_provider_method_info_get_initial_result_set =
 201 {
 202   {
 203     -1,
 204     (gchar *) "GetInitialResultSet",
 205     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_get_initial_result_set_IN_ARG_pointers,
 206     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_get_initial_result_set_OUT_ARG_pointers,
 207     NULL
 208   },
 209   "handle-get-initial-result-set",
 210   FALSE
 211 };
 212 
 213 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_subsearch_result_set_IN_ARG_PreviousResults =
 214 {
 215   {
 216     -1,
 217     (gchar *) "PreviousResults",
 218     (gchar *) "as",
 219     NULL
 220   },
 221   FALSE
 222 };
 223 
 224 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_subsearch_result_set_IN_ARG_Terms =
 225 {
 226   {
 227     -1,
 228     (gchar *) "Terms",
 229     (gchar *) "as",
 230     NULL
 231   },
 232   FALSE
 233 };
 234 
 235 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_get_subsearch_result_set_IN_ARG_pointers[] =
 236 {
 237   &_nautilus_shell_search_provider_method_info_get_subsearch_result_set_IN_ARG_PreviousResults,
 238   &_nautilus_shell_search_provider_method_info_get_subsearch_result_set_IN_ARG_Terms,
 239   NULL
 240 };
 241 
 242 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_subsearch_result_set_OUT_ARG_Results =
 243 {
 244   {
 245     -1,
 246     (gchar *) "Results",
 247     (gchar *) "as",
 248     NULL
 249   },
 250   FALSE
 251 };
 252 
 253 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_get_subsearch_result_set_OUT_ARG_pointers[] =
 254 {
 255   &_nautilus_shell_search_provider_method_info_get_subsearch_result_set_OUT_ARG_Results,
 256   NULL
 257 };
 258 
 259 static const _ExtendedGDBusMethodInfo _nautilus_shell_search_provider_method_info_get_subsearch_result_set =
 260 {
 261   {
 262     -1,
 263     (gchar *) "GetSubsearchResultSet",
 264     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_get_subsearch_result_set_IN_ARG_pointers,
 265     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_get_subsearch_result_set_OUT_ARG_pointers,
 266     NULL
 267   },
 268   "handle-get-subsearch-result-set",
 269   FALSE
 270 };
 271 
 272 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_result_metas_IN_ARG_Results =
 273 {
 274   {
 275     -1,
 276     (gchar *) "Results",
 277     (gchar *) "as",
 278     NULL
 279   },
 280   FALSE
 281 };
 282 
 283 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_get_result_metas_IN_ARG_pointers[] =
 284 {
 285   &_nautilus_shell_search_provider_method_info_get_result_metas_IN_ARG_Results,
 286   NULL
 287 };
 288 
 289 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_get_result_metas_OUT_ARG_Metas =
 290 {
 291   {
 292     -1,
 293     (gchar *) "Metas",
 294     (gchar *) "aa{sv}",
 295     NULL
 296   },
 297   FALSE
 298 };
 299 
 300 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_get_result_metas_OUT_ARG_pointers[] =
 301 {
 302   &_nautilus_shell_search_provider_method_info_get_result_metas_OUT_ARG_Metas,
 303   NULL
 304 };
 305 
 306 static const _ExtendedGDBusMethodInfo _nautilus_shell_search_provider_method_info_get_result_metas =
 307 {
 308   {
 309     -1,
 310     (gchar *) "GetResultMetas",
 311     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_get_result_metas_IN_ARG_pointers,
 312     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_get_result_metas_OUT_ARG_pointers,
 313     NULL
 314   },
 315   "handle-get-result-metas",
 316   FALSE
 317 };
 318 
 319 static const _ExtendedGDBusArgInfo _nautilus_shell_search_provider_method_info_activate_result_IN_ARG_Result =
 320 {
 321   {
 322     -1,
 323     (gchar *) "Result",
 324     (gchar *) "s",
 325     NULL
 326   },
 327   FALSE
 328 };
 329 
 330 static const _ExtendedGDBusArgInfo * const _nautilus_shell_search_provider_method_info_activate_result_IN_ARG_pointers[] =
 331 {
 332   &_nautilus_shell_search_provider_method_info_activate_result_IN_ARG_Result,
 333   NULL
 334 };
 335 
 336 static const _ExtendedGDBusMethodInfo _nautilus_shell_search_provider_method_info_activate_result =
 337 {
 338   {
 339     -1,
 340     (gchar *) "ActivateResult",
 341     (GDBusArgInfo **) &_nautilus_shell_search_provider_method_info_activate_result_IN_ARG_pointers,
 342     NULL,
 343     NULL
 344   },
 345   "handle-activate-result",
 346   FALSE
 347 };
 348 
 349 static const _ExtendedGDBusMethodInfo * const _nautilus_shell_search_provider_method_info_pointers[] =
 350 {
 351   &_nautilus_shell_search_provider_method_info_get_initial_result_set,
 352   &_nautilus_shell_search_provider_method_info_get_subsearch_result_set,
 353   &_nautilus_shell_search_provider_method_info_get_result_metas,
 354   &_nautilus_shell_search_provider_method_info_activate_result,
 355   NULL
 356 };
 357 
 358 static const _ExtendedGDBusInterfaceInfo _nautilus_shell_search_provider_interface_info =
 359 {
 360   {
 361     -1,
 362     (gchar *) "org.gnome.Shell.SearchProvider",
 363     (GDBusMethodInfo **) &_nautilus_shell_search_provider_method_info_pointers,
 364     NULL,
 365     NULL,
 366     NULL
 367   },
 368   "shell-search-provider",
 369 };
 370 
 371 
 372 /**
 373  * nautilus_shell_search_provider_interface_info:
 374  *
 375  * Gets a machine-readable description of the <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link> D-Bus interface.
 376  *
 377  * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
 378  */
 379 GDBusInterfaceInfo *
 380 nautilus_shell_search_provider_interface_info (void)
 381 {
 382   return (GDBusInterfaceInfo *) &_nautilus_shell_search_provider_interface_info.parent_struct;
 383 }
 384 
 385 /**
 386  * nautilus_shell_search_provider_override_properties:
 387  * @klass: The class structure for a #GObject<!-- -->-derived class.
 388  * @property_id_begin: The property id to assign to the first overridden property.
 389  *
 390  * Overrides all #GObject properties in the #NautilusShellSearchProvider interface for a concrete class.
 391  * The properties are overridden in the order they are defined.
 392  *
 393  * Returns: The last property id.
 394  */
 395 guint
 396 nautilus_shell_search_provider_override_properties (GObjectClass *klass, guint property_id_begin)
 397 {
 398   return property_id_begin - 1;
 399 }
 400 
 401 
 402 
 403 /**
 404  * NautilusShellSearchProvider:
 405  *
 406  * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link>.
 407  */
 408 
 409 /**
 410  * NautilusShellSearchProviderIface:
 411  * @parent_iface: The parent interface.
 412  * @handle_activate_result: Handler for the #NautilusShellSearchProvider::handle-activate-result signal.
 413  * @handle_get_initial_result_set: Handler for the #NautilusShellSearchProvider::handle-get-initial-result-set signal.
 414  * @handle_get_result_metas: Handler for the #NautilusShellSearchProvider::handle-get-result-metas signal.
 415  * @handle_get_subsearch_result_set: Handler for the #NautilusShellSearchProvider::handle-get-subsearch-result-set signal.
 416  *
 417  * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link>.
 418  */
 419 
 420 static void
 421 nautilus_shell_search_provider_default_init (NautilusShellSearchProviderIface *iface)
 422 {
 423   /* GObject signals for incoming D-Bus method calls: */
 424   /**
 425    * NautilusShellSearchProvider::handle-get-initial-result-set:
 426    * @object: A #NautilusShellSearchProvider.
 427    * @invocation: A #GDBusMethodInvocation.
 428    * @arg_Terms: Argument passed by remote caller.
 429    *
 430    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetInitialResultSet">GetInitialResultSet()</link> D-Bus method.
 431    *
 432    * 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 nautilus_shell_search_provider_complete_get_initial_result_set() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
 433    *
 434    * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
 435    */
 436   g_signal_new ("handle-get-initial-result-set",
 437     G_TYPE_FROM_INTERFACE (iface),
 438     G_SIGNAL_RUN_LAST,
 439     G_STRUCT_OFFSET (NautilusShellSearchProviderIface, handle_get_initial_result_set),
 440     g_signal_accumulator_true_handled,
 441     NULL,
 442     g_cclosure_marshal_generic,
 443     G_TYPE_BOOLEAN,
 444     2,
 445     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRV);
 446 
 447   /**
 448    * NautilusShellSearchProvider::handle-get-subsearch-result-set:
 449    * @object: A #NautilusShellSearchProvider.
 450    * @invocation: A #GDBusMethodInvocation.
 451    * @arg_PreviousResults: Argument passed by remote caller.
 452    * @arg_Terms: Argument passed by remote caller.
 453    *
 454    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetSubsearchResultSet">GetSubsearchResultSet()</link> D-Bus method.
 455    *
 456    * 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 nautilus_shell_search_provider_complete_get_subsearch_result_set() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
 457    *
 458    * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
 459    */
 460   g_signal_new ("handle-get-subsearch-result-set",
 461     G_TYPE_FROM_INTERFACE (iface),
 462     G_SIGNAL_RUN_LAST,
 463     G_STRUCT_OFFSET (NautilusShellSearchProviderIface, handle_get_subsearch_result_set),
 464     g_signal_accumulator_true_handled,
 465     NULL,
 466     g_cclosure_marshal_generic,
 467     G_TYPE_BOOLEAN,
 468     3,
 469     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRV, G_TYPE_STRV);
 470 
 471   /**
 472    * NautilusShellSearchProvider::handle-get-result-metas:
 473    * @object: A #NautilusShellSearchProvider.
 474    * @invocation: A #GDBusMethodInvocation.
 475    * @arg_Results: Argument passed by remote caller.
 476    *
 477    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetResultMetas">GetResultMetas()</link> D-Bus method.
 478    *
 479    * 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 nautilus_shell_search_provider_complete_get_result_metas() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
 480    *
 481    * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
 482    */
 483   g_signal_new ("handle-get-result-metas",
 484     G_TYPE_FROM_INTERFACE (iface),
 485     G_SIGNAL_RUN_LAST,
 486     G_STRUCT_OFFSET (NautilusShellSearchProviderIface, handle_get_result_metas),
 487     g_signal_accumulator_true_handled,
 488     NULL,
 489     g_cclosure_marshal_generic,
 490     G_TYPE_BOOLEAN,
 491     2,
 492     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRV);
 493 
 494   /**
 495    * NautilusShellSearchProvider::handle-activate-result:
 496    * @object: A #NautilusShellSearchProvider.
 497    * @invocation: A #GDBusMethodInvocation.
 498    * @arg_Result: Argument passed by remote caller.
 499    *
 500    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.ActivateResult">ActivateResult()</link> D-Bus method.
 501    *
 502    * 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 nautilus_shell_search_provider_complete_activate_result() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
 503    *
 504    * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
 505    */
 506   g_signal_new ("handle-activate-result",
 507     G_TYPE_FROM_INTERFACE (iface),
 508     G_SIGNAL_RUN_LAST,
 509     G_STRUCT_OFFSET (NautilusShellSearchProviderIface, handle_activate_result),
 510     g_signal_accumulator_true_handled,
 511     NULL,
 512     g_cclosure_marshal_generic,
 513     G_TYPE_BOOLEAN,
 514     2,
 515     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
 516 
 517 }
 518 
 519 typedef NautilusShellSearchProviderIface NautilusShellSearchProviderInterface;
 520 G_DEFINE_INTERFACE (NautilusShellSearchProvider, nautilus_shell_search_provider, G_TYPE_OBJECT);
 521 
 522 /**
 523  * nautilus_shell_search_provider_call_get_initial_result_set:
 524  * @proxy: A #NautilusShellSearchProviderProxy.
 525  * @arg_Terms: Argument to pass with the method invocation.
 526  * @cancellable: (allow-none): A #GCancellable or %NULL.
 527  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
 528  * @user_data: User data to pass to @callback.
 529  *
 530  * Asynchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetInitialResultSet">GetInitialResultSet()</link> D-Bus method on @proxy.
 531  * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 532  * You can then call nautilus_shell_search_provider_call_get_initial_result_set_finish() to get the result of the operation.
 533  *
 534  * See nautilus_shell_search_provider_call_get_initial_result_set_sync() for the synchronous, blocking version of this method.
 535  */
 536 void
 537 nautilus_shell_search_provider_call_get_initial_result_set (
 538     NautilusShellSearchProvider *proxy,
 539     const gchar *const *arg_Terms,
 540     GCancellable *cancellable,
 541     GAsyncReadyCallback callback,
 542     gpointer user_data)
 543 {
 544   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
 545     "GetInitialResultSet",
 546     g_variant_new ("(^as)",
 547                    arg_Terms),
 548     G_DBUS_CALL_FLAGS_NONE,
 549     -1,
 550     cancellable,
 551     callback,
 552     user_data);
 553 }
 554 
 555 /**
 556  * nautilus_shell_search_provider_call_get_initial_result_set_finish:
 557  * @proxy: A #NautilusShellSearchProviderProxy.
 558  * @out_Results: (out): Return location for return parameter or %NULL to ignore.
 559  * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nautilus_shell_search_provider_call_get_initial_result_set().
 560  * @error: Return location for error or %NULL.
 561  *
 562  * Finishes an operation started with nautilus_shell_search_provider_call_get_initial_result_set().
 563  *
 564  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 565  */
 566 gboolean
 567 nautilus_shell_search_provider_call_get_initial_result_set_finish (
 568     NautilusShellSearchProvider *proxy,
 569     gchar ***out_Results,
 570     GAsyncResult *res,
 571     GError **error)
 572 {
 573   GVariant *_ret;
 574   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
 575   if (_ret == NULL)
 576     goto _out;
 577   g_variant_get (_ret,
 578                  "(^as)",
 579                  out_Results);
 580   g_variant_unref (_ret);
 581 _out:
 582   return _ret != NULL;
 583 }
 584 
 585 /**
 586  * nautilus_shell_search_provider_call_get_initial_result_set_sync:
 587  * @proxy: A #NautilusShellSearchProviderProxy.
 588  * @arg_Terms: Argument to pass with the method invocation.
 589  * @out_Results: (out): Return location for return parameter or %NULL to ignore.
 590  * @cancellable: (allow-none): A #GCancellable or %NULL.
 591  * @error: Return location for error or %NULL.
 592  *
 593  * Synchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetInitialResultSet">GetInitialResultSet()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
 594  *
 595  * See nautilus_shell_search_provider_call_get_initial_result_set() for the asynchronous version of this method.
 596  *
 597  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 598  */
 599 gboolean
 600 nautilus_shell_search_provider_call_get_initial_result_set_sync (
 601     NautilusShellSearchProvider *proxy,
 602     const gchar *const *arg_Terms,
 603     gchar ***out_Results,
 604     GCancellable *cancellable,
 605     GError **error)
 606 {
 607   GVariant *_ret;
 608   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
 609     "GetInitialResultSet",
 610     g_variant_new ("(^as)",
 611                    arg_Terms),
 612     G_DBUS_CALL_FLAGS_NONE,
 613     -1,
 614     cancellable,
 615     error);
 616   if (_ret == NULL)
 617     goto _out;
 618   g_variant_get (_ret,
 619                  "(^as)",
 620                  out_Results);
 621   g_variant_unref (_ret);
 622 _out:
 623   return _ret != NULL;
 624 }
 625 
 626 /**
 627  * nautilus_shell_search_provider_call_get_subsearch_result_set:
 628  * @proxy: A #NautilusShellSearchProviderProxy.
 629  * @arg_PreviousResults: Argument to pass with the method invocation.
 630  * @arg_Terms: Argument to pass with the method invocation.
 631  * @cancellable: (allow-none): A #GCancellable or %NULL.
 632  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
 633  * @user_data: User data to pass to @callback.
 634  *
 635  * Asynchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetSubsearchResultSet">GetSubsearchResultSet()</link> D-Bus method on @proxy.
 636  * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 637  * You can then call nautilus_shell_search_provider_call_get_subsearch_result_set_finish() to get the result of the operation.
 638  *
 639  * See nautilus_shell_search_provider_call_get_subsearch_result_set_sync() for the synchronous, blocking version of this method.
 640  */
 641 void
 642 nautilus_shell_search_provider_call_get_subsearch_result_set (
 643     NautilusShellSearchProvider *proxy,
 644     const gchar *const *arg_PreviousResults,
 645     const gchar *const *arg_Terms,
 646     GCancellable *cancellable,
 647     GAsyncReadyCallback callback,
 648     gpointer user_data)
 649 {
 650   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
 651     "GetSubsearchResultSet",
 652     g_variant_new ("(^as^as)",
 653                    arg_PreviousResults,
 654                    arg_Terms),
 655     G_DBUS_CALL_FLAGS_NONE,
 656     -1,
 657     cancellable,
 658     callback,
 659     user_data);
 660 }
 661 
 662 /**
 663  * nautilus_shell_search_provider_call_get_subsearch_result_set_finish:
 664  * @proxy: A #NautilusShellSearchProviderProxy.
 665  * @out_Results: (out): Return location for return parameter or %NULL to ignore.
 666  * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nautilus_shell_search_provider_call_get_subsearch_result_set().
 667  * @error: Return location for error or %NULL.
 668  *
 669  * Finishes an operation started with nautilus_shell_search_provider_call_get_subsearch_result_set().
 670  *
 671  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 672  */
 673 gboolean
 674 nautilus_shell_search_provider_call_get_subsearch_result_set_finish (
 675     NautilusShellSearchProvider *proxy,
 676     gchar ***out_Results,
 677     GAsyncResult *res,
 678     GError **error)
 679 {
 680   GVariant *_ret;
 681   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
 682   if (_ret == NULL)
 683     goto _out;
 684   g_variant_get (_ret,
 685                  "(^as)",
 686                  out_Results);
 687   g_variant_unref (_ret);
 688 _out:
 689   return _ret != NULL;
 690 }
 691 
 692 /**
 693  * nautilus_shell_search_provider_call_get_subsearch_result_set_sync:
 694  * @proxy: A #NautilusShellSearchProviderProxy.
 695  * @arg_PreviousResults: Argument to pass with the method invocation.
 696  * @arg_Terms: Argument to pass with the method invocation.
 697  * @out_Results: (out): Return location for return parameter or %NULL to ignore.
 698  * @cancellable: (allow-none): A #GCancellable or %NULL.
 699  * @error: Return location for error or %NULL.
 700  *
 701  * Synchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetSubsearchResultSet">GetSubsearchResultSet()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
 702  *
 703  * See nautilus_shell_search_provider_call_get_subsearch_result_set() for the asynchronous version of this method.
 704  *
 705  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 706  */
 707 gboolean
 708 nautilus_shell_search_provider_call_get_subsearch_result_set_sync (
 709     NautilusShellSearchProvider *proxy,
 710     const gchar *const *arg_PreviousResults,
 711     const gchar *const *arg_Terms,
 712     gchar ***out_Results,
 713     GCancellable *cancellable,
 714     GError **error)
 715 {
 716   GVariant *_ret;
 717   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
 718     "GetSubsearchResultSet",
 719     g_variant_new ("(^as^as)",
 720                    arg_PreviousResults,
 721                    arg_Terms),
 722     G_DBUS_CALL_FLAGS_NONE,
 723     -1,
 724     cancellable,
 725     error);
 726   if (_ret == NULL)
 727     goto _out;
 728   g_variant_get (_ret,
 729                  "(^as)",
 730                  out_Results);
 731   g_variant_unref (_ret);
 732 _out:
 733   return _ret != NULL;
 734 }
 735 
 736 /**
 737  * nautilus_shell_search_provider_call_get_result_metas:
 738  * @proxy: A #NautilusShellSearchProviderProxy.
 739  * @arg_Results: Argument to pass with the method invocation.
 740  * @cancellable: (allow-none): A #GCancellable or %NULL.
 741  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
 742  * @user_data: User data to pass to @callback.
 743  *
 744  * Asynchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetResultMetas">GetResultMetas()</link> D-Bus method on @proxy.
 745  * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 746  * You can then call nautilus_shell_search_provider_call_get_result_metas_finish() to get the result of the operation.
 747  *
 748  * See nautilus_shell_search_provider_call_get_result_metas_sync() for the synchronous, blocking version of this method.
 749  */
 750 void
 751 nautilus_shell_search_provider_call_get_result_metas (
 752     NautilusShellSearchProvider *proxy,
 753     const gchar *const *arg_Results,
 754     GCancellable *cancellable,
 755     GAsyncReadyCallback callback,
 756     gpointer user_data)
 757 {
 758   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
 759     "GetResultMetas",
 760     g_variant_new ("(^as)",
 761                    arg_Results),
 762     G_DBUS_CALL_FLAGS_NONE,
 763     -1,
 764     cancellable,
 765     callback,
 766     user_data);
 767 }
 768 
 769 /**
 770  * nautilus_shell_search_provider_call_get_result_metas_finish:
 771  * @proxy: A #NautilusShellSearchProviderProxy.
 772  * @out_Metas: (out): Return location for return parameter or %NULL to ignore.
 773  * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nautilus_shell_search_provider_call_get_result_metas().
 774  * @error: Return location for error or %NULL.
 775  *
 776  * Finishes an operation started with nautilus_shell_search_provider_call_get_result_metas().
 777  *
 778  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 779  */
 780 gboolean
 781 nautilus_shell_search_provider_call_get_result_metas_finish (
 782     NautilusShellSearchProvider *proxy,
 783     GVariant **out_Metas,
 784     GAsyncResult *res,
 785     GError **error)
 786 {
 787   GVariant *_ret;
 788   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
 789   if (_ret == NULL)
 790     goto _out;
 791   g_variant_get (_ret,
 792                  "(@aa{sv})",
 793                  out_Metas);
 794   g_variant_unref (_ret);
 795 _out:
 796   return _ret != NULL;
 797 }
 798 
 799 /**
 800  * nautilus_shell_search_provider_call_get_result_metas_sync:
 801  * @proxy: A #NautilusShellSearchProviderProxy.
 802  * @arg_Results: Argument to pass with the method invocation.
 803  * @out_Metas: (out): Return location for return parameter or %NULL to ignore.
 804  * @cancellable: (allow-none): A #GCancellable or %NULL.
 805  * @error: Return location for error or %NULL.
 806  *
 807  * Synchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetResultMetas">GetResultMetas()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
 808  *
 809  * See nautilus_shell_search_provider_call_get_result_metas() for the asynchronous version of this method.
 810  *
 811  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 812  */
 813 gboolean
 814 nautilus_shell_search_provider_call_get_result_metas_sync (
 815     NautilusShellSearchProvider *proxy,
 816     const gchar *const *arg_Results,
 817     GVariant **out_Metas,
 818     GCancellable *cancellable,
 819     GError **error)
 820 {
 821   GVariant *_ret;
 822   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
 823     "GetResultMetas",
 824     g_variant_new ("(^as)",
 825                    arg_Results),
 826     G_DBUS_CALL_FLAGS_NONE,
 827     -1,
 828     cancellable,
 829     error);
 830   if (_ret == NULL)
 831     goto _out;
 832   g_variant_get (_ret,
 833                  "(@aa{sv})",
 834                  out_Metas);
 835   g_variant_unref (_ret);
 836 _out:
 837   return _ret != NULL;
 838 }
 839 
 840 /**
 841  * nautilus_shell_search_provider_call_activate_result:
 842  * @proxy: A #NautilusShellSearchProviderProxy.
 843  * @arg_Result: Argument to pass with the method invocation.
 844  * @cancellable: (allow-none): A #GCancellable or %NULL.
 845  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
 846  * @user_data: User data to pass to @callback.
 847  *
 848  * Asynchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.ActivateResult">ActivateResult()</link> D-Bus method on @proxy.
 849  * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 850  * You can then call nautilus_shell_search_provider_call_activate_result_finish() to get the result of the operation.
 851  *
 852  * See nautilus_shell_search_provider_call_activate_result_sync() for the synchronous, blocking version of this method.
 853  */
 854 void
 855 nautilus_shell_search_provider_call_activate_result (
 856     NautilusShellSearchProvider *proxy,
 857     const gchar *arg_Result,
 858     GCancellable *cancellable,
 859     GAsyncReadyCallback callback,
 860     gpointer user_data)
 861 {
 862   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
 863     "ActivateResult",
 864     g_variant_new ("(s)",
 865                    arg_Result),
 866     G_DBUS_CALL_FLAGS_NONE,
 867     -1,
 868     cancellable,
 869     callback,
 870     user_data);
 871 }
 872 
 873 /**
 874  * nautilus_shell_search_provider_call_activate_result_finish:
 875  * @proxy: A #NautilusShellSearchProviderProxy.
 876  * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nautilus_shell_search_provider_call_activate_result().
 877  * @error: Return location for error or %NULL.
 878  *
 879  * Finishes an operation started with nautilus_shell_search_provider_call_activate_result().
 880  *
 881  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 882  */
 883 gboolean
 884 nautilus_shell_search_provider_call_activate_result_finish (
 885     NautilusShellSearchProvider *proxy,
 886     GAsyncResult *res,
 887     GError **error)
 888 {
 889   GVariant *_ret;
 890   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
 891   if (_ret == NULL)
 892     goto _out;
 893   g_variant_get (_ret,
 894                  "()");
 895   g_variant_unref (_ret);
 896 _out:
 897   return _ret != NULL;
 898 }
 899 
 900 /**
 901  * nautilus_shell_search_provider_call_activate_result_sync:
 902  * @proxy: A #NautilusShellSearchProviderProxy.
 903  * @arg_Result: Argument to pass with the method invocation.
 904  * @cancellable: (allow-none): A #GCancellable or %NULL.
 905  * @error: Return location for error or %NULL.
 906  *
 907  * Synchronously invokes the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.ActivateResult">ActivateResult()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
 908  *
 909  * See nautilus_shell_search_provider_call_activate_result() for the asynchronous version of this method.
 910  *
 911  * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
 912  */
 913 gboolean
 914 nautilus_shell_search_provider_call_activate_result_sync (
 915     NautilusShellSearchProvider *proxy,
 916     const gchar *arg_Result,
 917     GCancellable *cancellable,
 918     GError **error)
 919 {
 920   GVariant *_ret;
 921   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
 922     "ActivateResult",
 923     g_variant_new ("(s)",
 924                    arg_Result),
 925     G_DBUS_CALL_FLAGS_NONE,
 926     -1,
 927     cancellable,
 928     error);
 929   if (_ret == NULL)
 930     goto _out;
 931   g_variant_get (_ret,
 932                  "()");
 933   g_variant_unref (_ret);
 934 _out:
 935   return _ret != NULL;
 936 }
 937 
 938 /**
 939  * nautilus_shell_search_provider_complete_get_initial_result_set:
 940  * @object: A #NautilusShellSearchProvider.
 941  * @invocation: (transfer full): A #GDBusMethodInvocation.
 942  * @Results: Parameter to return.
 943  *
 944  * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetInitialResultSet">GetInitialResultSet()</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.
 945  *
 946  * This method will free @invocation, you cannot use it afterwards.
 947  */
 948 void
 949 nautilus_shell_search_provider_complete_get_initial_result_set (
 950     NautilusShellSearchProvider *object,
 951     GDBusMethodInvocation *invocation,
 952     const gchar *const *Results)
 953 {
 954   g_dbus_method_invocation_return_value (invocation,
 955     g_variant_new ("(^as)",
 956                    Results));
 957 }
 958 
 959 /**
 960  * nautilus_shell_search_provider_complete_get_subsearch_result_set:
 961  * @object: A #NautilusShellSearchProvider.
 962  * @invocation: (transfer full): A #GDBusMethodInvocation.
 963  * @Results: Parameter to return.
 964  *
 965  * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetSubsearchResultSet">GetSubsearchResultSet()</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.
 966  *
 967  * This method will free @invocation, you cannot use it afterwards.
 968  */
 969 void
 970 nautilus_shell_search_provider_complete_get_subsearch_result_set (
 971     NautilusShellSearchProvider *object,
 972     GDBusMethodInvocation *invocation,
 973     const gchar *const *Results)
 974 {
 975   g_dbus_method_invocation_return_value (invocation,
 976     g_variant_new ("(^as)",
 977                    Results));
 978 }
 979 
 980 /**
 981  * nautilus_shell_search_provider_complete_get_result_metas:
 982  * @object: A #NautilusShellSearchProvider.
 983  * @invocation: (transfer full): A #GDBusMethodInvocation.
 984  * @Metas: Parameter to return.
 985  *
 986  * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.GetResultMetas">GetResultMetas()</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.
 987  *
 988  * This method will free @invocation, you cannot use it afterwards.
 989  */
 990 void
 991 nautilus_shell_search_provider_complete_get_result_metas (
 992     NautilusShellSearchProvider *object,
 993     GDBusMethodInvocation *invocation,
 994     GVariant *Metas)
 995 {
 996   g_dbus_method_invocation_return_value (invocation,
 997     g_variant_new ("(@aa{sv})",
 998                    Metas));
 999 }
1000 
1001 /**
1002  * nautilus_shell_search_provider_complete_activate_result:
1003  * @object: A #NautilusShellSearchProvider.
1004  * @invocation: (transfer full): A #GDBusMethodInvocation.
1005  *
1006  * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-gnome-Shell-SearchProvider.ActivateResult">ActivateResult()</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.
1007  *
1008  * This method will free @invocation, you cannot use it afterwards.
1009  */
1010 void
1011 nautilus_shell_search_provider_complete_activate_result (
1012     NautilusShellSearchProvider *object,
1013     GDBusMethodInvocation *invocation)
1014 {
1015   g_dbus_method_invocation_return_value (invocation,
1016     g_variant_new ("()"));
1017 }
1018 
1019 /* ------------------------------------------------------------------------ */
1020 
1021 /**
1022  * NautilusShellSearchProviderProxy:
1023  *
1024  * The #NautilusShellSearchProviderProxy structure contains only private data and should only be accessed using the provided API.
1025  */
1026 
1027 /**
1028  * NautilusShellSearchProviderProxyClass:
1029  * @parent_class: The parent class.
1030  *
1031  * Class structure for #NautilusShellSearchProviderProxy.
1032  */
1033 
1034 struct _NautilusShellSearchProviderProxyPrivate
1035 {
1036   GData *qdata;
1037 };
1038 
1039 static void nautilus_shell_search_provider_proxy_iface_init (NautilusShellSearchProviderIface *iface);
1040 
1041 G_DEFINE_TYPE_WITH_CODE (NautilusShellSearchProviderProxy, nautilus_shell_search_provider_proxy, G_TYPE_DBUS_PROXY,
1042                          G_IMPLEMENT_INTERFACE (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER, nautilus_shell_search_provider_proxy_iface_init));
1043 
1044 static void
1045 nautilus_shell_search_provider_proxy_finalize (GObject *object)
1046 {
1047   NautilusShellSearchProviderProxy *proxy = NAUTILUS_SHELL_SEARCH_PROVIDER_PROXY (object);
1048   g_datalist_clear (&proxy->priv->qdata);
1049   G_OBJECT_CLASS (nautilus_shell_search_provider_proxy_parent_class)->finalize (object);
1050 }
1051 
1052 static void
1053 nautilus_shell_search_provider_proxy_get_property (GObject      *object,
1054   guint         prop_id,
1055   GValue       *value,
1056   GParamSpec   *pspec)
1057 {
1058 }
1059 
1060 static void
1061 nautilus_shell_search_provider_proxy_set_property (GObject      *object,
1062   guint         prop_id,
1063   const GValue *value,
1064   GParamSpec   *pspec)
1065 {
1066 }
1067 
1068 static void
1069 nautilus_shell_search_provider_proxy_g_signal (GDBusProxy *proxy,
1070   const gchar *sender_name,
1071   const gchar *signal_name,
1072   GVariant *parameters)
1073 {
1074   _ExtendedGDBusSignalInfo *info;
1075   GVariantIter iter;
1076   GVariant *child;
1077   GValue *paramv;
1078   guint num_params;
1079   guint n;
1080   guint signal_id;
1081   info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_nautilus_shell_search_provider_interface_info.parent_struct, signal_name);
1082   if (info == NULL)
1083     return;
1084   num_params = g_variant_n_children (parameters);
1085   paramv = g_new0 (GValue, num_params + 1);
1086   g_value_init (&paramv[0], NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER);
1087   g_value_set_object (&paramv[0], proxy);
1088   g_variant_iter_init (&iter, parameters);
1089   n = 1;
1090   while ((child = g_variant_iter_next_value (&iter)) != NULL)
1091     {
1092       _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
1093       if (arg_info->use_gvariant)
1094         {
1095           g_value_init (&paramv[n], G_TYPE_VARIANT);
1096           g_value_set_variant (&paramv[n], child);
1097           n++;
1098         }
1099       else
1100         g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
1101       g_variant_unref (child);
1102     }
1103   signal_id = g_signal_lookup (info->signal_name, NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER);
1104   g_signal_emitv (paramv, signal_id, 0, NULL);
1105   for (n = 0; n < num_params + 1; n++)
1106     g_value_unset (&paramv[n]);
1107   g_free (paramv);
1108 }
1109 
1110 static void
1111 nautilus_shell_search_provider_proxy_g_properties_changed (GDBusProxy *_proxy,
1112   GVariant *changed_properties,
1113   const gchar *const *invalidated_properties)
1114 {
1115   NautilusShellSearchProviderProxy *proxy = NAUTILUS_SHELL_SEARCH_PROVIDER_PROXY (_proxy);
1116   guint n;
1117   const gchar *key;
1118   GVariantIter *iter;
1119   _ExtendedGDBusPropertyInfo *info;
1120   g_variant_get (changed_properties, "a{sv}", &iter);
1121   while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
1122     {
1123       info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_nautilus_shell_search_provider_interface_info.parent_struct, key);
1124       g_datalist_remove_data (&proxy->priv->qdata, key);
1125       if (info != NULL)
1126         g_object_notify (G_OBJECT (proxy), info->hyphen_name);
1127     }
1128   g_variant_iter_free (iter);
1129   for (n = 0; invalidated_properties[n] != NULL; n++)
1130     {
1131       info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_nautilus_shell_search_provider_interface_info.parent_struct, invalidated_properties[n]);
1132       g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
1133       if (info != NULL)
1134         g_object_notify (G_OBJECT (proxy), info->hyphen_name);
1135     }
1136 }
1137 
1138 static void
1139 nautilus_shell_search_provider_proxy_init (NautilusShellSearchProviderProxy *proxy)
1140 {
1141   proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_PROXY, NautilusShellSearchProviderProxyPrivate);
1142   g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), nautilus_shell_search_provider_interface_info ());
1143 }
1144 
1145 static void
1146 nautilus_shell_search_provider_proxy_class_init (NautilusShellSearchProviderProxyClass *klass)
1147 {
1148   GObjectClass *gobject_class;
1149   GDBusProxyClass *proxy_class;
1150 
1151   g_type_class_add_private (klass, sizeof (NautilusShellSearchProviderProxyPrivate));
1152 
1153   gobject_class = G_OBJECT_CLASS (klass);
1154   gobject_class->finalize     = nautilus_shell_search_provider_proxy_finalize;
1155   gobject_class->get_property = nautilus_shell_search_provider_proxy_get_property;
1156   gobject_class->set_property = nautilus_shell_search_provider_proxy_set_property;
1157 
1158   proxy_class = G_DBUS_PROXY_CLASS (klass);
1159   proxy_class->g_signal = nautilus_shell_search_provider_proxy_g_signal;
1160   proxy_class->g_properties_changed = nautilus_shell_search_provider_proxy_g_properties_changed;
1161 
1162 }
1163 
1164 static void
1165 nautilus_shell_search_provider_proxy_iface_init (NautilusShellSearchProviderIface *iface)
1166 {
1167 }
1168 
1169 /**
1170  * nautilus_shell_search_provider_proxy_new:
1171  * @connection: A #GDBusConnection.
1172  * @flags: Flags from the #GDBusProxyFlags enumeration.
1173  * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
1174  * @object_path: An object path.
1175  * @cancellable: (allow-none): A #GCancellable or %NULL.
1176  * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
1177  * @user_data: User data to pass to @callback.
1178  *
1179  * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link>. See g_dbus_proxy_new() for more details.
1180  *
1181  * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
1182  * You can then call nautilus_shell_search_provider_proxy_new_finish() to get the result of the operation.
1183  *
1184  * See nautilus_shell_search_provider_proxy_new_sync() for the synchronous, blocking version of this constructor.
1185  */
1186 void
1187 nautilus_shell_search_provider_proxy_new (
1188     GDBusConnection     *connection,
1189     GDBusProxyFlags      flags,
1190     const gchar         *name,
1191     const gchar         *object_path,
1192     GCancellable        *cancellable,
1193     GAsyncReadyCallback  callback,
1194     gpointer             user_data)
1195 {
1196   g_async_initable_new_async (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_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.gnome.Shell.SearchProvider", NULL);
1197 }
1198 
1199 /**
1200  * nautilus_shell_search_provider_proxy_new_finish:
1201  * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nautilus_shell_search_provider_proxy_new().
1202  * @error: Return location for error or %NULL
1203  *
1204  * Finishes an operation started with nautilus_shell_search_provider_proxy_new().
1205  *
1206  * Returns: (transfer full) (type NautilusShellSearchProviderProxy): The constructed proxy object or %NULL if @error is set.
1207  */
1208 NautilusShellSearchProvider *
1209 nautilus_shell_search_provider_proxy_new_finish (
1210     GAsyncResult        *res,
1211     GError             **error)
1212 {
1213   GObject *ret;
1214   GObject *source_object;
1215   source_object = g_async_result_get_source_object (res);
1216   ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
1217   g_object_unref (source_object);
1218   if (ret != NULL)
1219     return NAUTILUS_SHELL_SEARCH_PROVIDER (ret);
1220   else
1221     return NULL;
1222 }
1223 
1224 /**
1225  * nautilus_shell_search_provider_proxy_new_sync:
1226  * @connection: A #GDBusConnection.
1227  * @flags: Flags from the #GDBusProxyFlags enumeration.
1228  * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
1229  * @object_path: An object path.
1230  * @cancellable: (allow-none): A #GCancellable or %NULL.
1231  * @error: Return location for error or %NULL
1232  *
1233  * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link>. See g_dbus_proxy_new_sync() for more details.
1234  *
1235  * The calling thread is blocked until a reply is received.
1236  *
1237  * See nautilus_shell_search_provider_proxy_new() for the asynchronous version of this constructor.
1238  *
1239  * Returns: (transfer full) (type NautilusShellSearchProviderProxy): The constructed proxy object or %NULL if @error is set.
1240  */
1241 NautilusShellSearchProvider *
1242 nautilus_shell_search_provider_proxy_new_sync (
1243     GDBusConnection     *connection,
1244     GDBusProxyFlags      flags,
1245     const gchar         *name,
1246     const gchar         *object_path,
1247     GCancellable        *cancellable,
1248     GError             **error)
1249 {
1250   GInitable *ret;
1251   ret = g_initable_new (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.gnome.Shell.SearchProvider", NULL);
1252   if (ret != NULL)
1253     return NAUTILUS_SHELL_SEARCH_PROVIDER (ret);
1254   else
1255     return NULL;
1256 }
1257 
1258 
1259 /**
1260  * nautilus_shell_search_provider_proxy_new_for_bus:
1261  * @bus_type: A #GBusType.
1262  * @flags: Flags from the #GDBusProxyFlags enumeration.
1263  * @name: A bus name (well-known or unique).
1264  * @object_path: An object path.
1265  * @cancellable: (allow-none): A #GCancellable or %NULL.
1266  * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
1267  * @user_data: User data to pass to @callback.
1268  *
1269  * Like nautilus_shell_search_provider_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
1270  *
1271  * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
1272  * You can then call nautilus_shell_search_provider_proxy_new_for_bus_finish() to get the result of the operation.
1273  *
1274  * See nautilus_shell_search_provider_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
1275  */
1276 void
1277 nautilus_shell_search_provider_proxy_new_for_bus (
1278     GBusType             bus_type,
1279     GDBusProxyFlags      flags,
1280     const gchar         *name,
1281     const gchar         *object_path,
1282     GCancellable        *cancellable,
1283     GAsyncReadyCallback  callback,
1284     gpointer             user_data)
1285 {
1286   g_async_initable_new_async (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_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.gnome.Shell.SearchProvider", NULL);
1287 }
1288 
1289 /**
1290  * nautilus_shell_search_provider_proxy_new_for_bus_finish:
1291  * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to nautilus_shell_search_provider_proxy_new_for_bus().
1292  * @error: Return location for error or %NULL
1293  *
1294  * Finishes an operation started with nautilus_shell_search_provider_proxy_new_for_bus().
1295  *
1296  * Returns: (transfer full) (type NautilusShellSearchProviderProxy): The constructed proxy object or %NULL if @error is set.
1297  */
1298 NautilusShellSearchProvider *
1299 nautilus_shell_search_provider_proxy_new_for_bus_finish (
1300     GAsyncResult        *res,
1301     GError             **error)
1302 {
1303   GObject *ret;
1304   GObject *source_object;
1305   source_object = g_async_result_get_source_object (res);
1306   ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
1307   g_object_unref (source_object);
1308   if (ret != NULL)
1309     return NAUTILUS_SHELL_SEARCH_PROVIDER (ret);
1310   else
1311     return NULL;
1312 }
1313 
1314 /**
1315  * nautilus_shell_search_provider_proxy_new_for_bus_sync:
1316  * @bus_type: A #GBusType.
1317  * @flags: Flags from the #GDBusProxyFlags enumeration.
1318  * @name: A bus name (well-known or unique).
1319  * @object_path: An object path.
1320  * @cancellable: (allow-none): A #GCancellable or %NULL.
1321  * @error: Return location for error or %NULL
1322  *
1323  * Like nautilus_shell_search_provider_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
1324  *
1325  * The calling thread is blocked until a reply is received.
1326  *
1327  * See nautilus_shell_search_provider_proxy_new_for_bus() for the asynchronous version of this constructor.
1328  *
1329  * Returns: (transfer full) (type NautilusShellSearchProviderProxy): The constructed proxy object or %NULL if @error is set.
1330  */
1331 NautilusShellSearchProvider *
1332 nautilus_shell_search_provider_proxy_new_for_bus_sync (
1333     GBusType             bus_type,
1334     GDBusProxyFlags      flags,
1335     const gchar         *name,
1336     const gchar         *object_path,
1337     GCancellable        *cancellable,
1338     GError             **error)
1339 {
1340   GInitable *ret;
1341   ret = g_initable_new (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.gnome.Shell.SearchProvider", NULL);
1342   if (ret != NULL)
1343     return NAUTILUS_SHELL_SEARCH_PROVIDER (ret);
1344   else
1345     return NULL;
1346 }
1347 
1348 
1349 /* ------------------------------------------------------------------------ */
1350 
1351 /**
1352  * NautilusShellSearchProviderSkeleton:
1353  *
1354  * The #NautilusShellSearchProviderSkeleton structure contains only private data and should only be accessed using the provided API.
1355  */
1356 
1357 /**
1358  * NautilusShellSearchProviderSkeletonClass:
1359  * @parent_class: The parent class.
1360  *
1361  * Class structure for #NautilusShellSearchProviderSkeleton.
1362  */
1363 
1364 struct _NautilusShellSearchProviderSkeletonPrivate
1365 {
1366   GValue *properties;
1367   GList *changed_properties;
1368   GSource *changed_properties_idle_source;
1369   GMainContext *context;
1370   GMutex lock;
1371 };
1372 
1373 static void
1374 _nautilus_shell_search_provider_skeleton_handle_method_call (
1375   GDBusConnection *connection,
1376   const gchar *sender,
1377   const gchar *object_path,
1378   const gchar *interface_name,
1379   const gchar *method_name,
1380   GVariant *parameters,
1381   GDBusMethodInvocation *invocation,
1382   gpointer user_data)
1383 {
1384   NautilusShellSearchProviderSkeleton *skeleton = NAUTILUS_SHELL_SEARCH_PROVIDER_SKELETON (user_data);
1385   _ExtendedGDBusMethodInfo *info;
1386   GVariantIter iter;
1387   GVariant *child;
1388   GValue *paramv;
1389   guint num_params;
1390   guint num_extra;
1391   guint n;
1392   guint signal_id;
1393   GValue return_value = G_VALUE_INIT;
1394   info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
1395   g_assert (info != NULL);
1396   num_params = g_variant_n_children (parameters);
1397   num_extra = info->pass_fdlist ? 3 : 2;  paramv = g_new0 (GValue, num_params + num_extra);
1398   n = 0;
1399   g_value_init (&paramv[n], NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER);
1400   g_value_set_object (&paramv[n++], skeleton);
1401   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
1402   g_value_set_object (&paramv[n++], invocation);
1403   if (info->pass_fdlist)
1404     {
1405 #ifdef G_OS_UNIX
1406       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
1407       g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
1408 #else
1409       g_assert_not_reached ();
1410 #endif
1411     }
1412   g_variant_iter_init (&iter, parameters);
1413   while ((child = g_variant_iter_next_value (&iter)) != NULL)
1414     {
1415       _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
1416       if (arg_info->use_gvariant)
1417         {
1418           g_value_init (&paramv[n], G_TYPE_VARIANT);
1419           g_value_set_variant (&paramv[n], child);
1420           n++;
1421         }
1422       else
1423         g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
1424       g_variant_unref (child);
1425     }
1426   signal_id = g_signal_lookup (info->signal_name, NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER);
1427   g_value_init (&return_value, G_TYPE_BOOLEAN);
1428   g_signal_emitv (paramv, signal_id, 0, &return_value);
1429   if (!g_value_get_boolean (&return_value))
1430     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);
1431   g_value_unset (&return_value);
1432   for (n = 0; n < num_params + num_extra; n++)
1433     g_value_unset (&paramv[n]);
1434   g_free (paramv);
1435 }
1436 
1437 static GVariant *
1438 _nautilus_shell_search_provider_skeleton_handle_get_property (
1439   GDBusConnection *connection,
1440   const gchar *sender,
1441   const gchar *object_path,
1442   const gchar *interface_name,
1443   const gchar *property_name,
1444   GError **error,
1445   gpointer user_data)
1446 {
1447   NautilusShellSearchProviderSkeleton *skeleton = NAUTILUS_SHELL_SEARCH_PROVIDER_SKELETON (user_data);
1448   GValue value = G_VALUE_INIT;
1449   GParamSpec *pspec;
1450   _ExtendedGDBusPropertyInfo *info;
1451   GVariant *ret;
1452   ret = NULL;
1453   info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_nautilus_shell_search_provider_interface_info.parent_struct, property_name);
1454   g_assert (info != NULL);
1455   pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
1456   if (pspec == NULL)
1457     {
1458       g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
1459     }
1460   else
1461     {
1462       g_value_init (&value, pspec->value_type);
1463       g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
1464       ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
1465       g_value_unset (&value);
1466     }
1467   return ret;
1468 }
1469 
1470 static gboolean
1471 _nautilus_shell_search_provider_skeleton_handle_set_property (
1472   GDBusConnection *connection,
1473   const gchar *sender,
1474   const gchar *object_path,
1475   const gchar *interface_name,
1476   const gchar *property_name,
1477   GVariant *variant,
1478   GError **error,
1479   gpointer user_data)
1480 {
1481   NautilusShellSearchProviderSkeleton *skeleton = NAUTILUS_SHELL_SEARCH_PROVIDER_SKELETON (user_data);
1482   GValue value = G_VALUE_INIT;
1483   GParamSpec *pspec;
1484   _ExtendedGDBusPropertyInfo *info;
1485   gboolean ret;
1486   ret = FALSE;
1487   info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_nautilus_shell_search_provider_interface_info.parent_struct, property_name);
1488   g_assert (info != NULL);
1489   pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
1490   if (pspec == NULL)
1491     {
1492       g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
1493     }
1494   else
1495     {
1496       if (info->use_gvariant)
1497         g_value_set_variant (&value, variant);
1498       else
1499         g_dbus_gvariant_to_gvalue (variant, &value);
1500       g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
1501       g_value_unset (&value);
1502       ret = TRUE;
1503     }
1504   return ret;
1505 }
1506 
1507 static const GDBusInterfaceVTable _nautilus_shell_search_provider_skeleton_vtable =
1508 {
1509   _nautilus_shell_search_provider_skeleton_handle_method_call,
1510   _nautilus_shell_search_provider_skeleton_handle_get_property,
1511   _nautilus_shell_search_provider_skeleton_handle_set_property
1512 };
1513 
1514 static GDBusInterfaceInfo *
1515 nautilus_shell_search_provider_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton)
1516 {
1517   return nautilus_shell_search_provider_interface_info ();
1518 }
1519 
1520 static GDBusInterfaceVTable *
1521 nautilus_shell_search_provider_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton)
1522 {
1523   return (GDBusInterfaceVTable *) &_nautilus_shell_search_provider_skeleton_vtable;
1524 }
1525 
1526 static GVariant *
1527 nautilus_shell_search_provider_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
1528 {
1529   NautilusShellSearchProviderSkeleton *skeleton = NAUTILUS_SHELL_SEARCH_PROVIDER_SKELETON (_skeleton);
1530 
1531   GVariantBuilder builder;
1532   guint n;
1533   g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
1534   if (_nautilus_shell_search_provider_interface_info.parent_struct.properties == NULL)
1535     goto out;
1536   for (n = 0; _nautilus_shell_search_provider_interface_info.parent_struct.properties[n] != NULL; n++)
1537     {
1538       GDBusPropertyInfo *info = _nautilus_shell_search_provider_interface_info.parent_struct.properties[n];
1539       if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
1540         {
1541           GVariant *value;
1542           value = _nautilus_shell_search_provider_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.gnome.Shell.SearchProvider", info->name, NULL, skeleton);
1543           if (value != NULL)
1544             {
1545               g_variant_take_ref (value);
1546               g_variant_builder_add (&builder, "{sv}", info->name, value);
1547               g_variant_unref (value);
1548             }
1549         }
1550     }
1551 out:
1552   return g_variant_builder_end (&builder);
1553 }
1554 
1555 static void
1556 nautilus_shell_search_provider_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
1557 {
1558 }
1559 
1560 static void nautilus_shell_search_provider_skeleton_iface_init (NautilusShellSearchProviderIface *iface);
1561 G_DEFINE_TYPE_WITH_CODE (NautilusShellSearchProviderSkeleton, nautilus_shell_search_provider_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
1562                          G_IMPLEMENT_INTERFACE (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER, nautilus_shell_search_provider_skeleton_iface_init));
1563 
1564 static void
1565 nautilus_shell_search_provider_skeleton_finalize (GObject *object)
1566 {
1567   NautilusShellSearchProviderSkeleton *skeleton = NAUTILUS_SHELL_SEARCH_PROVIDER_SKELETON (object);
1568   g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
1569   if (skeleton->priv->changed_properties_idle_source != NULL)
1570     g_source_destroy (skeleton->priv->changed_properties_idle_source);
1571   g_main_context_unref (skeleton->priv->context);
1572   g_mutex_clear (&skeleton->priv->lock);
1573   G_OBJECT_CLASS (nautilus_shell_search_provider_skeleton_parent_class)->finalize (object);
1574 }
1575 
1576 static void
1577 nautilus_shell_search_provider_skeleton_init (NautilusShellSearchProviderSkeleton *skeleton)
1578 {
1579   skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_SKELETON, NautilusShellSearchProviderSkeletonPrivate);
1580   g_mutex_init (&skeleton->priv->lock);
1581   skeleton->priv->context = g_main_context_ref_thread_default ();
1582 }
1583 
1584 static void
1585 nautilus_shell_search_provider_skeleton_class_init (NautilusShellSearchProviderSkeletonClass *klass)
1586 {
1587   GObjectClass *gobject_class;
1588   GDBusInterfaceSkeletonClass *skeleton_class;
1589 
1590   g_type_class_add_private (klass, sizeof (NautilusShellSearchProviderSkeletonPrivate));
1591 
1592   gobject_class = G_OBJECT_CLASS (klass);
1593   gobject_class->finalize = nautilus_shell_search_provider_skeleton_finalize;
1594 
1595   skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
1596   skeleton_class->get_info = nautilus_shell_search_provider_skeleton_dbus_interface_get_info;
1597   skeleton_class->get_properties = nautilus_shell_search_provider_skeleton_dbus_interface_get_properties;
1598   skeleton_class->flush = nautilus_shell_search_provider_skeleton_dbus_interface_flush;
1599   skeleton_class->get_vtable = nautilus_shell_search_provider_skeleton_dbus_interface_get_vtable;
1600 }
1601 
1602 static void
1603 nautilus_shell_search_provider_skeleton_iface_init (NautilusShellSearchProviderIface *iface)
1604 {
1605 }
1606 
1607 /**
1608  * nautilus_shell_search_provider_skeleton_new:
1609  *
1610  * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-gnome-Shell-SearchProvider.top_of_page">org.gnome.Shell.SearchProvider</link>.
1611  *
1612  * Returns: (transfer full) (type NautilusShellSearchProviderSkeleton): The skeleton object.
1613  */
1614 NautilusShellSearchProvider *
1615 nautilus_shell_search_provider_skeleton_new (void)
1616 {
1617   return NAUTILUS_SHELL_SEARCH_PROVIDER (g_object_new (NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER_SKELETON, NULL));
1618 }