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 (¶mv[0], NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER);
1087 g_value_set_object (¶mv[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 (¶mv[n], G_TYPE_VARIANT);
1096 g_value_set_variant (¶mv[n], child);
1097 n++;
1098 }
1099 else
1100 g_dbus_gvariant_to_gvalue (child, ¶mv[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 (¶mv[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 (¶mv[n], NAUTILUS_TYPE_SHELL_SEARCH_PROVIDER);
1400 g_value_set_object (¶mv[n++], skeleton);
1401 g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
1402 g_value_set_object (¶mv[n++], invocation);
1403 if (info->pass_fdlist)
1404 {
1405 #ifdef G_OS_UNIX
1406 g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
1407 g_value_set_object (¶mv[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 (¶mv[n], G_TYPE_VARIANT);
1419 g_value_set_variant (¶mv[n], child);
1420 n++;
1421 }
1422 else
1423 g_dbus_gvariant_to_gvalue (child, ¶mv[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 (¶mv[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 }