480ff72de154e4e61d16c228d19e073d655059d4
[systembsd.git] / src / interfaces / hostnamed / hostnamed-gen.c
1 /*
2 * Generated by gdbus-codegen 2.40.0. 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 "hostnamed-gen.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.freedesktop.hostname1
153 * ------------------------------------------------------------------------
154 */
155
156 /**
157 * SECTION:Hostname1
158 * @title: Hostname1
159 * @short_description: Generated C code for the org.freedesktop.hostname1 D-Bus interface
160 *
161 * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link> D-Bus interface in C.
162 */
163
164 /* ---- Introspection data for org.freedesktop.hostname1 ---- */
165
166 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_hostname_IN_ARG_unnamed_arg0 =
167 {
168 {
169 -1,
170 (gchar *) "unnamed_arg0",
171 (gchar *) "s",
172 NULL
173 },
174 FALSE
175 };
176
177 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_hostname_IN_ARG_unnamed_arg1 =
178 {
179 {
180 -1,
181 (gchar *) "unnamed_arg1",
182 (gchar *) "b",
183 NULL
184 },
185 FALSE
186 };
187
188 static const _ExtendedGDBusArgInfo * const _hostname1_method_info_set_hostname_IN_ARG_pointers[] =
189 {
190 &_hostname1_method_info_set_hostname_IN_ARG_unnamed_arg0,
191 &_hostname1_method_info_set_hostname_IN_ARG_unnamed_arg1,
192 NULL
193 };
194
195 static const _ExtendedGDBusMethodInfo _hostname1_method_info_set_hostname =
196 {
197 {
198 -1,
199 (gchar *) "SetHostname",
200 (GDBusArgInfo **) &_hostname1_method_info_set_hostname_IN_ARG_pointers,
201 NULL,
202 NULL
203 },
204 "handle-set-hostname",
205 FALSE
206 };
207
208 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_static_hostname_IN_ARG_unnamed_arg0 =
209 {
210 {
211 -1,
212 (gchar *) "unnamed_arg0",
213 (gchar *) "s",
214 NULL
215 },
216 FALSE
217 };
218
219 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_static_hostname_IN_ARG_unnamed_arg1 =
220 {
221 {
222 -1,
223 (gchar *) "unnamed_arg1",
224 (gchar *) "b",
225 NULL
226 },
227 FALSE
228 };
229
230 static const _ExtendedGDBusArgInfo * const _hostname1_method_info_set_static_hostname_IN_ARG_pointers[] =
231 {
232 &_hostname1_method_info_set_static_hostname_IN_ARG_unnamed_arg0,
233 &_hostname1_method_info_set_static_hostname_IN_ARG_unnamed_arg1,
234 NULL
235 };
236
237 static const _ExtendedGDBusMethodInfo _hostname1_method_info_set_static_hostname =
238 {
239 {
240 -1,
241 (gchar *) "SetStaticHostname",
242 (GDBusArgInfo **) &_hostname1_method_info_set_static_hostname_IN_ARG_pointers,
243 NULL,
244 NULL
245 },
246 "handle-set-static-hostname",
247 FALSE
248 };
249
250 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_pretty_hostname_IN_ARG_unnamed_arg0 =
251 {
252 {
253 -1,
254 (gchar *) "unnamed_arg0",
255 (gchar *) "s",
256 NULL
257 },
258 FALSE
259 };
260
261 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_pretty_hostname_IN_ARG_unnamed_arg1 =
262 {
263 {
264 -1,
265 (gchar *) "unnamed_arg1",
266 (gchar *) "b",
267 NULL
268 },
269 FALSE
270 };
271
272 static const _ExtendedGDBusArgInfo * const _hostname1_method_info_set_pretty_hostname_IN_ARG_pointers[] =
273 {
274 &_hostname1_method_info_set_pretty_hostname_IN_ARG_unnamed_arg0,
275 &_hostname1_method_info_set_pretty_hostname_IN_ARG_unnamed_arg1,
276 NULL
277 };
278
279 static const _ExtendedGDBusMethodInfo _hostname1_method_info_set_pretty_hostname =
280 {
281 {
282 -1,
283 (gchar *) "SetPrettyHostname",
284 (GDBusArgInfo **) &_hostname1_method_info_set_pretty_hostname_IN_ARG_pointers,
285 NULL,
286 NULL
287 },
288 "handle-set-pretty-hostname",
289 FALSE
290 };
291
292 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_icon_name_IN_ARG_unnamed_arg0 =
293 {
294 {
295 -1,
296 (gchar *) "unnamed_arg0",
297 (gchar *) "s",
298 NULL
299 },
300 FALSE
301 };
302
303 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_icon_name_IN_ARG_unnamed_arg1 =
304 {
305 {
306 -1,
307 (gchar *) "unnamed_arg1",
308 (gchar *) "b",
309 NULL
310 },
311 FALSE
312 };
313
314 static const _ExtendedGDBusArgInfo * const _hostname1_method_info_set_icon_name_IN_ARG_pointers[] =
315 {
316 &_hostname1_method_info_set_icon_name_IN_ARG_unnamed_arg0,
317 &_hostname1_method_info_set_icon_name_IN_ARG_unnamed_arg1,
318 NULL
319 };
320
321 static const _ExtendedGDBusMethodInfo _hostname1_method_info_set_icon_name =
322 {
323 {
324 -1,
325 (gchar *) "SetIconName",
326 (GDBusArgInfo **) &_hostname1_method_info_set_icon_name_IN_ARG_pointers,
327 NULL,
328 NULL
329 },
330 "handle-set-icon-name",
331 FALSE
332 };
333
334 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_chassis_IN_ARG_unnamed_arg0 =
335 {
336 {
337 -1,
338 (gchar *) "unnamed_arg0",
339 (gchar *) "s",
340 NULL
341 },
342 FALSE
343 };
344
345 static const _ExtendedGDBusArgInfo _hostname1_method_info_set_chassis_IN_ARG_unnamed_arg1 =
346 {
347 {
348 -1,
349 (gchar *) "unnamed_arg1",
350 (gchar *) "b",
351 NULL
352 },
353 FALSE
354 };
355
356 static const _ExtendedGDBusArgInfo * const _hostname1_method_info_set_chassis_IN_ARG_pointers[] =
357 {
358 &_hostname1_method_info_set_chassis_IN_ARG_unnamed_arg0,
359 &_hostname1_method_info_set_chassis_IN_ARG_unnamed_arg1,
360 NULL
361 };
362
363 static const _ExtendedGDBusMethodInfo _hostname1_method_info_set_chassis =
364 {
365 {
366 -1,
367 (gchar *) "SetChassis",
368 (GDBusArgInfo **) &_hostname1_method_info_set_chassis_IN_ARG_pointers,
369 NULL,
370 NULL
371 },
372 "handle-set-chassis",
373 FALSE
374 };
375
376 static const _ExtendedGDBusMethodInfo * const _hostname1_method_info_pointers[] =
377 {
378 &_hostname1_method_info_set_hostname,
379 &_hostname1_method_info_set_static_hostname,
380 &_hostname1_method_info_set_pretty_hostname,
381 &_hostname1_method_info_set_icon_name,
382 &_hostname1_method_info_set_chassis,
383 NULL
384 };
385
386 static const GDBusAnnotationInfo _hostname1_property_hostname_annotation_info_0 =
387 {
388 -1,
389 (gchar *) "org.freedesktop.DBus.Property.EmitsChangedSignal",
390 (gchar *) "false",
391 NULL
392 };
393
394 static const GDBusAnnotationInfo * const _hostname1_property_hostname_annotation_info_pointers[] =
395 {
396 &_hostname1_property_hostname_annotation_info_0,
397 NULL
398 };
399
400 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_hostname =
401 {
402 {
403 -1,
404 (gchar *) "Hostname",
405 (gchar *) "s",
406 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
407 (GDBusAnnotationInfo **) &_hostname1_property_hostname_annotation_info_pointers
408 },
409 "hostname",
410 FALSE
411 };
412
413 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_static_hostname =
414 {
415 {
416 -1,
417 (gchar *) "StaticHostname",
418 (gchar *) "s",
419 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
420 NULL
421 },
422 "static-hostname",
423 FALSE
424 };
425
426 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_pretty_hostname =
427 {
428 {
429 -1,
430 (gchar *) "PrettyHostname",
431 (gchar *) "s",
432 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
433 NULL
434 },
435 "pretty-hostname",
436 FALSE
437 };
438
439 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_icon_name =
440 {
441 {
442 -1,
443 (gchar *) "IconName",
444 (gchar *) "s",
445 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
446 NULL
447 },
448 "icon-name",
449 FALSE
450 };
451
452 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_chassis =
453 {
454 {
455 -1,
456 (gchar *) "Chassis",
457 (gchar *) "s",
458 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
459 NULL
460 },
461 "chassis",
462 FALSE
463 };
464
465 static const GDBusAnnotationInfo _hostname1_property_kernel_name_annotation_info_0 =
466 {
467 -1,
468 (gchar *) "org.freedesktop.DBus.Property.EmitsChangedSignal",
469 (gchar *) "const",
470 NULL
471 };
472
473 static const GDBusAnnotationInfo * const _hostname1_property_kernel_name_annotation_info_pointers[] =
474 {
475 &_hostname1_property_kernel_name_annotation_info_0,
476 NULL
477 };
478
479 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_kernel_name =
480 {
481 {
482 -1,
483 (gchar *) "KernelName",
484 (gchar *) "s",
485 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
486 (GDBusAnnotationInfo **) &_hostname1_property_kernel_name_annotation_info_pointers
487 },
488 "kernel-name",
489 FALSE
490 };
491
492 static const GDBusAnnotationInfo _hostname1_property_kernel_release_annotation_info_0 =
493 {
494 -1,
495 (gchar *) "org.freedesktop.DBus.Property.EmitsChangedSignal",
496 (gchar *) "const",
497 NULL
498 };
499
500 static const GDBusAnnotationInfo * const _hostname1_property_kernel_release_annotation_info_pointers[] =
501 {
502 &_hostname1_property_kernel_release_annotation_info_0,
503 NULL
504 };
505
506 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_kernel_release =
507 {
508 {
509 -1,
510 (gchar *) "KernelRelease",
511 (gchar *) "s",
512 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
513 (GDBusAnnotationInfo **) &_hostname1_property_kernel_release_annotation_info_pointers
514 },
515 "kernel-release",
516 FALSE
517 };
518
519 static const GDBusAnnotationInfo _hostname1_property_kernel_version_annotation_info_0 =
520 {
521 -1,
522 (gchar *) "org.freedesktop.DBus.Property.EmitsChangedSignal",
523 (gchar *) "const",
524 NULL
525 };
526
527 static const GDBusAnnotationInfo * const _hostname1_property_kernel_version_annotation_info_pointers[] =
528 {
529 &_hostname1_property_kernel_version_annotation_info_0,
530 NULL
531 };
532
533 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_kernel_version =
534 {
535 {
536 -1,
537 (gchar *) "KernelVersion",
538 (gchar *) "s",
539 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
540 (GDBusAnnotationInfo **) &_hostname1_property_kernel_version_annotation_info_pointers
541 },
542 "kernel-version",
543 FALSE
544 };
545
546 static const GDBusAnnotationInfo _hostname1_property_operating_system_pretty_name_annotation_info_0 =
547 {
548 -1,
549 (gchar *) "org.freedesktop.DBus.Property.EmitsChangedSignal",
550 (gchar *) "const",
551 NULL
552 };
553
554 static const GDBusAnnotationInfo * const _hostname1_property_operating_system_pretty_name_annotation_info_pointers[] =
555 {
556 &_hostname1_property_operating_system_pretty_name_annotation_info_0,
557 NULL
558 };
559
560 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_operating_system_pretty_name =
561 {
562 {
563 -1,
564 (gchar *) "OperatingSystemPrettyName",
565 (gchar *) "s",
566 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
567 (GDBusAnnotationInfo **) &_hostname1_property_operating_system_pretty_name_annotation_info_pointers
568 },
569 "operating-system-pretty-name",
570 FALSE
571 };
572
573 static const GDBusAnnotationInfo _hostname1_property_operating_system_cpename_annotation_info_0 =
574 {
575 -1,
576 (gchar *) "org.freedesktop.DBus.Property.EmitsChangedSignal",
577 (gchar *) "const",
578 NULL
579 };
580
581 static const GDBusAnnotationInfo * const _hostname1_property_operating_system_cpename_annotation_info_pointers[] =
582 {
583 &_hostname1_property_operating_system_cpename_annotation_info_0,
584 NULL
585 };
586
587 static const _ExtendedGDBusPropertyInfo _hostname1_property_info_operating_system_cpename =
588 {
589 {
590 -1,
591 (gchar *) "OperatingSystemCPEName",
592 (gchar *) "s",
593 G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
594 (GDBusAnnotationInfo **) &_hostname1_property_operating_system_cpename_annotation_info_pointers
595 },
596 "operating-system-cpename",
597 FALSE
598 };
599
600 static const _ExtendedGDBusPropertyInfo * const _hostname1_property_info_pointers[] =
601 {
602 &_hostname1_property_info_hostname,
603 &_hostname1_property_info_static_hostname,
604 &_hostname1_property_info_pretty_hostname,
605 &_hostname1_property_info_icon_name,
606 &_hostname1_property_info_chassis,
607 &_hostname1_property_info_kernel_name,
608 &_hostname1_property_info_kernel_release,
609 &_hostname1_property_info_kernel_version,
610 &_hostname1_property_info_operating_system_pretty_name,
611 &_hostname1_property_info_operating_system_cpename,
612 NULL
613 };
614
615 static const _ExtendedGDBusInterfaceInfo _hostname1_interface_info =
616 {
617 {
618 -1,
619 (gchar *) "org.freedesktop.hostname1",
620 (GDBusMethodInfo **) &_hostname1_method_info_pointers,
621 NULL,
622 (GDBusPropertyInfo **) &_hostname1_property_info_pointers,
623 NULL
624 },
625 "hostname1",
626 };
627
628
629 /**
630 * hostname1_interface_info:
631 *
632 * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link> D-Bus interface.
633 *
634 * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
635 */
636 GDBusInterfaceInfo *
637 hostname1_interface_info (void)
638 {
639 return (GDBusInterfaceInfo *) &_hostname1_interface_info.parent_struct;
640 }
641
642 /**
643 * hostname1_override_properties:
644 * @klass: The class structure for a #GObject<!-- -->-derived class.
645 * @property_id_begin: The property id to assign to the first overridden property.
646 *
647 * Overrides all #GObject properties in the #Hostname1 interface for a concrete class.
648 * The properties are overridden in the order they are defined.
649 *
650 * Returns: The last property id.
651 */
652 guint
653 hostname1_override_properties (GObjectClass *klass, guint property_id_begin)
654 {
655 g_object_class_override_property (klass, property_id_begin++, "hostname");
656 g_object_class_override_property (klass, property_id_begin++, "static-hostname");
657 g_object_class_override_property (klass, property_id_begin++, "pretty-hostname");
658 g_object_class_override_property (klass, property_id_begin++, "icon-name");
659 g_object_class_override_property (klass, property_id_begin++, "chassis");
660 g_object_class_override_property (klass, property_id_begin++, "kernel-name");
661 g_object_class_override_property (klass, property_id_begin++, "kernel-release");
662 g_object_class_override_property (klass, property_id_begin++, "kernel-version");
663 g_object_class_override_property (klass, property_id_begin++, "operating-system-pretty-name");
664 g_object_class_override_property (klass, property_id_begin++, "operating-system-cpename");
665 return property_id_begin - 1;
666 }
667
668
669
670 /**
671 * Hostname1:
672 *
673 * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link>.
674 */
675
676 /**
677 * Hostname1Iface:
678 * @parent_iface: The parent interface.
679 * @handle_set_chassis: Handler for the #Hostname1::handle-set-chassis signal.
680 * @handle_set_hostname: Handler for the #Hostname1::handle-set-hostname signal.
681 * @handle_set_icon_name: Handler for the #Hostname1::handle-set-icon-name signal.
682 * @handle_set_pretty_hostname: Handler for the #Hostname1::handle-set-pretty-hostname signal.
683 * @handle_set_static_hostname: Handler for the #Hostname1::handle-set-static-hostname signal.
684 * @get_chassis: Getter for the #Hostname1:chassis property.
685 * @get_hostname: Getter for the #Hostname1:hostname property.
686 * @get_icon_name: Getter for the #Hostname1:icon-name property.
687 * @get_kernel_name: Getter for the #Hostname1:kernel-name property.
688 * @get_kernel_release: Getter for the #Hostname1:kernel-release property.
689 * @get_kernel_version: Getter for the #Hostname1:kernel-version property.
690 * @get_operating_system_cpename: Getter for the #Hostname1:operating-system-cpename property.
691 * @get_operating_system_pretty_name: Getter for the #Hostname1:operating-system-pretty-name property.
692 * @get_pretty_hostname: Getter for the #Hostname1:pretty-hostname property.
693 * @get_static_hostname: Getter for the #Hostname1:static-hostname property.
694 *
695 * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link>.
696 */
697
698 typedef Hostname1Iface Hostname1Interface;
699 G_DEFINE_INTERFACE (Hostname1, hostname1, G_TYPE_OBJECT);
700
701 static void
702 hostname1_default_init (Hostname1Iface *iface)
703 {
704 /* GObject signals for incoming D-Bus method calls: */
705 /**
706 * Hostname1::handle-set-hostname:
707 * @object: A #Hostname1.
708 * @invocation: A #GDBusMethodInvocation.
709 * @arg_unnamed_arg0: Argument passed by remote caller.
710 * @arg_unnamed_arg1: Argument passed by remote caller.
711 *
712 * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-hostname1.SetHostname">SetHostname()</link> D-Bus method.
713 *
714 * 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 hostname1_complete_set_hostname() 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.
715 *
716 * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
717 */
718 g_signal_new ("handle-set-hostname",
719 G_TYPE_FROM_INTERFACE (iface),
720 G_SIGNAL_RUN_LAST,
721 G_STRUCT_OFFSET (Hostname1Iface, handle_set_hostname),
722 g_signal_accumulator_true_handled,
723 NULL,
724 g_cclosure_marshal_generic,
725 G_TYPE_BOOLEAN,
726 3,
727 G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_BOOLEAN);
728
729 /**
730 * Hostname1::handle-set-static-hostname:
731 * @object: A #Hostname1.
732 * @invocation: A #GDBusMethodInvocation.
733 * @arg_unnamed_arg0: Argument passed by remote caller.
734 * @arg_unnamed_arg1: Argument passed by remote caller.
735 *
736 * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-hostname1.SetStaticHostname">SetStaticHostname()</link> D-Bus method.
737 *
738 * 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 hostname1_complete_set_static_hostname() 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.
739 *
740 * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
741 */
742 g_signal_new ("handle-set-static-hostname",
743 G_TYPE_FROM_INTERFACE (iface),
744 G_SIGNAL_RUN_LAST,
745 G_STRUCT_OFFSET (Hostname1Iface, handle_set_static_hostname),
746 g_signal_accumulator_true_handled,
747 NULL,
748 g_cclosure_marshal_generic,
749 G_TYPE_BOOLEAN,
750 3,
751 G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_BOOLEAN);
752
753 /**
754 * Hostname1::handle-set-pretty-hostname:
755 * @object: A #Hostname1.
756 * @invocation: A #GDBusMethodInvocation.
757 * @arg_unnamed_arg0: Argument passed by remote caller.
758 * @arg_unnamed_arg1: Argument passed by remote caller.
759 *
760 * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-hostname1.SetPrettyHostname">SetPrettyHostname()</link> D-Bus method.
761 *
762 * 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 hostname1_complete_set_pretty_hostname() 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.
763 *
764 * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
765 */
766 g_signal_new ("handle-set-pretty-hostname",
767 G_TYPE_FROM_INTERFACE (iface),
768 G_SIGNAL_RUN_LAST,
769 G_STRUCT_OFFSET (Hostname1Iface, handle_set_pretty_hostname),
770 g_signal_accumulator_true_handled,
771 NULL,
772 g_cclosure_marshal_generic,
773 G_TYPE_BOOLEAN,
774 3,
775 G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_BOOLEAN);
776
777 /**
778 * Hostname1::handle-set-icon-name:
779 * @object: A #Hostname1.
780 * @invocation: A #GDBusMethodInvocation.
781 * @arg_unnamed_arg0: Argument passed by remote caller.
782 * @arg_unnamed_arg1: Argument passed by remote caller.
783 *
784 * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-hostname1.SetIconName">SetIconName()</link> D-Bus method.
785 *
786 * 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 hostname1_complete_set_icon_name() 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.
787 *
788 * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
789 */
790 g_signal_new ("handle-set-icon-name",
791 G_TYPE_FROM_INTERFACE (iface),
792 G_SIGNAL_RUN_LAST,
793 G_STRUCT_OFFSET (Hostname1Iface, handle_set_icon_name),
794 g_signal_accumulator_true_handled,
795 NULL,
796 g_cclosure_marshal_generic,
797 G_TYPE_BOOLEAN,
798 3,
799 G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_BOOLEAN);
800
801 /**
802 * Hostname1::handle-set-chassis:
803 * @object: A #Hostname1.
804 * @invocation: A #GDBusMethodInvocation.
805 * @arg_unnamed_arg0: Argument passed by remote caller.
806 * @arg_unnamed_arg1: Argument passed by remote caller.
807 *
808 * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-hostname1.SetChassis">SetChassis()</link> D-Bus method.
809 *
810 * 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 hostname1_complete_set_chassis() 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.
811 *
812 * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
813 */
814 g_signal_new ("handle-set-chassis",
815 G_TYPE_FROM_INTERFACE (iface),
816 G_SIGNAL_RUN_LAST,
817 G_STRUCT_OFFSET (Hostname1Iface, handle_set_chassis),
818 g_signal_accumulator_true_handled,
819 NULL,
820 g_cclosure_marshal_generic,
821 G_TYPE_BOOLEAN,
822 3,
823 G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_BOOLEAN);
824
825 /* GObject properties for D-Bus properties: */
826 /**
827 * Hostname1:hostname:
828 *
829 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.Hostname">"Hostname"</link>.
830 *
831 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
832 */
833 g_object_interface_install_property (iface,
834 g_param_spec_string ("hostname", "Hostname", "Hostname", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
835 /**
836 * Hostname1:static-hostname:
837 *
838 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.StaticHostname">"StaticHostname"</link>.
839 *
840 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
841 */
842 g_object_interface_install_property (iface,
843 g_param_spec_string ("static-hostname", "StaticHostname", "StaticHostname", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
844 /**
845 * Hostname1:pretty-hostname:
846 *
847 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.PrettyHostname">"PrettyHostname"</link>.
848 *
849 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
850 */
851 g_object_interface_install_property (iface,
852 g_param_spec_string ("pretty-hostname", "PrettyHostname", "PrettyHostname", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
853 /**
854 * Hostname1:icon-name:
855 *
856 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.IconName">"IconName"</link>.
857 *
858 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
859 */
860 g_object_interface_install_property (iface,
861 g_param_spec_string ("icon-name", "IconName", "IconName", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
862 /**
863 * Hostname1:chassis:
864 *
865 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.Chassis">"Chassis"</link>.
866 *
867 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
868 */
869 g_object_interface_install_property (iface,
870 g_param_spec_string ("chassis", "Chassis", "Chassis", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
871 /**
872 * Hostname1:kernel-name:
873 *
874 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.KernelName">"KernelName"</link>.
875 *
876 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
877 */
878 g_object_interface_install_property (iface,
879 g_param_spec_string ("kernel-name", "KernelName", "KernelName", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
880 /**
881 * Hostname1:kernel-release:
882 *
883 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.KernelRelease">"KernelRelease"</link>.
884 *
885 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
886 */
887 g_object_interface_install_property (iface,
888 g_param_spec_string ("kernel-release", "KernelRelease", "KernelRelease", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
889 /**
890 * Hostname1:kernel-version:
891 *
892 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.KernelVersion">"KernelVersion"</link>.
893 *
894 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
895 */
896 g_object_interface_install_property (iface,
897 g_param_spec_string ("kernel-version", "KernelVersion", "KernelVersion", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
898 /**
899 * Hostname1:operating-system-pretty-name:
900 *
901 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemPrettyName">"OperatingSystemPrettyName"</link>.
902 *
903 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
904 */
905 g_object_interface_install_property (iface,
906 g_param_spec_string ("operating-system-pretty-name", "OperatingSystemPrettyName", "OperatingSystemPrettyName", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
907 /**
908 * Hostname1:operating-system-cpename:
909 *
910 * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemCPEName">"OperatingSystemCPEName"</link>.
911 *
912 * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.
913 */
914 g_object_interface_install_property (iface,
915 g_param_spec_string ("operating-system-cpename", "OperatingSystemCPEName", "OperatingSystemCPEName", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
916 }
917
918 /**
919 * hostname1_get_hostname: (skip)
920 * @object: A #Hostname1.
921 *
922 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.Hostname">"Hostname"</link> D-Bus property.
923 *
924 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
925 *
926 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_hostname() if on another thread.</warning>
927 *
928 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
929 */
930 const gchar *
931 hostname1_get_hostname (Hostname1 *object)
932 {
933 return HOSTNAME1_GET_IFACE (object)->get_hostname (object);
934 }
935
936 /**
937 * hostname1_dup_hostname: (skip)
938 * @object: A #Hostname1.
939 *
940 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.Hostname">"Hostname"</link> D-Bus property.
941 *
942 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
943 *
944 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
945 */
946 gchar *
947 hostname1_dup_hostname (Hostname1 *object)
948 {
949 gchar *value;
950 g_object_get (G_OBJECT (object), "hostname", &value, NULL);
951 return value;
952 }
953
954 /**
955 * hostname1_set_hostname: (skip)
956 * @object: A #Hostname1.
957 * @value: The value to set.
958 *
959 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.Hostname">"Hostname"</link> D-Bus property to @value.
960 *
961 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
962 */
963 void
964 hostname1_set_hostname (Hostname1 *object, const gchar *value)
965 {
966 g_object_set (G_OBJECT (object), "hostname", value, NULL);
967 }
968
969 /**
970 * hostname1_get_static_hostname: (skip)
971 * @object: A #Hostname1.
972 *
973 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.StaticHostname">"StaticHostname"</link> D-Bus property.
974 *
975 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
976 *
977 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_static_hostname() if on another thread.</warning>
978 *
979 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
980 */
981 const gchar *
982 hostname1_get_static_hostname (Hostname1 *object)
983 {
984 return HOSTNAME1_GET_IFACE (object)->get_static_hostname (object);
985 }
986
987 /**
988 * hostname1_dup_static_hostname: (skip)
989 * @object: A #Hostname1.
990 *
991 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.StaticHostname">"StaticHostname"</link> D-Bus property.
992 *
993 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
994 *
995 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
996 */
997 gchar *
998 hostname1_dup_static_hostname (Hostname1 *object)
999 {
1000 gchar *value;
1001 g_object_get (G_OBJECT (object), "static-hostname", &value, NULL);
1002 return value;
1003 }
1004
1005 /**
1006 * hostname1_set_static_hostname: (skip)
1007 * @object: A #Hostname1.
1008 * @value: The value to set.
1009 *
1010 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.StaticHostname">"StaticHostname"</link> D-Bus property to @value.
1011 *
1012 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1013 */
1014 void
1015 hostname1_set_static_hostname (Hostname1 *object, const gchar *value)
1016 {
1017 g_object_set (G_OBJECT (object), "static-hostname", value, NULL);
1018 }
1019
1020 /**
1021 * hostname1_get_pretty_hostname: (skip)
1022 * @object: A #Hostname1.
1023 *
1024 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.PrettyHostname">"PrettyHostname"</link> D-Bus property.
1025 *
1026 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1027 *
1028 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_pretty_hostname() if on another thread.</warning>
1029 *
1030 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1031 */
1032 const gchar *
1033 hostname1_get_pretty_hostname (Hostname1 *object)
1034 {
1035 return HOSTNAME1_GET_IFACE (object)->get_pretty_hostname (object);
1036 }
1037
1038 /**
1039 * hostname1_dup_pretty_hostname: (skip)
1040 * @object: A #Hostname1.
1041 *
1042 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.PrettyHostname">"PrettyHostname"</link> D-Bus property.
1043 *
1044 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1045 *
1046 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1047 */
1048 gchar *
1049 hostname1_dup_pretty_hostname (Hostname1 *object)
1050 {
1051 gchar *value;
1052 g_object_get (G_OBJECT (object), "pretty-hostname", &value, NULL);
1053 return value;
1054 }
1055
1056 /**
1057 * hostname1_set_pretty_hostname: (skip)
1058 * @object: A #Hostname1.
1059 * @value: The value to set.
1060 *
1061 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.PrettyHostname">"PrettyHostname"</link> D-Bus property to @value.
1062 *
1063 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1064 */
1065 void
1066 hostname1_set_pretty_hostname (Hostname1 *object, const gchar *value)
1067 {
1068 g_object_set (G_OBJECT (object), "pretty-hostname", value, NULL);
1069 }
1070
1071 /**
1072 * hostname1_get_icon_name: (skip)
1073 * @object: A #Hostname1.
1074 *
1075 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.IconName">"IconName"</link> D-Bus property.
1076 *
1077 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1078 *
1079 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_icon_name() if on another thread.</warning>
1080 *
1081 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1082 */
1083 const gchar *
1084 hostname1_get_icon_name (Hostname1 *object)
1085 {
1086 return HOSTNAME1_GET_IFACE (object)->get_icon_name (object);
1087 }
1088
1089 /**
1090 * hostname1_dup_icon_name: (skip)
1091 * @object: A #Hostname1.
1092 *
1093 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.IconName">"IconName"</link> D-Bus property.
1094 *
1095 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1096 *
1097 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1098 */
1099 gchar *
1100 hostname1_dup_icon_name (Hostname1 *object)
1101 {
1102 gchar *value;
1103 g_object_get (G_OBJECT (object), "icon-name", &value, NULL);
1104 return value;
1105 }
1106
1107 /**
1108 * hostname1_set_icon_name: (skip)
1109 * @object: A #Hostname1.
1110 * @value: The value to set.
1111 *
1112 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.IconName">"IconName"</link> D-Bus property to @value.
1113 *
1114 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1115 */
1116 void
1117 hostname1_set_icon_name (Hostname1 *object, const gchar *value)
1118 {
1119 g_object_set (G_OBJECT (object), "icon-name", value, NULL);
1120 }
1121
1122 /**
1123 * hostname1_get_chassis: (skip)
1124 * @object: A #Hostname1.
1125 *
1126 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.Chassis">"Chassis"</link> D-Bus property.
1127 *
1128 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1129 *
1130 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_chassis() if on another thread.</warning>
1131 *
1132 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1133 */
1134 const gchar *
1135 hostname1_get_chassis (Hostname1 *object)
1136 {
1137 return HOSTNAME1_GET_IFACE (object)->get_chassis (object);
1138 }
1139
1140 /**
1141 * hostname1_dup_chassis: (skip)
1142 * @object: A #Hostname1.
1143 *
1144 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.Chassis">"Chassis"</link> D-Bus property.
1145 *
1146 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1147 *
1148 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1149 */
1150 gchar *
1151 hostname1_dup_chassis (Hostname1 *object)
1152 {
1153 gchar *value;
1154 g_object_get (G_OBJECT (object), "chassis", &value, NULL);
1155 return value;
1156 }
1157
1158 /**
1159 * hostname1_set_chassis: (skip)
1160 * @object: A #Hostname1.
1161 * @value: The value to set.
1162 *
1163 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.Chassis">"Chassis"</link> D-Bus property to @value.
1164 *
1165 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1166 */
1167 void
1168 hostname1_set_chassis (Hostname1 *object, const gchar *value)
1169 {
1170 g_object_set (G_OBJECT (object), "chassis", value, NULL);
1171 }
1172
1173 /**
1174 * hostname1_get_kernel_name: (skip)
1175 * @object: A #Hostname1.
1176 *
1177 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelName">"KernelName"</link> D-Bus property.
1178 *
1179 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1180 *
1181 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_kernel_name() if on another thread.</warning>
1182 *
1183 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1184 */
1185 const gchar *
1186 hostname1_get_kernel_name (Hostname1 *object)
1187 {
1188 return HOSTNAME1_GET_IFACE (object)->get_kernel_name (object);
1189 }
1190
1191 /**
1192 * hostname1_dup_kernel_name: (skip)
1193 * @object: A #Hostname1.
1194 *
1195 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelName">"KernelName"</link> D-Bus property.
1196 *
1197 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1198 *
1199 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1200 */
1201 gchar *
1202 hostname1_dup_kernel_name (Hostname1 *object)
1203 {
1204 gchar *value;
1205 g_object_get (G_OBJECT (object), "kernel-name", &value, NULL);
1206 return value;
1207 }
1208
1209 /**
1210 * hostname1_set_kernel_name: (skip)
1211 * @object: A #Hostname1.
1212 * @value: The value to set.
1213 *
1214 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelName">"KernelName"</link> D-Bus property to @value.
1215 *
1216 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1217 */
1218 void
1219 hostname1_set_kernel_name (Hostname1 *object, const gchar *value)
1220 {
1221 g_object_set (G_OBJECT (object), "kernel-name", value, NULL);
1222 }
1223
1224 /**
1225 * hostname1_get_kernel_release: (skip)
1226 * @object: A #Hostname1.
1227 *
1228 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelRelease">"KernelRelease"</link> D-Bus property.
1229 *
1230 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1231 *
1232 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_kernel_release() if on another thread.</warning>
1233 *
1234 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1235 */
1236 const gchar *
1237 hostname1_get_kernel_release (Hostname1 *object)
1238 {
1239 return HOSTNAME1_GET_IFACE (object)->get_kernel_release (object);
1240 }
1241
1242 /**
1243 * hostname1_dup_kernel_release: (skip)
1244 * @object: A #Hostname1.
1245 *
1246 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelRelease">"KernelRelease"</link> D-Bus property.
1247 *
1248 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1249 *
1250 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1251 */
1252 gchar *
1253 hostname1_dup_kernel_release (Hostname1 *object)
1254 {
1255 gchar *value;
1256 g_object_get (G_OBJECT (object), "kernel-release", &value, NULL);
1257 return value;
1258 }
1259
1260 /**
1261 * hostname1_set_kernel_release: (skip)
1262 * @object: A #Hostname1.
1263 * @value: The value to set.
1264 *
1265 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelRelease">"KernelRelease"</link> D-Bus property to @value.
1266 *
1267 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1268 */
1269 void
1270 hostname1_set_kernel_release (Hostname1 *object, const gchar *value)
1271 {
1272 g_object_set (G_OBJECT (object), "kernel-release", value, NULL);
1273 }
1274
1275 /**
1276 * hostname1_get_kernel_version: (skip)
1277 * @object: A #Hostname1.
1278 *
1279 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelVersion">"KernelVersion"</link> D-Bus property.
1280 *
1281 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1282 *
1283 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_kernel_version() if on another thread.</warning>
1284 *
1285 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1286 */
1287 const gchar *
1288 hostname1_get_kernel_version (Hostname1 *object)
1289 {
1290 return HOSTNAME1_GET_IFACE (object)->get_kernel_version (object);
1291 }
1292
1293 /**
1294 * hostname1_dup_kernel_version: (skip)
1295 * @object: A #Hostname1.
1296 *
1297 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelVersion">"KernelVersion"</link> D-Bus property.
1298 *
1299 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1300 *
1301 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1302 */
1303 gchar *
1304 hostname1_dup_kernel_version (Hostname1 *object)
1305 {
1306 gchar *value;
1307 g_object_get (G_OBJECT (object), "kernel-version", &value, NULL);
1308 return value;
1309 }
1310
1311 /**
1312 * hostname1_set_kernel_version: (skip)
1313 * @object: A #Hostname1.
1314 * @value: The value to set.
1315 *
1316 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.KernelVersion">"KernelVersion"</link> D-Bus property to @value.
1317 *
1318 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1319 */
1320 void
1321 hostname1_set_kernel_version (Hostname1 *object, const gchar *value)
1322 {
1323 g_object_set (G_OBJECT (object), "kernel-version", value, NULL);
1324 }
1325
1326 /**
1327 * hostname1_get_operating_system_pretty_name: (skip)
1328 * @object: A #Hostname1.
1329 *
1330 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemPrettyName">"OperatingSystemPrettyName"</link> D-Bus property.
1331 *
1332 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1333 *
1334 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_operating_system_pretty_name() if on another thread.</warning>
1335 *
1336 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1337 */
1338 const gchar *
1339 hostname1_get_operating_system_pretty_name (Hostname1 *object)
1340 {
1341 return HOSTNAME1_GET_IFACE (object)->get_operating_system_pretty_name (object);
1342 }
1343
1344 /**
1345 * hostname1_dup_operating_system_pretty_name: (skip)
1346 * @object: A #Hostname1.
1347 *
1348 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemPrettyName">"OperatingSystemPrettyName"</link> D-Bus property.
1349 *
1350 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1351 *
1352 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1353 */
1354 gchar *
1355 hostname1_dup_operating_system_pretty_name (Hostname1 *object)
1356 {
1357 gchar *value;
1358 g_object_get (G_OBJECT (object), "operating-system-pretty-name", &value, NULL);
1359 return value;
1360 }
1361
1362 /**
1363 * hostname1_set_operating_system_pretty_name: (skip)
1364 * @object: A #Hostname1.
1365 * @value: The value to set.
1366 *
1367 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemPrettyName">"OperatingSystemPrettyName"</link> D-Bus property to @value.
1368 *
1369 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1370 */
1371 void
1372 hostname1_set_operating_system_pretty_name (Hostname1 *object, const gchar *value)
1373 {
1374 g_object_set (G_OBJECT (object), "operating-system-pretty-name", value, NULL);
1375 }
1376
1377 /**
1378 * hostname1_get_operating_system_cpename: (skip)
1379 * @object: A #Hostname1.
1380 *
1381 * Gets the value of the <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemCPEName">"OperatingSystemCPEName"</link> D-Bus property.
1382 *
1383 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1384 *
1385 * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use hostname1_dup_operating_system_cpename() if on another thread.</warning>
1386 *
1387 * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
1388 */
1389 const gchar *
1390 hostname1_get_operating_system_cpename (Hostname1 *object)
1391 {
1392 return HOSTNAME1_GET_IFACE (object)->get_operating_system_cpename (object);
1393 }
1394
1395 /**
1396 * hostname1_dup_operating_system_cpename: (skip)
1397 * @object: A #Hostname1.
1398 *
1399 * Gets a copy of the <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemCPEName">"OperatingSystemCPEName"</link> D-Bus property.
1400 *
1401 * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.
1402 *
1403 * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free().
1404 */
1405 gchar *
1406 hostname1_dup_operating_system_cpename (Hostname1 *object)
1407 {
1408 gchar *value;
1409 g_object_get (G_OBJECT (object), "operating-system-cpename", &value, NULL);
1410 return value;
1411 }
1412
1413 /**
1414 * hostname1_set_operating_system_cpename: (skip)
1415 * @object: A #Hostname1.
1416 * @value: The value to set.
1417 *
1418 * Sets the <link linkend="gdbus-property-org-freedesktop-hostname1.OperatingSystemCPEName">"OperatingSystemCPEName"</link> D-Bus property to @value.
1419 *
1420 * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
1421 */
1422 void
1423 hostname1_set_operating_system_cpename (Hostname1 *object, const gchar *value)
1424 {
1425 g_object_set (G_OBJECT (object), "operating-system-cpename", value, NULL);
1426 }
1427
1428 /**
1429 * hostname1_call_set_hostname:
1430 * @proxy: A #Hostname1Proxy.
1431 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1432 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1433 * @cancellable: (allow-none): A #GCancellable or %NULL.
1434 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
1435 * @user_data: User data to pass to @callback.
1436 *
1437 * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetHostname">SetHostname()</link> D-Bus method on @proxy.
1438 * 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.
1439 * You can then call hostname1_call_set_hostname_finish() to get the result of the operation.
1440 *
1441 * See hostname1_call_set_hostname_sync() for the synchronous, blocking version of this method.
1442 */
1443 void
1444 hostname1_call_set_hostname (
1445 Hostname1 *proxy,
1446 const gchar *arg_unnamed_arg0,
1447 gboolean arg_unnamed_arg1,
1448 GCancellable *cancellable,
1449 GAsyncReadyCallback callback,
1450 gpointer user_data)
1451 {
1452 g_dbus_proxy_call (G_DBUS_PROXY (proxy),
1453 "SetHostname",
1454 g_variant_new ("(sb)",
1455 arg_unnamed_arg0,
1456 arg_unnamed_arg1),
1457 G_DBUS_CALL_FLAGS_NONE,
1458 -1,
1459 cancellable,
1460 callback,
1461 user_data);
1462 }
1463
1464 /**
1465 * hostname1_call_set_hostname_finish:
1466 * @proxy: A #Hostname1Proxy.
1467 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_call_set_hostname().
1468 * @error: Return location for error or %NULL.
1469 *
1470 * Finishes an operation started with hostname1_call_set_hostname().
1471 *
1472 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1473 */
1474 gboolean
1475 hostname1_call_set_hostname_finish (
1476 Hostname1 *proxy,
1477 GAsyncResult *res,
1478 GError **error)
1479 {
1480 GVariant *_ret;
1481 _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
1482 if (_ret == NULL)
1483 goto _out;
1484 g_variant_get (_ret,
1485 "()");
1486 g_variant_unref (_ret);
1487 _out:
1488 return _ret != NULL;
1489 }
1490
1491 /**
1492 * hostname1_call_set_hostname_sync:
1493 * @proxy: A #Hostname1Proxy.
1494 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1495 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1496 * @cancellable: (allow-none): A #GCancellable or %NULL.
1497 * @error: Return location for error or %NULL.
1498 *
1499 * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetHostname">SetHostname()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
1500 *
1501 * See hostname1_call_set_hostname() for the asynchronous version of this method.
1502 *
1503 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1504 */
1505 gboolean
1506 hostname1_call_set_hostname_sync (
1507 Hostname1 *proxy,
1508 const gchar *arg_unnamed_arg0,
1509 gboolean arg_unnamed_arg1,
1510 GCancellable *cancellable,
1511 GError **error)
1512 {
1513 GVariant *_ret;
1514 _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
1515 "SetHostname",
1516 g_variant_new ("(sb)",
1517 arg_unnamed_arg0,
1518 arg_unnamed_arg1),
1519 G_DBUS_CALL_FLAGS_NONE,
1520 -1,
1521 cancellable,
1522 error);
1523 if (_ret == NULL)
1524 goto _out;
1525 g_variant_get (_ret,
1526 "()");
1527 g_variant_unref (_ret);
1528 _out:
1529 return _ret != NULL;
1530 }
1531
1532 /**
1533 * hostname1_call_set_static_hostname:
1534 * @proxy: A #Hostname1Proxy.
1535 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1536 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1537 * @cancellable: (allow-none): A #GCancellable or %NULL.
1538 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
1539 * @user_data: User data to pass to @callback.
1540 *
1541 * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetStaticHostname">SetStaticHostname()</link> D-Bus method on @proxy.
1542 * 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.
1543 * You can then call hostname1_call_set_static_hostname_finish() to get the result of the operation.
1544 *
1545 * See hostname1_call_set_static_hostname_sync() for the synchronous, blocking version of this method.
1546 */
1547 void
1548 hostname1_call_set_static_hostname (
1549 Hostname1 *proxy,
1550 const gchar *arg_unnamed_arg0,
1551 gboolean arg_unnamed_arg1,
1552 GCancellable *cancellable,
1553 GAsyncReadyCallback callback,
1554 gpointer user_data)
1555 {
1556 g_dbus_proxy_call (G_DBUS_PROXY (proxy),
1557 "SetStaticHostname",
1558 g_variant_new ("(sb)",
1559 arg_unnamed_arg0,
1560 arg_unnamed_arg1),
1561 G_DBUS_CALL_FLAGS_NONE,
1562 -1,
1563 cancellable,
1564 callback,
1565 user_data);
1566 }
1567
1568 /**
1569 * hostname1_call_set_static_hostname_finish:
1570 * @proxy: A #Hostname1Proxy.
1571 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_call_set_static_hostname().
1572 * @error: Return location for error or %NULL.
1573 *
1574 * Finishes an operation started with hostname1_call_set_static_hostname().
1575 *
1576 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1577 */
1578 gboolean
1579 hostname1_call_set_static_hostname_finish (
1580 Hostname1 *proxy,
1581 GAsyncResult *res,
1582 GError **error)
1583 {
1584 GVariant *_ret;
1585 _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
1586 if (_ret == NULL)
1587 goto _out;
1588 g_variant_get (_ret,
1589 "()");
1590 g_variant_unref (_ret);
1591 _out:
1592 return _ret != NULL;
1593 }
1594
1595 /**
1596 * hostname1_call_set_static_hostname_sync:
1597 * @proxy: A #Hostname1Proxy.
1598 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1599 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1600 * @cancellable: (allow-none): A #GCancellable or %NULL.
1601 * @error: Return location for error or %NULL.
1602 *
1603 * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetStaticHostname">SetStaticHostname()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
1604 *
1605 * See hostname1_call_set_static_hostname() for the asynchronous version of this method.
1606 *
1607 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1608 */
1609 gboolean
1610 hostname1_call_set_static_hostname_sync (
1611 Hostname1 *proxy,
1612 const gchar *arg_unnamed_arg0,
1613 gboolean arg_unnamed_arg1,
1614 GCancellable *cancellable,
1615 GError **error)
1616 {
1617 GVariant *_ret;
1618 _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
1619 "SetStaticHostname",
1620 g_variant_new ("(sb)",
1621 arg_unnamed_arg0,
1622 arg_unnamed_arg1),
1623 G_DBUS_CALL_FLAGS_NONE,
1624 -1,
1625 cancellable,
1626 error);
1627 if (_ret == NULL)
1628 goto _out;
1629 g_variant_get (_ret,
1630 "()");
1631 g_variant_unref (_ret);
1632 _out:
1633 return _ret != NULL;
1634 }
1635
1636 /**
1637 * hostname1_call_set_pretty_hostname:
1638 * @proxy: A #Hostname1Proxy.
1639 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1640 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1641 * @cancellable: (allow-none): A #GCancellable or %NULL.
1642 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
1643 * @user_data: User data to pass to @callback.
1644 *
1645 * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetPrettyHostname">SetPrettyHostname()</link> D-Bus method on @proxy.
1646 * 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.
1647 * You can then call hostname1_call_set_pretty_hostname_finish() to get the result of the operation.
1648 *
1649 * See hostname1_call_set_pretty_hostname_sync() for the synchronous, blocking version of this method.
1650 */
1651 void
1652 hostname1_call_set_pretty_hostname (
1653 Hostname1 *proxy,
1654 const gchar *arg_unnamed_arg0,
1655 gboolean arg_unnamed_arg1,
1656 GCancellable *cancellable,
1657 GAsyncReadyCallback callback,
1658 gpointer user_data)
1659 {
1660 g_dbus_proxy_call (G_DBUS_PROXY (proxy),
1661 "SetPrettyHostname",
1662 g_variant_new ("(sb)",
1663 arg_unnamed_arg0,
1664 arg_unnamed_arg1),
1665 G_DBUS_CALL_FLAGS_NONE,
1666 -1,
1667 cancellable,
1668 callback,
1669 user_data);
1670 }
1671
1672 /**
1673 * hostname1_call_set_pretty_hostname_finish:
1674 * @proxy: A #Hostname1Proxy.
1675 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_call_set_pretty_hostname().
1676 * @error: Return location for error or %NULL.
1677 *
1678 * Finishes an operation started with hostname1_call_set_pretty_hostname().
1679 *
1680 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1681 */
1682 gboolean
1683 hostname1_call_set_pretty_hostname_finish (
1684 Hostname1 *proxy,
1685 GAsyncResult *res,
1686 GError **error)
1687 {
1688 GVariant *_ret;
1689 _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
1690 if (_ret == NULL)
1691 goto _out;
1692 g_variant_get (_ret,
1693 "()");
1694 g_variant_unref (_ret);
1695 _out:
1696 return _ret != NULL;
1697 }
1698
1699 /**
1700 * hostname1_call_set_pretty_hostname_sync:
1701 * @proxy: A #Hostname1Proxy.
1702 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1703 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1704 * @cancellable: (allow-none): A #GCancellable or %NULL.
1705 * @error: Return location for error or %NULL.
1706 *
1707 * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetPrettyHostname">SetPrettyHostname()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
1708 *
1709 * See hostname1_call_set_pretty_hostname() for the asynchronous version of this method.
1710 *
1711 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1712 */
1713 gboolean
1714 hostname1_call_set_pretty_hostname_sync (
1715 Hostname1 *proxy,
1716 const gchar *arg_unnamed_arg0,
1717 gboolean arg_unnamed_arg1,
1718 GCancellable *cancellable,
1719 GError **error)
1720 {
1721 GVariant *_ret;
1722 _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
1723 "SetPrettyHostname",
1724 g_variant_new ("(sb)",
1725 arg_unnamed_arg0,
1726 arg_unnamed_arg1),
1727 G_DBUS_CALL_FLAGS_NONE,
1728 -1,
1729 cancellable,
1730 error);
1731 if (_ret == NULL)
1732 goto _out;
1733 g_variant_get (_ret,
1734 "()");
1735 g_variant_unref (_ret);
1736 _out:
1737 return _ret != NULL;
1738 }
1739
1740 /**
1741 * hostname1_call_set_icon_name:
1742 * @proxy: A #Hostname1Proxy.
1743 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1744 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1745 * @cancellable: (allow-none): A #GCancellable or %NULL.
1746 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
1747 * @user_data: User data to pass to @callback.
1748 *
1749 * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetIconName">SetIconName()</link> D-Bus method on @proxy.
1750 * 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.
1751 * You can then call hostname1_call_set_icon_name_finish() to get the result of the operation.
1752 *
1753 * See hostname1_call_set_icon_name_sync() for the synchronous, blocking version of this method.
1754 */
1755 void
1756 hostname1_call_set_icon_name (
1757 Hostname1 *proxy,
1758 const gchar *arg_unnamed_arg0,
1759 gboolean arg_unnamed_arg1,
1760 GCancellable *cancellable,
1761 GAsyncReadyCallback callback,
1762 gpointer user_data)
1763 {
1764 g_dbus_proxy_call (G_DBUS_PROXY (proxy),
1765 "SetIconName",
1766 g_variant_new ("(sb)",
1767 arg_unnamed_arg0,
1768 arg_unnamed_arg1),
1769 G_DBUS_CALL_FLAGS_NONE,
1770 -1,
1771 cancellable,
1772 callback,
1773 user_data);
1774 }
1775
1776 /**
1777 * hostname1_call_set_icon_name_finish:
1778 * @proxy: A #Hostname1Proxy.
1779 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_call_set_icon_name().
1780 * @error: Return location for error or %NULL.
1781 *
1782 * Finishes an operation started with hostname1_call_set_icon_name().
1783 *
1784 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1785 */
1786 gboolean
1787 hostname1_call_set_icon_name_finish (
1788 Hostname1 *proxy,
1789 GAsyncResult *res,
1790 GError **error)
1791 {
1792 GVariant *_ret;
1793 _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
1794 if (_ret == NULL)
1795 goto _out;
1796 g_variant_get (_ret,
1797 "()");
1798 g_variant_unref (_ret);
1799 _out:
1800 return _ret != NULL;
1801 }
1802
1803 /**
1804 * hostname1_call_set_icon_name_sync:
1805 * @proxy: A #Hostname1Proxy.
1806 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1807 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1808 * @cancellable: (allow-none): A #GCancellable or %NULL.
1809 * @error: Return location for error or %NULL.
1810 *
1811 * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetIconName">SetIconName()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
1812 *
1813 * See hostname1_call_set_icon_name() for the asynchronous version of this method.
1814 *
1815 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1816 */
1817 gboolean
1818 hostname1_call_set_icon_name_sync (
1819 Hostname1 *proxy,
1820 const gchar *arg_unnamed_arg0,
1821 gboolean arg_unnamed_arg1,
1822 GCancellable *cancellable,
1823 GError **error)
1824 {
1825 GVariant *_ret;
1826 _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
1827 "SetIconName",
1828 g_variant_new ("(sb)",
1829 arg_unnamed_arg0,
1830 arg_unnamed_arg1),
1831 G_DBUS_CALL_FLAGS_NONE,
1832 -1,
1833 cancellable,
1834 error);
1835 if (_ret == NULL)
1836 goto _out;
1837 g_variant_get (_ret,
1838 "()");
1839 g_variant_unref (_ret);
1840 _out:
1841 return _ret != NULL;
1842 }
1843
1844 /**
1845 * hostname1_call_set_chassis:
1846 * @proxy: A #Hostname1Proxy.
1847 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1848 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1849 * @cancellable: (allow-none): A #GCancellable or %NULL.
1850 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
1851 * @user_data: User data to pass to @callback.
1852 *
1853 * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetChassis">SetChassis()</link> D-Bus method on @proxy.
1854 * 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.
1855 * You can then call hostname1_call_set_chassis_finish() to get the result of the operation.
1856 *
1857 * See hostname1_call_set_chassis_sync() for the synchronous, blocking version of this method.
1858 */
1859 void
1860 hostname1_call_set_chassis (
1861 Hostname1 *proxy,
1862 const gchar *arg_unnamed_arg0,
1863 gboolean arg_unnamed_arg1,
1864 GCancellable *cancellable,
1865 GAsyncReadyCallback callback,
1866 gpointer user_data)
1867 {
1868 g_dbus_proxy_call (G_DBUS_PROXY (proxy),
1869 "SetChassis",
1870 g_variant_new ("(sb)",
1871 arg_unnamed_arg0,
1872 arg_unnamed_arg1),
1873 G_DBUS_CALL_FLAGS_NONE,
1874 -1,
1875 cancellable,
1876 callback,
1877 user_data);
1878 }
1879
1880 /**
1881 * hostname1_call_set_chassis_finish:
1882 * @proxy: A #Hostname1Proxy.
1883 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_call_set_chassis().
1884 * @error: Return location for error or %NULL.
1885 *
1886 * Finishes an operation started with hostname1_call_set_chassis().
1887 *
1888 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1889 */
1890 gboolean
1891 hostname1_call_set_chassis_finish (
1892 Hostname1 *proxy,
1893 GAsyncResult *res,
1894 GError **error)
1895 {
1896 GVariant *_ret;
1897 _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
1898 if (_ret == NULL)
1899 goto _out;
1900 g_variant_get (_ret,
1901 "()");
1902 g_variant_unref (_ret);
1903 _out:
1904 return _ret != NULL;
1905 }
1906
1907 /**
1908 * hostname1_call_set_chassis_sync:
1909 * @proxy: A #Hostname1Proxy.
1910 * @arg_unnamed_arg0: Argument to pass with the method invocation.
1911 * @arg_unnamed_arg1: Argument to pass with the method invocation.
1912 * @cancellable: (allow-none): A #GCancellable or %NULL.
1913 * @error: Return location for error or %NULL.
1914 *
1915 * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-hostname1.SetChassis">SetChassis()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
1916 *
1917 * See hostname1_call_set_chassis() for the asynchronous version of this method.
1918 *
1919 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
1920 */
1921 gboolean
1922 hostname1_call_set_chassis_sync (
1923 Hostname1 *proxy,
1924 const gchar *arg_unnamed_arg0,
1925 gboolean arg_unnamed_arg1,
1926 GCancellable *cancellable,
1927 GError **error)
1928 {
1929 GVariant *_ret;
1930 _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
1931 "SetChassis",
1932 g_variant_new ("(sb)",
1933 arg_unnamed_arg0,
1934 arg_unnamed_arg1),
1935 G_DBUS_CALL_FLAGS_NONE,
1936 -1,
1937 cancellable,
1938 error);
1939 if (_ret == NULL)
1940 goto _out;
1941 g_variant_get (_ret,
1942 "()");
1943 g_variant_unref (_ret);
1944 _out:
1945 return _ret != NULL;
1946 }
1947
1948 /**
1949 * hostname1_complete_set_hostname:
1950 * @object: A #Hostname1.
1951 * @invocation: (transfer full): A #GDBusMethodInvocation.
1952 *
1953 * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-hostname1.SetHostname">SetHostname()</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.
1954 *
1955 * This method will free @invocation, you cannot use it afterwards.
1956 */
1957 void
1958 hostname1_complete_set_hostname (
1959 Hostname1 *object,
1960 GDBusMethodInvocation *invocation)
1961 {
1962 g_dbus_method_invocation_return_value (invocation,
1963 g_variant_new ("()"));
1964 }
1965
1966 /**
1967 * hostname1_complete_set_static_hostname:
1968 * @object: A #Hostname1.
1969 * @invocation: (transfer full): A #GDBusMethodInvocation.
1970 *
1971 * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-hostname1.SetStaticHostname">SetStaticHostname()</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.
1972 *
1973 * This method will free @invocation, you cannot use it afterwards.
1974 */
1975 void
1976 hostname1_complete_set_static_hostname (
1977 Hostname1 *object,
1978 GDBusMethodInvocation *invocation)
1979 {
1980 g_dbus_method_invocation_return_value (invocation,
1981 g_variant_new ("()"));
1982 }
1983
1984 /**
1985 * hostname1_complete_set_pretty_hostname:
1986 * @object: A #Hostname1.
1987 * @invocation: (transfer full): A #GDBusMethodInvocation.
1988 *
1989 * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-hostname1.SetPrettyHostname">SetPrettyHostname()</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.
1990 *
1991 * This method will free @invocation, you cannot use it afterwards.
1992 */
1993 void
1994 hostname1_complete_set_pretty_hostname (
1995 Hostname1 *object,
1996 GDBusMethodInvocation *invocation)
1997 {
1998 g_dbus_method_invocation_return_value (invocation,
1999 g_variant_new ("()"));
2000 }
2001
2002 /**
2003 * hostname1_complete_set_icon_name:
2004 * @object: A #Hostname1.
2005 * @invocation: (transfer full): A #GDBusMethodInvocation.
2006 *
2007 * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-hostname1.SetIconName">SetIconName()</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.
2008 *
2009 * This method will free @invocation, you cannot use it afterwards.
2010 */
2011 void
2012 hostname1_complete_set_icon_name (
2013 Hostname1 *object,
2014 GDBusMethodInvocation *invocation)
2015 {
2016 g_dbus_method_invocation_return_value (invocation,
2017 g_variant_new ("()"));
2018 }
2019
2020 /**
2021 * hostname1_complete_set_chassis:
2022 * @object: A #Hostname1.
2023 * @invocation: (transfer full): A #GDBusMethodInvocation.
2024 *
2025 * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-hostname1.SetChassis">SetChassis()</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.
2026 *
2027 * This method will free @invocation, you cannot use it afterwards.
2028 */
2029 void
2030 hostname1_complete_set_chassis (
2031 Hostname1 *object,
2032 GDBusMethodInvocation *invocation)
2033 {
2034 g_dbus_method_invocation_return_value (invocation,
2035 g_variant_new ("()"));
2036 }
2037
2038 /* ------------------------------------------------------------------------ */
2039
2040 /**
2041 * Hostname1Proxy:
2042 *
2043 * The #Hostname1Proxy structure contains only private data and should only be accessed using the provided API.
2044 */
2045
2046 /**
2047 * Hostname1ProxyClass:
2048 * @parent_class: The parent class.
2049 *
2050 * Class structure for #Hostname1Proxy.
2051 */
2052
2053 struct _Hostname1ProxyPrivate
2054 {
2055 GData *qdata;
2056 };
2057
2058 static void hostname1_proxy_iface_init (Hostname1Iface *iface);
2059
2060 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
2061 G_DEFINE_TYPE_WITH_CODE (Hostname1Proxy, hostname1_proxy, G_TYPE_DBUS_PROXY,
2062 G_ADD_PRIVATE (Hostname1Proxy)
2063 G_IMPLEMENT_INTERFACE (TYPE_HOSTNAME1, hostname1_proxy_iface_init));
2064
2065 #else
2066 G_DEFINE_TYPE_WITH_CODE (Hostname1Proxy, hostname1_proxy, G_TYPE_DBUS_PROXY,
2067 G_IMPLEMENT_INTERFACE (TYPE_HOSTNAME1, hostname1_proxy_iface_init));
2068
2069 #endif
2070 static void
2071 hostname1_proxy_finalize (GObject *object)
2072 {
2073 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2074 g_datalist_clear (&proxy->priv->qdata);
2075 G_OBJECT_CLASS (hostname1_proxy_parent_class)->finalize (object);
2076 }
2077
2078 static void
2079 hostname1_proxy_get_property (GObject *object,
2080 guint prop_id,
2081 GValue *value,
2082 GParamSpec *pspec G_GNUC_UNUSED)
2083 {
2084 const _ExtendedGDBusPropertyInfo *info;
2085 GVariant *variant;
2086 g_assert (prop_id != 0 && prop_id - 1 < 10);
2087 info = _hostname1_property_info_pointers[prop_id - 1];
2088 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);
2089 if (info->use_gvariant)
2090 {
2091 g_value_set_variant (value, variant);
2092 }
2093 else
2094 {
2095 if (variant != NULL)
2096 g_dbus_gvariant_to_gvalue (variant, value);
2097 }
2098 if (variant != NULL)
2099 g_variant_unref (variant);
2100 }
2101
2102 static void
2103 hostname1_proxy_set_property_cb (GDBusProxy *proxy,
2104 GAsyncResult *res,
2105 gpointer user_data)
2106 {
2107 const _ExtendedGDBusPropertyInfo *info = user_data;
2108 GError *error;
2109 GVariant *_ret;
2110 error = NULL;
2111 _ret = g_dbus_proxy_call_finish (proxy, res, &error);
2112 if (!_ret)
2113 {
2114 g_warning ("Error setting property '%s' on interface org.freedesktop.hostname1: %s (%s, %d)",
2115 info->parent_struct.name,
2116 error->message, g_quark_to_string (error->domain), error->code);
2117 g_error_free (error);
2118 }
2119 else
2120 {
2121 g_variant_unref (_ret);
2122 }
2123 }
2124
2125 static void
2126 hostname1_proxy_set_property (GObject *object,
2127 guint prop_id,
2128 const GValue *value,
2129 GParamSpec *pspec G_GNUC_UNUSED)
2130 {
2131 const _ExtendedGDBusPropertyInfo *info;
2132 GVariant *variant;
2133 g_assert (prop_id != 0 && prop_id - 1 < 10);
2134 info = _hostname1_property_info_pointers[prop_id - 1];
2135 variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));
2136 g_dbus_proxy_call (G_DBUS_PROXY (object),
2137 "org.freedesktop.DBus.Properties.Set",
2138 g_variant_new ("(ssv)", "org.freedesktop.hostname1", info->parent_struct.name, variant),
2139 G_DBUS_CALL_FLAGS_NONE,
2140 -1,
2141 NULL, (GAsyncReadyCallback) hostname1_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct);
2142 g_variant_unref (variant);
2143 }
2144
2145 static void
2146 hostname1_proxy_g_signal (GDBusProxy *proxy,
2147 const gchar *sender_name G_GNUC_UNUSED,
2148 const gchar *signal_name,
2149 GVariant *parameters)
2150 {
2151 _ExtendedGDBusSignalInfo *info;
2152 GVariantIter iter;
2153 GVariant *child;
2154 GValue *paramv;
2155 guint num_params;
2156 guint n;
2157 guint signal_id;
2158 info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_hostname1_interface_info.parent_struct, signal_name);
2159 if (info == NULL)
2160 return;
2161 num_params = g_variant_n_children (parameters);
2162 paramv = g_new0 (GValue, num_params + 1);
2163 g_value_init (&paramv[0], TYPE_HOSTNAME1);
2164 g_value_set_object (&paramv[0], proxy);
2165 g_variant_iter_init (&iter, parameters);
2166 n = 1;
2167 while ((child = g_variant_iter_next_value (&iter)) != NULL)
2168 {
2169 _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
2170 if (arg_info->use_gvariant)
2171 {
2172 g_value_init (&paramv[n], G_TYPE_VARIANT);
2173 g_value_set_variant (&paramv[n], child);
2174 n++;
2175 }
2176 else
2177 g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
2178 g_variant_unref (child);
2179 }
2180 signal_id = g_signal_lookup (info->signal_name, TYPE_HOSTNAME1);
2181 g_signal_emitv (paramv, signal_id, 0, NULL);
2182 for (n = 0; n < num_params + 1; n++)
2183 g_value_unset (&paramv[n]);
2184 g_free (paramv);
2185 }
2186
2187 static void
2188 hostname1_proxy_g_properties_changed (GDBusProxy *_proxy,
2189 GVariant *changed_properties,
2190 const gchar *const *invalidated_properties)
2191 {
2192 Hostname1Proxy *proxy = HOSTNAME1_PROXY (_proxy);
2193 guint n;
2194 const gchar *key;
2195 GVariantIter *iter;
2196 _ExtendedGDBusPropertyInfo *info;
2197 g_variant_get (changed_properties, "a{sv}", &iter);
2198 while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
2199 {
2200 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_hostname1_interface_info.parent_struct, key);
2201 g_datalist_remove_data (&proxy->priv->qdata, key);
2202 if (info != NULL)
2203 g_object_notify (G_OBJECT (proxy), info->hyphen_name);
2204 }
2205 g_variant_iter_free (iter);
2206 for (n = 0; invalidated_properties[n] != NULL; n++)
2207 {
2208 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_hostname1_interface_info.parent_struct, invalidated_properties[n]);
2209 g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
2210 if (info != NULL)
2211 g_object_notify (G_OBJECT (proxy), info->hyphen_name);
2212 }
2213 }
2214
2215 static const gchar *
2216 hostname1_proxy_get_hostname (Hostname1 *object)
2217 {
2218 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2219 GVariant *variant;
2220 const gchar *value = NULL;
2221 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Hostname");
2222 if (variant != NULL)
2223 {
2224 value = g_variant_get_string (variant, NULL);
2225 g_variant_unref (variant);
2226 }
2227 return value;
2228 }
2229
2230 static const gchar *
2231 hostname1_proxy_get_static_hostname (Hostname1 *object)
2232 {
2233 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2234 GVariant *variant;
2235 const gchar *value = NULL;
2236 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "StaticHostname");
2237 if (variant != NULL)
2238 {
2239 value = g_variant_get_string (variant, NULL);
2240 g_variant_unref (variant);
2241 }
2242 return value;
2243 }
2244
2245 static const gchar *
2246 hostname1_proxy_get_pretty_hostname (Hostname1 *object)
2247 {
2248 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2249 GVariant *variant;
2250 const gchar *value = NULL;
2251 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "PrettyHostname");
2252 if (variant != NULL)
2253 {
2254 value = g_variant_get_string (variant, NULL);
2255 g_variant_unref (variant);
2256 }
2257 return value;
2258 }
2259
2260 static const gchar *
2261 hostname1_proxy_get_icon_name (Hostname1 *object)
2262 {
2263 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2264 GVariant *variant;
2265 const gchar *value = NULL;
2266 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "IconName");
2267 if (variant != NULL)
2268 {
2269 value = g_variant_get_string (variant, NULL);
2270 g_variant_unref (variant);
2271 }
2272 return value;
2273 }
2274
2275 static const gchar *
2276 hostname1_proxy_get_chassis (Hostname1 *object)
2277 {
2278 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2279 GVariant *variant;
2280 const gchar *value = NULL;
2281 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Chassis");
2282 if (variant != NULL)
2283 {
2284 value = g_variant_get_string (variant, NULL);
2285 g_variant_unref (variant);
2286 }
2287 return value;
2288 }
2289
2290 static const gchar *
2291 hostname1_proxy_get_kernel_name (Hostname1 *object)
2292 {
2293 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2294 GVariant *variant;
2295 const gchar *value = NULL;
2296 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "KernelName");
2297 if (variant != NULL)
2298 {
2299 value = g_variant_get_string (variant, NULL);
2300 g_variant_unref (variant);
2301 }
2302 return value;
2303 }
2304
2305 static const gchar *
2306 hostname1_proxy_get_kernel_release (Hostname1 *object)
2307 {
2308 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2309 GVariant *variant;
2310 const gchar *value = NULL;
2311 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "KernelRelease");
2312 if (variant != NULL)
2313 {
2314 value = g_variant_get_string (variant, NULL);
2315 g_variant_unref (variant);
2316 }
2317 return value;
2318 }
2319
2320 static const gchar *
2321 hostname1_proxy_get_kernel_version (Hostname1 *object)
2322 {
2323 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2324 GVariant *variant;
2325 const gchar *value = NULL;
2326 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "KernelVersion");
2327 if (variant != NULL)
2328 {
2329 value = g_variant_get_string (variant, NULL);
2330 g_variant_unref (variant);
2331 }
2332 return value;
2333 }
2334
2335 static const gchar *
2336 hostname1_proxy_get_operating_system_pretty_name (Hostname1 *object)
2337 {
2338 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2339 GVariant *variant;
2340 const gchar *value = NULL;
2341 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "OperatingSystemPrettyName");
2342 if (variant != NULL)
2343 {
2344 value = g_variant_get_string (variant, NULL);
2345 g_variant_unref (variant);
2346 }
2347 return value;
2348 }
2349
2350 static const gchar *
2351 hostname1_proxy_get_operating_system_cpename (Hostname1 *object)
2352 {
2353 Hostname1Proxy *proxy = HOSTNAME1_PROXY (object);
2354 GVariant *variant;
2355 const gchar *value = NULL;
2356 variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "OperatingSystemCPEName");
2357 if (variant != NULL)
2358 {
2359 value = g_variant_get_string (variant, NULL);
2360 g_variant_unref (variant);
2361 }
2362 return value;
2363 }
2364
2365 static void
2366 hostname1_proxy_init (Hostname1Proxy *proxy)
2367 {
2368 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
2369 proxy->priv = hostname1_proxy_get_instance_private (proxy);
2370 #else
2371 proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, TYPE_HOSTNAME1_PROXY, Hostname1ProxyPrivate);
2372 #endif
2373
2374 g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), hostname1_interface_info ());
2375 }
2376
2377 static void
2378 hostname1_proxy_class_init (Hostname1ProxyClass *klass)
2379 {
2380 GObjectClass *gobject_class;
2381 GDBusProxyClass *proxy_class;
2382
2383 gobject_class = G_OBJECT_CLASS (klass);
2384 gobject_class->finalize = hostname1_proxy_finalize;
2385 gobject_class->get_property = hostname1_proxy_get_property;
2386 gobject_class->set_property = hostname1_proxy_set_property;
2387
2388 proxy_class = G_DBUS_PROXY_CLASS (klass);
2389 proxy_class->g_signal = hostname1_proxy_g_signal;
2390 proxy_class->g_properties_changed = hostname1_proxy_g_properties_changed;
2391
2392 hostname1_override_properties (gobject_class, 1);
2393
2394 #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
2395 g_type_class_add_private (klass, sizeof (Hostname1ProxyPrivate));
2396 #endif
2397 }
2398
2399 static void
2400 hostname1_proxy_iface_init (Hostname1Iface *iface)
2401 {
2402 iface->get_hostname = hostname1_proxy_get_hostname;
2403 iface->get_static_hostname = hostname1_proxy_get_static_hostname;
2404 iface->get_pretty_hostname = hostname1_proxy_get_pretty_hostname;
2405 iface->get_icon_name = hostname1_proxy_get_icon_name;
2406 iface->get_chassis = hostname1_proxy_get_chassis;
2407 iface->get_kernel_name = hostname1_proxy_get_kernel_name;
2408 iface->get_kernel_release = hostname1_proxy_get_kernel_release;
2409 iface->get_kernel_version = hostname1_proxy_get_kernel_version;
2410 iface->get_operating_system_pretty_name = hostname1_proxy_get_operating_system_pretty_name;
2411 iface->get_operating_system_cpename = hostname1_proxy_get_operating_system_cpename;
2412 }
2413
2414 /**
2415 * hostname1_proxy_new:
2416 * @connection: A #GDBusConnection.
2417 * @flags: Flags from the #GDBusProxyFlags enumeration.
2418 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
2419 * @object_path: An object path.
2420 * @cancellable: (allow-none): A #GCancellable or %NULL.
2421 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
2422 * @user_data: User data to pass to @callback.
2423 *
2424 * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link>. See g_dbus_proxy_new() for more details.
2425 *
2426 * 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.
2427 * You can then call hostname1_proxy_new_finish() to get the result of the operation.
2428 *
2429 * See hostname1_proxy_new_sync() for the synchronous, blocking version of this constructor.
2430 */
2431 void
2432 hostname1_proxy_new (
2433 GDBusConnection *connection,
2434 GDBusProxyFlags flags,
2435 const gchar *name,
2436 const gchar *object_path,
2437 GCancellable *cancellable,
2438 GAsyncReadyCallback callback,
2439 gpointer user_data)
2440 {
2441 g_async_initable_new_async (TYPE_HOSTNAME1_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.hostname1", NULL);
2442 }
2443
2444 /**
2445 * hostname1_proxy_new_finish:
2446 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_proxy_new().
2447 * @error: Return location for error or %NULL
2448 *
2449 * Finishes an operation started with hostname1_proxy_new().
2450 *
2451 * Returns: (transfer full) (type Hostname1Proxy): The constructed proxy object or %NULL if @error is set.
2452 */
2453 Hostname1 *
2454 hostname1_proxy_new_finish (
2455 GAsyncResult *res,
2456 GError **error)
2457 {
2458 GObject *ret;
2459 GObject *source_object;
2460 source_object = g_async_result_get_source_object (res);
2461 ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
2462 g_object_unref (source_object);
2463 if (ret != NULL)
2464 return HOSTNAME1 (ret);
2465 else
2466 return NULL;
2467 }
2468
2469 /**
2470 * hostname1_proxy_new_sync:
2471 * @connection: A #GDBusConnection.
2472 * @flags: Flags from the #GDBusProxyFlags enumeration.
2473 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
2474 * @object_path: An object path.
2475 * @cancellable: (allow-none): A #GCancellable or %NULL.
2476 * @error: Return location for error or %NULL
2477 *
2478 * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link>. See g_dbus_proxy_new_sync() for more details.
2479 *
2480 * The calling thread is blocked until a reply is received.
2481 *
2482 * See hostname1_proxy_new() for the asynchronous version of this constructor.
2483 *
2484 * Returns: (transfer full) (type Hostname1Proxy): The constructed proxy object or %NULL if @error is set.
2485 */
2486 Hostname1 *
2487 hostname1_proxy_new_sync (
2488 GDBusConnection *connection,
2489 GDBusProxyFlags flags,
2490 const gchar *name,
2491 const gchar *object_path,
2492 GCancellable *cancellable,
2493 GError **error)
2494 {
2495 GInitable *ret;
2496 ret = g_initable_new (TYPE_HOSTNAME1_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.hostname1", NULL);
2497 if (ret != NULL)
2498 return HOSTNAME1 (ret);
2499 else
2500 return NULL;
2501 }
2502
2503
2504 /**
2505 * hostname1_proxy_new_for_bus:
2506 * @bus_type: A #GBusType.
2507 * @flags: Flags from the #GDBusProxyFlags enumeration.
2508 * @name: A bus name (well-known or unique).
2509 * @object_path: An object path.
2510 * @cancellable: (allow-none): A #GCancellable or %NULL.
2511 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
2512 * @user_data: User data to pass to @callback.
2513 *
2514 * Like hostname1_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
2515 *
2516 * 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.
2517 * You can then call hostname1_proxy_new_for_bus_finish() to get the result of the operation.
2518 *
2519 * See hostname1_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
2520 */
2521 void
2522 hostname1_proxy_new_for_bus (
2523 GBusType bus_type,
2524 GDBusProxyFlags flags,
2525 const gchar *name,
2526 const gchar *object_path,
2527 GCancellable *cancellable,
2528 GAsyncReadyCallback callback,
2529 gpointer user_data)
2530 {
2531 g_async_initable_new_async (TYPE_HOSTNAME1_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.hostname1", NULL);
2532 }
2533
2534 /**
2535 * hostname1_proxy_new_for_bus_finish:
2536 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostname1_proxy_new_for_bus().
2537 * @error: Return location for error or %NULL
2538 *
2539 * Finishes an operation started with hostname1_proxy_new_for_bus().
2540 *
2541 * Returns: (transfer full) (type Hostname1Proxy): The constructed proxy object or %NULL if @error is set.
2542 */
2543 Hostname1 *
2544 hostname1_proxy_new_for_bus_finish (
2545 GAsyncResult *res,
2546 GError **error)
2547 {
2548 GObject *ret;
2549 GObject *source_object;
2550 source_object = g_async_result_get_source_object (res);
2551 ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
2552 g_object_unref (source_object);
2553 if (ret != NULL)
2554 return HOSTNAME1 (ret);
2555 else
2556 return NULL;
2557 }
2558
2559 /**
2560 * hostname1_proxy_new_for_bus_sync:
2561 * @bus_type: A #GBusType.
2562 * @flags: Flags from the #GDBusProxyFlags enumeration.
2563 * @name: A bus name (well-known or unique).
2564 * @object_path: An object path.
2565 * @cancellable: (allow-none): A #GCancellable or %NULL.
2566 * @error: Return location for error or %NULL
2567 *
2568 * Like hostname1_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
2569 *
2570 * The calling thread is blocked until a reply is received.
2571 *
2572 * See hostname1_proxy_new_for_bus() for the asynchronous version of this constructor.
2573 *
2574 * Returns: (transfer full) (type Hostname1Proxy): The constructed proxy object or %NULL if @error is set.
2575 */
2576 Hostname1 *
2577 hostname1_proxy_new_for_bus_sync (
2578 GBusType bus_type,
2579 GDBusProxyFlags flags,
2580 const gchar *name,
2581 const gchar *object_path,
2582 GCancellable *cancellable,
2583 GError **error)
2584 {
2585 GInitable *ret;
2586 ret = g_initable_new (TYPE_HOSTNAME1_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.hostname1", NULL);
2587 if (ret != NULL)
2588 return HOSTNAME1 (ret);
2589 else
2590 return NULL;
2591 }
2592
2593
2594 /* ------------------------------------------------------------------------ */
2595
2596 /**
2597 * Hostname1Skeleton:
2598 *
2599 * The #Hostname1Skeleton structure contains only private data and should only be accessed using the provided API.
2600 */
2601
2602 /**
2603 * Hostname1SkeletonClass:
2604 * @parent_class: The parent class.
2605 *
2606 * Class structure for #Hostname1Skeleton.
2607 */
2608
2609 struct _Hostname1SkeletonPrivate
2610 {
2611 GValue *properties;
2612 GList *changed_properties;
2613 GSource *changed_properties_idle_source;
2614 GMainContext *context;
2615 GMutex lock;
2616 };
2617
2618 static void
2619 _hostname1_skeleton_handle_method_call (
2620 GDBusConnection *connection G_GNUC_UNUSED,
2621 const gchar *sender G_GNUC_UNUSED,
2622 const gchar *object_path G_GNUC_UNUSED,
2623 const gchar *interface_name,
2624 const gchar *method_name,
2625 GVariant *parameters,
2626 GDBusMethodInvocation *invocation,
2627 gpointer user_data)
2628 {
2629 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (user_data);
2630 _ExtendedGDBusMethodInfo *info;
2631 GVariantIter iter;
2632 GVariant *child;
2633 GValue *paramv;
2634 guint num_params;
2635 guint num_extra;
2636 guint n;
2637 guint signal_id;
2638 GValue return_value = G_VALUE_INIT;
2639 info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
2640 g_assert (info != NULL);
2641 num_params = g_variant_n_children (parameters);
2642 num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
2643 n = 0;
2644 g_value_init (&paramv[n], TYPE_HOSTNAME1);
2645 g_value_set_object (&paramv[n++], skeleton);
2646 g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
2647 g_value_set_object (&paramv[n++], invocation);
2648 if (info->pass_fdlist)
2649 {
2650 #ifdef G_OS_UNIX
2651 g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
2652 g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
2653 #else
2654 g_assert_not_reached ();
2655 #endif
2656 }
2657 g_variant_iter_init (&iter, parameters);
2658 while ((child = g_variant_iter_next_value (&iter)) != NULL)
2659 {
2660 _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
2661 if (arg_info->use_gvariant)
2662 {
2663 g_value_init (&paramv[n], G_TYPE_VARIANT);
2664 g_value_set_variant (&paramv[n], child);
2665 n++;
2666 }
2667 else
2668 g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
2669 g_variant_unref (child);
2670 }
2671 signal_id = g_signal_lookup (info->signal_name, TYPE_HOSTNAME1);
2672 g_value_init (&return_value, G_TYPE_BOOLEAN);
2673 g_signal_emitv (paramv, signal_id, 0, &return_value);
2674 if (!g_value_get_boolean (&return_value))
2675 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);
2676 g_value_unset (&return_value);
2677 for (n = 0; n < num_params + num_extra; n++)
2678 g_value_unset (&paramv[n]);
2679 g_free (paramv);
2680 }
2681
2682 static GVariant *
2683 _hostname1_skeleton_handle_get_property (
2684 GDBusConnection *connection G_GNUC_UNUSED,
2685 const gchar *sender G_GNUC_UNUSED,
2686 const gchar *object_path G_GNUC_UNUSED,
2687 const gchar *interface_name G_GNUC_UNUSED,
2688 const gchar *property_name,
2689 GError **error,
2690 gpointer user_data)
2691 {
2692 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (user_data);
2693 GValue value = G_VALUE_INIT;
2694 GParamSpec *pspec;
2695 _ExtendedGDBusPropertyInfo *info;
2696 GVariant *ret;
2697 ret = NULL;
2698 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_hostname1_interface_info.parent_struct, property_name);
2699 g_assert (info != NULL);
2700 pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
2701 if (pspec == NULL)
2702 {
2703 g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
2704 }
2705 else
2706 {
2707 g_value_init (&value, pspec->value_type);
2708 g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
2709 ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
2710 g_value_unset (&value);
2711 }
2712 return ret;
2713 }
2714
2715 static gboolean
2716 _hostname1_skeleton_handle_set_property (
2717 GDBusConnection *connection G_GNUC_UNUSED,
2718 const gchar *sender G_GNUC_UNUSED,
2719 const gchar *object_path G_GNUC_UNUSED,
2720 const gchar *interface_name G_GNUC_UNUSED,
2721 const gchar *property_name,
2722 GVariant *variant,
2723 GError **error,
2724 gpointer user_data)
2725 {
2726 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (user_data);
2727 GValue value = G_VALUE_INIT;
2728 GParamSpec *pspec;
2729 _ExtendedGDBusPropertyInfo *info;
2730 gboolean ret;
2731 ret = FALSE;
2732 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_hostname1_interface_info.parent_struct, property_name);
2733 g_assert (info != NULL);
2734 pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
2735 if (pspec == NULL)
2736 {
2737 g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
2738 }
2739 else
2740 {
2741 if (info->use_gvariant)
2742 g_value_set_variant (&value, variant);
2743 else
2744 g_dbus_gvariant_to_gvalue (variant, &value);
2745 g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
2746 g_value_unset (&value);
2747 ret = TRUE;
2748 }
2749 return ret;
2750 }
2751
2752 static const GDBusInterfaceVTable _hostname1_skeleton_vtable =
2753 {
2754 _hostname1_skeleton_handle_method_call,
2755 _hostname1_skeleton_handle_get_property,
2756 _hostname1_skeleton_handle_set_property,
2757 {NULL}
2758 };
2759
2760 static GDBusInterfaceInfo *
2761 hostname1_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
2762 {
2763 return hostname1_interface_info ();
2764 }
2765
2766 static GDBusInterfaceVTable *
2767 hostname1_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
2768 {
2769 return (GDBusInterfaceVTable *) &_hostname1_skeleton_vtable;
2770 }
2771
2772 static GVariant *
2773 hostname1_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
2774 {
2775 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (_skeleton);
2776
2777 GVariantBuilder builder;
2778 guint n;
2779 g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
2780 if (_hostname1_interface_info.parent_struct.properties == NULL)
2781 goto out;
2782 for (n = 0; _hostname1_interface_info.parent_struct.properties[n] != NULL; n++)
2783 {
2784 GDBusPropertyInfo *info = _hostname1_interface_info.parent_struct.properties[n];
2785 if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
2786 {
2787 GVariant *value;
2788 value = _hostname1_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.hostname1", info->name, NULL, skeleton);
2789 if (value != NULL)
2790 {
2791 g_variant_take_ref (value);
2792 g_variant_builder_add (&builder, "{sv}", info->name, value);
2793 g_variant_unref (value);
2794 }
2795 }
2796 }
2797 out:
2798 return g_variant_builder_end (&builder);
2799 }
2800
2801 static gboolean _hostname1_emit_changed (gpointer user_data);
2802
2803 static void
2804 hostname1_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
2805 {
2806 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (_skeleton);
2807 gboolean emit_changed = FALSE;
2808
2809 g_mutex_lock (&skeleton->priv->lock);
2810 if (skeleton->priv->changed_properties_idle_source != NULL)
2811 {
2812 g_source_destroy (skeleton->priv->changed_properties_idle_source);
2813 skeleton->priv->changed_properties_idle_source = NULL;
2814 emit_changed = TRUE;
2815 }
2816 g_mutex_unlock (&skeleton->priv->lock);
2817
2818 if (emit_changed)
2819 _hostname1_emit_changed (skeleton);
2820 }
2821
2822 static void hostname1_skeleton_iface_init (Hostname1Iface *iface);
2823 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
2824 G_DEFINE_TYPE_WITH_CODE (Hostname1Skeleton, hostname1_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
2825 G_ADD_PRIVATE (Hostname1Skeleton)
2826 G_IMPLEMENT_INTERFACE (TYPE_HOSTNAME1, hostname1_skeleton_iface_init));
2827
2828 #else
2829 G_DEFINE_TYPE_WITH_CODE (Hostname1Skeleton, hostname1_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
2830 G_IMPLEMENT_INTERFACE (TYPE_HOSTNAME1, hostname1_skeleton_iface_init));
2831
2832 #endif
2833 static void
2834 hostname1_skeleton_finalize (GObject *object)
2835 {
2836 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
2837 guint n;
2838 for (n = 0; n < 10; n++)
2839 g_value_unset (&skeleton->priv->properties[n]);
2840 g_free (skeleton->priv->properties);
2841 g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
2842 if (skeleton->priv->changed_properties_idle_source != NULL)
2843 g_source_destroy (skeleton->priv->changed_properties_idle_source);
2844 g_main_context_unref (skeleton->priv->context);
2845 g_mutex_clear (&skeleton->priv->lock);
2846 G_OBJECT_CLASS (hostname1_skeleton_parent_class)->finalize (object);
2847 }
2848
2849 static void
2850 hostname1_skeleton_get_property (GObject *object,
2851 guint prop_id,
2852 GValue *value,
2853 GParamSpec *pspec G_GNUC_UNUSED)
2854 {
2855 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
2856 g_assert (prop_id != 0 && prop_id - 1 < 10);
2857 g_mutex_lock (&skeleton->priv->lock);
2858 g_value_copy (&skeleton->priv->properties[prop_id - 1], value);
2859 g_mutex_unlock (&skeleton->priv->lock);
2860 }
2861
2862 static gboolean
2863 _hostname1_emit_changed (gpointer user_data)
2864 {
2865 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (user_data);
2866 GList *l;
2867 GVariantBuilder builder;
2868 GVariantBuilder invalidated_builder;
2869 guint num_changes;
2870
2871 g_mutex_lock (&skeleton->priv->lock);
2872 g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
2873 g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));
2874 for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)
2875 {
2876 ChangedProperty *cp = l->data;
2877 GVariant *variant;
2878 const GValue *cur_value;
2879
2880 cur_value = &skeleton->priv->properties[cp->prop_id - 1];
2881 if (!_g_value_equal (cur_value, &cp->orig_value))
2882 {
2883 variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));
2884 g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);
2885 g_variant_unref (variant);
2886 num_changes++;
2887 }
2888 }
2889 if (num_changes > 0)
2890 {
2891 GList *connections, *ll;
2892 GVariant *signal_variant;
2893 signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.hostname1",
2894 &builder, &invalidated_builder));
2895 connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
2896 for (ll = connections; ll != NULL; ll = ll->next)
2897 {
2898 GDBusConnection *connection = ll->data;
2899
2900 g_dbus_connection_emit_signal (connection,
2901 NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),
2902 "org.freedesktop.DBus.Properties",
2903 "PropertiesChanged",
2904 signal_variant,
2905 NULL);
2906 }
2907 g_variant_unref (signal_variant);
2908 g_list_free_full (connections, g_object_unref);
2909 }
2910 else
2911 {
2912 g_variant_builder_clear (&builder);
2913 g_variant_builder_clear (&invalidated_builder);
2914 }
2915 g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
2916 skeleton->priv->changed_properties = NULL;
2917 skeleton->priv->changed_properties_idle_source = NULL;
2918 g_mutex_unlock (&skeleton->priv->lock);
2919 return FALSE;
2920 }
2921
2922 static void
2923 _hostname1_schedule_emit_changed (Hostname1Skeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)
2924 {
2925 ChangedProperty *cp;
2926 GList *l;
2927 cp = NULL;
2928 for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)
2929 {
2930 ChangedProperty *i_cp = l->data;
2931 if (i_cp->info == info)
2932 {
2933 cp = i_cp;
2934 break;
2935 }
2936 }
2937 if (cp == NULL)
2938 {
2939 cp = g_new0 (ChangedProperty, 1);
2940 cp->prop_id = prop_id;
2941 cp->info = info;
2942 skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);
2943 g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));
2944 g_value_copy (orig_value, &cp->orig_value);
2945 }
2946 }
2947
2948 static void
2949 hostname1_skeleton_notify (GObject *object,
2950 GParamSpec *pspec G_GNUC_UNUSED)
2951 {
2952 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
2953 g_mutex_lock (&skeleton->priv->lock);
2954 if (skeleton->priv->changed_properties != NULL &&
2955 skeleton->priv->changed_properties_idle_source == NULL)
2956 {
2957 skeleton->priv->changed_properties_idle_source = g_idle_source_new ();
2958 g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);
2959 g_source_set_callback (skeleton->priv->changed_properties_idle_source, _hostname1_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
2960 g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);
2961 g_source_unref (skeleton->priv->changed_properties_idle_source);
2962 }
2963 g_mutex_unlock (&skeleton->priv->lock);
2964 }
2965
2966 static void
2967 hostname1_skeleton_set_property (GObject *object,
2968 guint prop_id,
2969 const GValue *value,
2970 GParamSpec *pspec)
2971 {
2972 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
2973 g_assert (prop_id != 0 && prop_id - 1 < 10);
2974 g_mutex_lock (&skeleton->priv->lock);
2975 g_object_freeze_notify (object);
2976 if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))
2977 {
2978 if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL)
2979 _hostname1_schedule_emit_changed (skeleton, _hostname1_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);
2980 g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);
2981 g_object_notify_by_pspec (object, pspec);
2982 }
2983 g_mutex_unlock (&skeleton->priv->lock);
2984 g_object_thaw_notify (object);
2985 }
2986
2987 static void
2988 hostname1_skeleton_init (Hostname1Skeleton *skeleton)
2989 {
2990 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
2991 skeleton->priv = hostname1_skeleton_get_instance_private (skeleton);
2992 #else
2993 skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, TYPE_HOSTNAME1_SKELETON, Hostname1SkeletonPrivate);
2994 #endif
2995
2996 g_mutex_init (&skeleton->priv->lock);
2997 skeleton->priv->context = g_main_context_ref_thread_default ();
2998 skeleton->priv->properties = g_new0 (GValue, 10);
2999 g_value_init (&skeleton->priv->properties[0], G_TYPE_STRING);
3000 g_value_init (&skeleton->priv->properties[1], G_TYPE_STRING);
3001 g_value_init (&skeleton->priv->properties[2], G_TYPE_STRING);
3002 g_value_init (&skeleton->priv->properties[3], G_TYPE_STRING);
3003 g_value_init (&skeleton->priv->properties[4], G_TYPE_STRING);
3004 g_value_init (&skeleton->priv->properties[5], G_TYPE_STRING);
3005 g_value_init (&skeleton->priv->properties[6], G_TYPE_STRING);
3006 g_value_init (&skeleton->priv->properties[7], G_TYPE_STRING);
3007 g_value_init (&skeleton->priv->properties[8], G_TYPE_STRING);
3008 g_value_init (&skeleton->priv->properties[9], G_TYPE_STRING);
3009 }
3010
3011 static const gchar *
3012 hostname1_skeleton_get_hostname (Hostname1 *object)
3013 {
3014 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3015 const gchar *value;
3016 g_mutex_lock (&skeleton->priv->lock);
3017 value = g_value_get_string (&(skeleton->priv->properties[0]));
3018 g_mutex_unlock (&skeleton->priv->lock);
3019 return value;
3020 }
3021
3022 static const gchar *
3023 hostname1_skeleton_get_static_hostname (Hostname1 *object)
3024 {
3025 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3026 const gchar *value;
3027 g_mutex_lock (&skeleton->priv->lock);
3028 value = g_value_get_string (&(skeleton->priv->properties[1]));
3029 g_mutex_unlock (&skeleton->priv->lock);
3030 return value;
3031 }
3032
3033 static const gchar *
3034 hostname1_skeleton_get_pretty_hostname (Hostname1 *object)
3035 {
3036 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3037 const gchar *value;
3038 g_mutex_lock (&skeleton->priv->lock);
3039 value = g_value_get_string (&(skeleton->priv->properties[2]));
3040 g_mutex_unlock (&skeleton->priv->lock);
3041 return value;
3042 }
3043
3044 static const gchar *
3045 hostname1_skeleton_get_icon_name (Hostname1 *object)
3046 {
3047 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3048 const gchar *value;
3049 g_mutex_lock (&skeleton->priv->lock);
3050 value = g_value_get_string (&(skeleton->priv->properties[3]));
3051 g_mutex_unlock (&skeleton->priv->lock);
3052 return value;
3053 }
3054
3055 static const gchar *
3056 hostname1_skeleton_get_chassis (Hostname1 *object)
3057 {
3058 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3059 const gchar *value;
3060 g_mutex_lock (&skeleton->priv->lock);
3061 value = g_value_get_string (&(skeleton->priv->properties[4]));
3062 g_mutex_unlock (&skeleton->priv->lock);
3063 return value;
3064 }
3065
3066 static const gchar *
3067 hostname1_skeleton_get_kernel_name (Hostname1 *object)
3068 {
3069 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3070 const gchar *value;
3071 g_mutex_lock (&skeleton->priv->lock);
3072 value = g_value_get_string (&(skeleton->priv->properties[5]));
3073 g_mutex_unlock (&skeleton->priv->lock);
3074 return value;
3075 }
3076
3077 static const gchar *
3078 hostname1_skeleton_get_kernel_release (Hostname1 *object)
3079 {
3080 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3081 const gchar *value;
3082 g_mutex_lock (&skeleton->priv->lock);
3083 value = g_value_get_string (&(skeleton->priv->properties[6]));
3084 g_mutex_unlock (&skeleton->priv->lock);
3085 return value;
3086 }
3087
3088 static const gchar *
3089 hostname1_skeleton_get_kernel_version (Hostname1 *object)
3090 {
3091 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3092 const gchar *value;
3093 g_mutex_lock (&skeleton->priv->lock);
3094 value = g_value_get_string (&(skeleton->priv->properties[7]));
3095 g_mutex_unlock (&skeleton->priv->lock);
3096 return value;
3097 }
3098
3099 static const gchar *
3100 hostname1_skeleton_get_operating_system_pretty_name (Hostname1 *object)
3101 {
3102 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3103 const gchar *value;
3104 g_mutex_lock (&skeleton->priv->lock);
3105 value = g_value_get_string (&(skeleton->priv->properties[8]));
3106 g_mutex_unlock (&skeleton->priv->lock);
3107 return value;
3108 }
3109
3110 static const gchar *
3111 hostname1_skeleton_get_operating_system_cpename (Hostname1 *object)
3112 {
3113 Hostname1Skeleton *skeleton = HOSTNAME1_SKELETON (object);
3114 const gchar *value;
3115 g_mutex_lock (&skeleton->priv->lock);
3116 value = g_value_get_string (&(skeleton->priv->properties[9]));
3117 g_mutex_unlock (&skeleton->priv->lock);
3118 return value;
3119 }
3120
3121 static void
3122 hostname1_skeleton_class_init (Hostname1SkeletonClass *klass)
3123 {
3124 GObjectClass *gobject_class;
3125 GDBusInterfaceSkeletonClass *skeleton_class;
3126
3127 gobject_class = G_OBJECT_CLASS (klass);
3128 gobject_class->finalize = hostname1_skeleton_finalize;
3129 gobject_class->get_property = hostname1_skeleton_get_property;
3130 gobject_class->set_property = hostname1_skeleton_set_property;
3131 gobject_class->notify = hostname1_skeleton_notify;
3132
3133
3134 hostname1_override_properties (gobject_class, 1);
3135
3136 skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
3137 skeleton_class->get_info = hostname1_skeleton_dbus_interface_get_info;
3138 skeleton_class->get_properties = hostname1_skeleton_dbus_interface_get_properties;
3139 skeleton_class->flush = hostname1_skeleton_dbus_interface_flush;
3140 skeleton_class->get_vtable = hostname1_skeleton_dbus_interface_get_vtable;
3141
3142 #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
3143 g_type_class_add_private (klass, sizeof (Hostname1SkeletonPrivate));
3144 #endif
3145 }
3146
3147 static void
3148 hostname1_skeleton_iface_init (Hostname1Iface *iface)
3149 {
3150 iface->get_hostname = hostname1_skeleton_get_hostname;
3151 iface->get_static_hostname = hostname1_skeleton_get_static_hostname;
3152 iface->get_pretty_hostname = hostname1_skeleton_get_pretty_hostname;
3153 iface->get_icon_name = hostname1_skeleton_get_icon_name;
3154 iface->get_chassis = hostname1_skeleton_get_chassis;
3155 iface->get_kernel_name = hostname1_skeleton_get_kernel_name;
3156 iface->get_kernel_release = hostname1_skeleton_get_kernel_release;
3157 iface->get_kernel_version = hostname1_skeleton_get_kernel_version;
3158 iface->get_operating_system_pretty_name = hostname1_skeleton_get_operating_system_pretty_name;
3159 iface->get_operating_system_cpename = hostname1_skeleton_get_operating_system_cpename;
3160 }
3161
3162 /**
3163 * hostname1_skeleton_new:
3164 *
3165 * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link>.
3166 *
3167 * Returns: (transfer full) (type Hostname1Skeleton): The skeleton object.
3168 */
3169 Hostname1 *
3170 hostname1_skeleton_new (void)
3171 {
3172 return HOSTNAME1 (g_object_new (TYPE_HOSTNAME1_SKELETON, NULL));
3173 }
3174