aboutsummaryrefslogtreecommitdiff
path: root/src/cups-notifier.c
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2012-02-16 17:27:00 +0100
committerSebastien Bacher <seb128@ubuntu.com>2012-02-16 17:27:00 +0100
commit4a11dd4b111229b8fc48aa8d897a000176e18805 (patch)
treeec0c2b271510864e449293697d0a85f9f78f57da /src/cups-notifier.c
parent4ead9790aa2d37596ddf192c9f81f79eb0287d72 (diff)
parent2d5e7bf80f9894254dd227143c58b88ed021234b (diff)
downloadayatana-indicator-printers-4a11dd4b111229b8fc48aa8d897a000176e18805.tar.gz
ayatana-indicator-printers-4a11dd4b111229b8fc48aa8d897a000176e18805.tar.bz2
ayatana-indicator-printers-4a11dd4b111229b8fc48aa8d897a000176e18805.zip
Import upstream version 0.1
Diffstat (limited to 'src/cups-notifier.c')
-rw-r--r--src/cups-notifier.c3531
1 files changed, 3531 insertions, 0 deletions
diff --git a/src/cups-notifier.c b/src/cups-notifier.c
new file mode 100644
index 0000000..c28a327
--- /dev/null
+++ b/src/cups-notifier.c
@@ -0,0 +1,3531 @@
+/*
+ * Generated by gdbus-codegen 2.31.16. DO NOT EDIT.
+ *
+ * The license of this code is the same as for the source it was derived from.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "cups-notifier.h"
+
+#ifdef G_OS_UNIX
+# include <gio/gunixfdlist.h>
+#endif
+
+typedef struct
+{
+ GDBusArgInfo parent_struct;
+ gboolean use_gvariant;
+} _ExtendedGDBusArgInfo;
+
+typedef struct
+{
+ GDBusMethodInfo parent_struct;
+ const gchar *signal_name;
+ gboolean pass_fdlist;
+} _ExtendedGDBusMethodInfo;
+
+typedef struct
+{
+ GDBusSignalInfo parent_struct;
+ const gchar *signal_name;
+} _ExtendedGDBusSignalInfo;
+
+typedef struct
+{
+ GDBusPropertyInfo parent_struct;
+ const gchar *hyphen_name;
+ gboolean use_gvariant;
+} _ExtendedGDBusPropertyInfo;
+
+typedef struct
+{
+ GDBusInterfaceInfo parent_struct;
+ const gchar *hyphen_name;
+} _ExtendedGDBusInterfaceInfo;
+
+typedef struct
+{
+ const _ExtendedGDBusPropertyInfo *info;
+ guint prop_id;
+ GValue orig_value; /* the value before the change */
+} ChangedProperty;
+
+static void
+_changed_property_free (ChangedProperty *data)
+{
+ g_value_unset (&data->orig_value);
+ g_free (data);
+}
+
+static gboolean
+_g_strv_equal0 (gchar **a, gchar **b)
+{
+ gboolean ret = FALSE;
+ guint n;
+ if (a == NULL && b == NULL)
+ {
+ ret = TRUE;
+ goto out;
+ }
+ if (a == NULL || b == NULL)
+ goto out;
+ if (g_strv_length (a) != g_strv_length (b))
+ goto out;
+ for (n = 0; a[n] != NULL; n++)
+ if (g_strcmp0 (a[n], b[n]) != 0)
+ goto out;
+ ret = TRUE;
+out:
+ return ret;
+}
+
+static gboolean
+_g_variant_equal0 (GVariant *a, GVariant *b)
+{
+ gboolean ret = FALSE;
+ if (a == NULL && b == NULL)
+ {
+ ret = TRUE;
+ goto out;
+ }
+ if (a == NULL || b == NULL)
+ goto out;
+ ret = g_variant_equal (a, b);
+out:
+ return ret;
+}
+
+G_GNUC_UNUSED static gboolean
+_g_value_equal (const GValue *a, const GValue *b)
+{
+ gboolean ret = FALSE;
+ g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
+ switch (G_VALUE_TYPE (a))
+ {
+ case G_TYPE_BOOLEAN:
+ ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
+ break;
+ case G_TYPE_UCHAR:
+ ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
+ break;
+ case G_TYPE_INT:
+ ret = (g_value_get_int (a) == g_value_get_int (b));
+ break;
+ case G_TYPE_UINT:
+ ret = (g_value_get_uint (a) == g_value_get_uint (b));
+ break;
+ case G_TYPE_INT64:
+ ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
+ break;
+ case G_TYPE_UINT64:
+ ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
+ break;
+ case G_TYPE_DOUBLE:
+ ret = (g_value_get_double (a) == g_value_get_double (b));
+ break;
+ case G_TYPE_STRING:
+ ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
+ break;
+ case G_TYPE_VARIANT:
+ ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
+ break;
+ default:
+ if (G_VALUE_TYPE (a) == G_TYPE_STRV)
+ ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
+ else
+ g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
+ break;
+ }
+ return ret;
+}
+
+/* ------------------------------------------------------------------------
+ * Code for interface org.cups.cupsd.Notifier
+ * ------------------------------------------------------------------------
+ */
+
+/**
+ * SECTION:CupsNotifier
+ * @title: CupsNotifier
+ * @short_description: Generated C code for the org.cups.cupsd.Notifier D-Bus interface
+ *
+ * This section contains code for working with the <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link> D-Bus interface in C.
+ */
+
+/* ---- Introspection data for org.cups.cupsd.Notifier ---- */
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_server_started_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_server_started_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_server_started_ARG_text,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_server_started =
+{
+ {
+ -1,
+ "ServerStarted",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_server_started_ARG_pointers,
+ NULL
+ },
+ "server-started"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_server_restarted_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_server_restarted_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_server_restarted_ARG_text,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_server_restarted =
+{
+ {
+ -1,
+ "ServerRestarted",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_server_restarted_ARG_pointers,
+ NULL
+ },
+ "server-restarted"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_server_stopped_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_server_stopped_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_server_stopped_ARG_text,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_server_stopped =
+{
+ {
+ -1,
+ "ServerStopped",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_server_stopped_ARG_pointers,
+ NULL
+ },
+ "server-stopped"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_server_audit_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_server_audit_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_server_audit_ARG_text,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_server_audit =
+{
+ {
+ -1,
+ "ServerAudit",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_server_audit_ARG_pointers,
+ NULL
+ },
+ "server-audit"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_added_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_added_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_added_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_added_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_added_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_added_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_added_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_added_ARG_text,
+ &_cups_notifier_signal_info_printer_added_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_added_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_added_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_added_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_added_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_added =
+{
+ {
+ -1,
+ "PrinterAdded",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_added_ARG_pointers,
+ NULL
+ },
+ "printer-added"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_deleted_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_deleted_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_deleted_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_deleted_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_deleted_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_deleted_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_deleted_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_deleted_ARG_text,
+ &_cups_notifier_signal_info_printer_deleted_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_deleted_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_deleted_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_deleted_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_deleted_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_deleted =
+{
+ {
+ -1,
+ "PrinterDeleted",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_deleted_ARG_pointers,
+ NULL
+ },
+ "printer-deleted"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_modified_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_modified_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_modified_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_modified_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_modified_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_modified_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_modified_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_modified_ARG_text,
+ &_cups_notifier_signal_info_printer_modified_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_modified_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_modified_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_modified_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_modified_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_modified =
+{
+ {
+ -1,
+ "PrinterModified",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_modified_ARG_pointers,
+ NULL
+ },
+ "printer-modified"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_restarted_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_restarted_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_restarted_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_restarted_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_restarted_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_restarted_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_restarted_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_restarted_ARG_text,
+ &_cups_notifier_signal_info_printer_restarted_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_restarted_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_restarted_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_restarted_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_restarted_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_restarted =
+{
+ {
+ -1,
+ "PrinterRestarted",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_restarted_ARG_pointers,
+ NULL
+ },
+ "printer-restarted"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_stopped_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_stopped_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_stopped_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_stopped_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_stopped_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_stopped_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_stopped_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_stopped_ARG_text,
+ &_cups_notifier_signal_info_printer_stopped_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_stopped_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_stopped_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_stopped_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_stopped_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_stopped =
+{
+ {
+ -1,
+ "PrinterStopped",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_stopped_ARG_pointers,
+ NULL
+ },
+ "printer-stopped"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_shutdown_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_shutdown_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_shutdown_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_shutdown_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_shutdown_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_shutdown_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_shutdown_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_shutdown_ARG_text,
+ &_cups_notifier_signal_info_printer_shutdown_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_shutdown_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_shutdown_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_shutdown_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_shutdown_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_shutdown =
+{
+ {
+ -1,
+ "PrinterShutdown",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_shutdown_ARG_pointers,
+ NULL
+ },
+ "printer-shutdown"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_state_changed_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_state_changed_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_state_changed_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_state_changed_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_state_changed_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_state_changed_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_state_changed_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_state_changed_ARG_text,
+ &_cups_notifier_signal_info_printer_state_changed_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_state_changed_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_state_changed_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_state_changed_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_state_changed_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_state_changed =
+{
+ {
+ -1,
+ "PrinterStateChanged",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_state_changed_ARG_pointers,
+ NULL
+ },
+ "printer-state-changed"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_finishings_changed_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_finishings_changed_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_finishings_changed_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_finishings_changed_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_finishings_changed_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_finishings_changed_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_finishings_changed_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_finishings_changed_ARG_text,
+ &_cups_notifier_signal_info_printer_finishings_changed_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_finishings_changed_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_finishings_changed_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_finishings_changed_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_finishings_changed_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_finishings_changed =
+{
+ {
+ -1,
+ "PrinterFinishingsChanged",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_finishings_changed_ARG_pointers,
+ NULL
+ },
+ "printer-finishings-changed"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_media_changed_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_media_changed_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_media_changed_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_media_changed_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_media_changed_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_printer_media_changed_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_printer_media_changed_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_printer_media_changed_ARG_text,
+ &_cups_notifier_signal_info_printer_media_changed_ARG_printer_uri,
+ &_cups_notifier_signal_info_printer_media_changed_ARG_printer_name,
+ &_cups_notifier_signal_info_printer_media_changed_ARG_printer_state,
+ &_cups_notifier_signal_info_printer_media_changed_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_printer_media_changed_ARG_printer_is_accepting_jobs,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_printer_media_changed =
+{
+ {
+ -1,
+ "PrinterMediaChanged",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_printer_media_changed_ARG_pointers,
+ NULL
+ },
+ "printer-media-changed"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_job_id =
+{
+ {
+ -1,
+ "job_id",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_job_state =
+{
+ {
+ -1,
+ "job_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_job_state_reasons =
+{
+ {
+ -1,
+ "job_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_job_name =
+{
+ {
+ -1,
+ "job_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_created_ARG_job_impressions_completed =
+{
+ {
+ -1,
+ "job_impressions_completed",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_job_created_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_job_created_ARG_text,
+ &_cups_notifier_signal_info_job_created_ARG_printer_uri,
+ &_cups_notifier_signal_info_job_created_ARG_printer_name,
+ &_cups_notifier_signal_info_job_created_ARG_printer_state,
+ &_cups_notifier_signal_info_job_created_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_job_created_ARG_printer_is_accepting_jobs,
+ &_cups_notifier_signal_info_job_created_ARG_job_id,
+ &_cups_notifier_signal_info_job_created_ARG_job_state,
+ &_cups_notifier_signal_info_job_created_ARG_job_state_reasons,
+ &_cups_notifier_signal_info_job_created_ARG_job_name,
+ &_cups_notifier_signal_info_job_created_ARG_job_impressions_completed,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_job_created =
+{
+ {
+ -1,
+ "JobCreated",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_job_created_ARG_pointers,
+ NULL
+ },
+ "job-created"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_job_id =
+{
+ {
+ -1,
+ "job_id",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_job_state =
+{
+ {
+ -1,
+ "job_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_job_state_reasons =
+{
+ {
+ -1,
+ "job_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_job_name =
+{
+ {
+ -1,
+ "job_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_completed_ARG_job_impressions_completed =
+{
+ {
+ -1,
+ "job_impressions_completed",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_job_completed_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_job_completed_ARG_text,
+ &_cups_notifier_signal_info_job_completed_ARG_printer_uri,
+ &_cups_notifier_signal_info_job_completed_ARG_printer_name,
+ &_cups_notifier_signal_info_job_completed_ARG_printer_state,
+ &_cups_notifier_signal_info_job_completed_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_job_completed_ARG_printer_is_accepting_jobs,
+ &_cups_notifier_signal_info_job_completed_ARG_job_id,
+ &_cups_notifier_signal_info_job_completed_ARG_job_state,
+ &_cups_notifier_signal_info_job_completed_ARG_job_state_reasons,
+ &_cups_notifier_signal_info_job_completed_ARG_job_name,
+ &_cups_notifier_signal_info_job_completed_ARG_job_impressions_completed,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_job_completed =
+{
+ {
+ -1,
+ "JobCompleted",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_job_completed_ARG_pointers,
+ NULL
+ },
+ "job-completed"
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_text =
+{
+ {
+ -1,
+ "text",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_printer_uri =
+{
+ {
+ -1,
+ "printer_uri",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_printer_name =
+{
+ {
+ -1,
+ "printer_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_printer_state =
+{
+ {
+ -1,
+ "printer_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_printer_state_reasons =
+{
+ {
+ -1,
+ "printer_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_printer_is_accepting_jobs =
+{
+ {
+ -1,
+ "printer_is_accepting_jobs",
+ "b",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_job_id =
+{
+ {
+ -1,
+ "job_id",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_job_state =
+{
+ {
+ -1,
+ "job_state",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_job_state_reasons =
+{
+ {
+ -1,
+ "job_state_reasons",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_job_name =
+{
+ {
+ -1,
+ "job_name",
+ "s",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo _cups_notifier_signal_info_job_state_ARG_job_impressions_completed =
+{
+ {
+ -1,
+ "job_impressions_completed",
+ "u",
+ NULL
+ },
+ FALSE
+};
+
+static const _ExtendedGDBusArgInfo * const _cups_notifier_signal_info_job_state_ARG_pointers[] =
+{
+ &_cups_notifier_signal_info_job_state_ARG_text,
+ &_cups_notifier_signal_info_job_state_ARG_printer_uri,
+ &_cups_notifier_signal_info_job_state_ARG_printer_name,
+ &_cups_notifier_signal_info_job_state_ARG_printer_state,
+ &_cups_notifier_signal_info_job_state_ARG_printer_state_reasons,
+ &_cups_notifier_signal_info_job_state_ARG_printer_is_accepting_jobs,
+ &_cups_notifier_signal_info_job_state_ARG_job_id,
+ &_cups_notifier_signal_info_job_state_ARG_job_state,
+ &_cups_notifier_signal_info_job_state_ARG_job_state_reasons,
+ &_cups_notifier_signal_info_job_state_ARG_job_name,
+ &_cups_notifier_signal_info_job_state_ARG_job_impressions_completed,
+ NULL
+};
+
+static const _ExtendedGDBusSignalInfo _cups_notifier_signal_info_job_state =
+{
+ {
+ -1,
+ "JobState",
+ (GDBusArgInfo **) &_cups_notifier_signal_info_job_state_ARG_pointers,
+ NULL
+ },
+ "job-state"
+};
+
+static const _ExtendedGDBusSignalInfo * const _cups_notifier_signal_info_pointers[] =
+{
+ &_cups_notifier_signal_info_server_started,
+ &_cups_notifier_signal_info_server_restarted,
+ &_cups_notifier_signal_info_server_stopped,
+ &_cups_notifier_signal_info_server_audit,
+ &_cups_notifier_signal_info_printer_added,
+ &_cups_notifier_signal_info_printer_deleted,
+ &_cups_notifier_signal_info_printer_modified,
+ &_cups_notifier_signal_info_printer_restarted,
+ &_cups_notifier_signal_info_printer_stopped,
+ &_cups_notifier_signal_info_printer_shutdown,
+ &_cups_notifier_signal_info_printer_state_changed,
+ &_cups_notifier_signal_info_printer_finishings_changed,
+ &_cups_notifier_signal_info_printer_media_changed,
+ &_cups_notifier_signal_info_job_created,
+ &_cups_notifier_signal_info_job_completed,
+ &_cups_notifier_signal_info_job_state,
+ NULL
+};
+
+static const _ExtendedGDBusInterfaceInfo _cups_notifier_interface_info =
+{
+ {
+ -1,
+ "org.cups.cupsd.Notifier",
+ NULL,
+ (GDBusSignalInfo **) &_cups_notifier_signal_info_pointers,
+ NULL,
+ NULL
+ },
+ "notifier",
+};
+
+
+/**
+ * cups_notifier_interface_info:
+ *
+ * Gets a machine-readable description of the <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link> D-Bus interface.
+ *
+ * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
+ */
+GDBusInterfaceInfo *
+cups_notifier_interface_info (void)
+{
+ return (GDBusInterfaceInfo *) &_cups_notifier_interface_info;
+}
+
+/**
+ * cups_notifier_override_properties:
+ * @klass: The class structure for a #GObject<!-- -->-derived class.
+ * @property_id_begin: The property id to assign to the first overridden property.
+ *
+ * Overrides all #GObject properties in the #CupsNotifier interface for a concrete class.
+ * The properties are overridden in the order they are defined.
+ *
+ * Returns: The last property id.
+ */
+guint
+cups_notifier_override_properties (GObjectClass *klass, guint property_id_begin)
+{
+ return property_id_begin - 1;
+}
+
+
+
+/**
+ * CupsNotifier:
+ *
+ * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link>.
+ */
+
+/**
+ * CupsNotifierIface:
+ * @parent_iface: The parent interface.
+ * @job_completed: Handler for the #CupsNotifier::job-completed signal.
+ * @job_created: Handler for the #CupsNotifier::job-created signal.
+ * @job_state: Handler for the #CupsNotifier::job-state signal.
+ * @printer_added: Handler for the #CupsNotifier::printer-added signal.
+ * @printer_deleted: Handler for the #CupsNotifier::printer-deleted signal.
+ * @printer_finishings_changed: Handler for the #CupsNotifier::printer-finishings-changed signal.
+ * @printer_media_changed: Handler for the #CupsNotifier::printer-media-changed signal.
+ * @printer_modified: Handler for the #CupsNotifier::printer-modified signal.
+ * @printer_restarted: Handler for the #CupsNotifier::printer-restarted signal.
+ * @printer_shutdown: Handler for the #CupsNotifier::printer-shutdown signal.
+ * @printer_state_changed: Handler for the #CupsNotifier::printer-state-changed signal.
+ * @printer_stopped: Handler for the #CupsNotifier::printer-stopped signal.
+ * @server_audit: Handler for the #CupsNotifier::server-audit signal.
+ * @server_restarted: Handler for the #CupsNotifier::server-restarted signal.
+ * @server_started: Handler for the #CupsNotifier::server-started signal.
+ * @server_stopped: Handler for the #CupsNotifier::server-stopped signal.
+ *
+ * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link>.
+ */
+
+static void
+cups_notifier_default_init (CupsNotifierIface *iface)
+{
+ /* GObject signals for received D-Bus signals: */
+ /**
+ * CupsNotifier::server-started:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerStarted">"ServerStarted"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("server-started",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, server_started),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+
+ /**
+ * CupsNotifier::server-restarted:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerRestarted">"ServerRestarted"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("server-restarted",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, server_restarted),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+
+ /**
+ * CupsNotifier::server-stopped:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerStopped">"ServerStopped"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("server-stopped",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, server_stopped),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+
+ /**
+ * CupsNotifier::server-audit:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerAudit">"ServerAudit"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("server-audit",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, server_audit),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 1, G_TYPE_STRING);
+
+ /**
+ * CupsNotifier::printer-added:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterAdded">"PrinterAdded"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-added",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_added),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-deleted:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterDeleted">"PrinterDeleted"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-deleted",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_deleted),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-modified:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterModified">"PrinterModified"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-modified",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_modified),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-restarted:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterRestarted">"PrinterRestarted"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-restarted",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_restarted),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-stopped:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterStopped">"PrinterStopped"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-stopped",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_stopped),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-shutdown:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterShutdown">"PrinterShutdown"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-shutdown",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_shutdown),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-state-changed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterStateChanged">"PrinterStateChanged"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-state-changed",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_state_changed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-finishings-changed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterFinishingsChanged">"PrinterFinishingsChanged"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-finishings-changed",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_finishings_changed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::printer-media-changed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterMediaChanged">"PrinterMediaChanged"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("printer-media-changed",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, printer_media_changed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
+
+ /**
+ * CupsNotifier::job-created:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ * @arg_job_id: Argument.
+ * @arg_job_state: Argument.
+ * @arg_job_state_reasons: Argument.
+ * @arg_job_name: Argument.
+ * @arg_job_impressions_completed: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.JobCreated">"JobCreated"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("job-created",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, job_created),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 11, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
+
+ /**
+ * CupsNotifier::job-completed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ * @arg_job_id: Argument.
+ * @arg_job_state: Argument.
+ * @arg_job_state_reasons: Argument.
+ * @arg_job_name: Argument.
+ * @arg_job_impressions_completed: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.JobCompleted">"JobCompleted"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("job-completed",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, job_completed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 11, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
+
+ /**
+ * CupsNotifier::job-state:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument.
+ * @arg_printer_uri: Argument.
+ * @arg_printer_name: Argument.
+ * @arg_printer_state: Argument.
+ * @arg_printer_state_reasons: Argument.
+ * @arg_printer_is_accepting_jobs: Argument.
+ * @arg_job_id: Argument.
+ * @arg_job_state: Argument.
+ * @arg_job_state_reasons: Argument.
+ * @arg_job_name: Argument.
+ * @arg_job_impressions_completed: Argument.
+ *
+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-cups-cupsd-Notifier.JobState">"JobState"</link> is received.
+ *
+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
+ */
+ g_signal_new ("job-state",
+ G_TYPE_FROM_INTERFACE (iface),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CupsNotifierIface, job_state),
+ NULL,
+ NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 11, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
+
+}
+
+typedef CupsNotifierIface CupsNotifierInterface;
+G_DEFINE_INTERFACE (CupsNotifier, cups_notifier, G_TYPE_OBJECT);
+
+/**
+ * cups_notifier_emit_server_started:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerStarted">"ServerStarted"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_server_started (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ g_signal_emit_by_name (object, "server-started", arg_text);
+}
+
+/**
+ * cups_notifier_emit_server_restarted:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerRestarted">"ServerRestarted"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_server_restarted (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ g_signal_emit_by_name (object, "server-restarted", arg_text);
+}
+
+/**
+ * cups_notifier_emit_server_stopped:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerStopped">"ServerStopped"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_server_stopped (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ g_signal_emit_by_name (object, "server-stopped", arg_text);
+}
+
+/**
+ * cups_notifier_emit_server_audit:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.ServerAudit">"ServerAudit"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_server_audit (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ g_signal_emit_by_name (object, "server-audit", arg_text);
+}
+
+/**
+ * cups_notifier_emit_printer_added:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterAdded">"PrinterAdded"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_added (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-added", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_deleted:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterDeleted">"PrinterDeleted"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_deleted (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-deleted", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_modified:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterModified">"PrinterModified"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_modified (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-modified", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_restarted:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterRestarted">"PrinterRestarted"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_restarted (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-restarted", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_stopped:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterStopped">"PrinterStopped"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_stopped (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-stopped", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_shutdown:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterShutdown">"PrinterShutdown"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_shutdown (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-shutdown", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_state_changed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterStateChanged">"PrinterStateChanged"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_state_changed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-state-changed", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_finishings_changed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterFinishingsChanged">"PrinterFinishingsChanged"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_finishings_changed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-finishings-changed", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_printer_media_changed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.PrinterMediaChanged">"PrinterMediaChanged"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_printer_media_changed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ g_signal_emit_by_name (object, "printer-media-changed", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs);
+}
+
+/**
+ * cups_notifier_emit_job_created:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ * @arg_job_id: Argument to pass with the signal.
+ * @arg_job_state: Argument to pass with the signal.
+ * @arg_job_state_reasons: Argument to pass with the signal.
+ * @arg_job_name: Argument to pass with the signal.
+ * @arg_job_impressions_completed: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.JobCreated">"JobCreated"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_job_created (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs,
+ guint arg_job_id,
+ guint arg_job_state,
+ const gchar *arg_job_state_reasons,
+ const gchar *arg_job_name,
+ guint arg_job_impressions_completed)
+{
+ g_signal_emit_by_name (object, "job-created", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs, arg_job_id, arg_job_state, arg_job_state_reasons, arg_job_name, arg_job_impressions_completed);
+}
+
+/**
+ * cups_notifier_emit_job_completed:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ * @arg_job_id: Argument to pass with the signal.
+ * @arg_job_state: Argument to pass with the signal.
+ * @arg_job_state_reasons: Argument to pass with the signal.
+ * @arg_job_name: Argument to pass with the signal.
+ * @arg_job_impressions_completed: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.JobCompleted">"JobCompleted"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_job_completed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs,
+ guint arg_job_id,
+ guint arg_job_state,
+ const gchar *arg_job_state_reasons,
+ const gchar *arg_job_name,
+ guint arg_job_impressions_completed)
+{
+ g_signal_emit_by_name (object, "job-completed", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs, arg_job_id, arg_job_state, arg_job_state_reasons, arg_job_name, arg_job_impressions_completed);
+}
+
+/**
+ * cups_notifier_emit_job_state:
+ * @object: A #CupsNotifier.
+ * @arg_text: Argument to pass with the signal.
+ * @arg_printer_uri: Argument to pass with the signal.
+ * @arg_printer_name: Argument to pass with the signal.
+ * @arg_printer_state: Argument to pass with the signal.
+ * @arg_printer_state_reasons: Argument to pass with the signal.
+ * @arg_printer_is_accepting_jobs: Argument to pass with the signal.
+ * @arg_job_id: Argument to pass with the signal.
+ * @arg_job_state: Argument to pass with the signal.
+ * @arg_job_state_reasons: Argument to pass with the signal.
+ * @arg_job_name: Argument to pass with the signal.
+ * @arg_job_impressions_completed: Argument to pass with the signal.
+ *
+ * Emits the <link linkend="gdbus-signal-org-cups-cupsd-Notifier.JobState">"JobState"</link> D-Bus signal.
+ */
+void
+cups_notifier_emit_job_state (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs,
+ guint arg_job_id,
+ guint arg_job_state,
+ const gchar *arg_job_state_reasons,
+ const gchar *arg_job_name,
+ guint arg_job_impressions_completed)
+{
+ g_signal_emit_by_name (object, "job-state", arg_text, arg_printer_uri, arg_printer_name, arg_printer_state, arg_printer_state_reasons, arg_printer_is_accepting_jobs, arg_job_id, arg_job_state, arg_job_state_reasons, arg_job_name, arg_job_impressions_completed);
+}
+
+/* ------------------------------------------------------------------------ */
+
+/**
+ * CupsNotifierProxy:
+ *
+ * The #CupsNotifierProxy structure contains only private data and should only be accessed using the provided API.
+ */
+
+/**
+ * CupsNotifierProxyClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #CupsNotifierProxy.
+ */
+
+struct _CupsNotifierProxyPrivate
+{
+ GData *qdata;
+};
+
+static void cups_notifier_proxy_iface_init (CupsNotifierIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (CupsNotifierProxy, cups_notifier_proxy, G_TYPE_DBUS_PROXY,
+ G_IMPLEMENT_INTERFACE (CUPS_TYPE_NOTIFIER, cups_notifier_proxy_iface_init));
+
+static void
+cups_notifier_proxy_finalize (GObject *object)
+{
+ CupsNotifierProxy *proxy = CUPS_NOTIFIER_PROXY (object);
+ g_datalist_clear (&proxy->priv->qdata);
+ G_OBJECT_CLASS (cups_notifier_proxy_parent_class)->finalize (object);
+}
+
+static void
+cups_notifier_proxy_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+}
+
+static void
+cups_notifier_proxy_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+}
+
+static void
+cups_notifier_proxy_g_signal (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters)
+{
+ _ExtendedGDBusSignalInfo *info;
+ GVariantIter iter;
+ GVariant *child;
+ GValue *paramv;
+ guint num_params;
+ guint n;
+ guint signal_id;
+ info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_cups_notifier_interface_info, signal_name);
+ if (info == NULL)
+ return;
+ num_params = g_variant_n_children (parameters);
+ paramv = g_new0 (GValue, num_params + 1);
+ g_value_init (&paramv[0], CUPS_TYPE_NOTIFIER);
+ g_value_set_object (&paramv[0], proxy);
+ g_variant_iter_init (&iter, parameters);
+ n = 1;
+ while ((child = g_variant_iter_next_value (&iter)) != NULL)
+ {
+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
+ if (arg_info->use_gvariant)
+ {
+ g_value_init (&paramv[n], G_TYPE_VARIANT);
+ g_value_set_variant (&paramv[n], child);
+ n++;
+ }
+ else
+ g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
+ g_variant_unref (child);
+ }
+ signal_id = g_signal_lookup (info->signal_name, CUPS_TYPE_NOTIFIER);
+ g_signal_emitv (paramv, signal_id, 0, NULL);
+ for (n = 0; n < num_params + 1; n++)
+ g_value_unset (&paramv[n]);
+ g_free (paramv);
+}
+
+static void
+cups_notifier_proxy_g_properties_changed (GDBusProxy *_proxy,
+ GVariant *changed_properties,
+ const gchar *const *invalidated_properties)
+{
+ CupsNotifierProxy *proxy = CUPS_NOTIFIER_PROXY (_proxy);
+ guint n;
+ const gchar *key;
+ GVariantIter *iter;
+ _ExtendedGDBusPropertyInfo *info;
+ g_variant_get (changed_properties, "a{sv}", &iter);
+ while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
+ {
+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_cups_notifier_interface_info, key);
+ g_datalist_remove_data (&proxy->priv->qdata, key);
+ if (info != NULL)
+ g_object_notify (G_OBJECT (proxy), info->hyphen_name);
+ }
+ g_variant_iter_free (iter);
+ for (n = 0; invalidated_properties[n] != NULL; n++)
+ {
+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_cups_notifier_interface_info, invalidated_properties[n]);
+ g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
+ if (info != NULL)
+ g_object_notify (G_OBJECT (proxy), info->hyphen_name);
+ }
+}
+
+static void
+cups_notifier_proxy_init (CupsNotifierProxy *proxy)
+{
+ proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, CUPS_TYPE_NOTIFIER_PROXY, CupsNotifierProxyPrivate);
+ g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), cups_notifier_interface_info ());
+}
+
+static void
+cups_notifier_proxy_class_init (CupsNotifierProxyClass *klass)
+{
+ GObjectClass *gobject_class;
+ GDBusProxyClass *proxy_class;
+
+ g_type_class_add_private (klass, sizeof (CupsNotifierProxyPrivate));
+
+ gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = cups_notifier_proxy_finalize;
+ gobject_class->get_property = cups_notifier_proxy_get_property;
+ gobject_class->set_property = cups_notifier_proxy_set_property;
+
+ proxy_class = G_DBUS_PROXY_CLASS (klass);
+ proxy_class->g_signal = cups_notifier_proxy_g_signal;
+ proxy_class->g_properties_changed = cups_notifier_proxy_g_properties_changed;
+
+}
+
+static void
+cups_notifier_proxy_iface_init (CupsNotifierIface *iface)
+{
+}
+
+/**
+ * cups_notifier_proxy_new:
+ * @connection: A #GDBusConnection.
+ * @flags: Flags from the #GDBusProxyFlags enumeration.
+ * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
+ * @user_data: User data to pass to @callback.
+ *
+ * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link>. See g_dbus_proxy_new() for more details.
+ *
+ * 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.
+ * You can then call cups_notifier_proxy_new_finish() to get the result of the operation.
+ *
+ * See cups_notifier_proxy_new_sync() for the synchronous, blocking version of this constructor.
+ */
+void
+cups_notifier_proxy_new (
+ GDBusConnection *connection,
+ GDBusProxyFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_async_initable_new_async (CUPS_TYPE_NOTIFIER_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.cups.cupsd.Notifier", NULL);
+}
+
+/**
+ * cups_notifier_proxy_new_finish:
+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to cups_notifier_proxy_new().
+ * @error: Return location for error or %NULL
+ *
+ * Finishes an operation started with cups_notifier_proxy_new().
+ *
+ * Returns: (transfer full) (type CupsNotifierProxy): The constructed proxy object or %NULL if @error is set.
+ */
+CupsNotifier *
+cups_notifier_proxy_new_finish (
+ GAsyncResult *res,
+ GError **error)
+{
+ GObject *ret;
+ GObject *source_object;
+ source_object = g_async_result_get_source_object (res);
+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
+ g_object_unref (source_object);
+ if (ret != NULL)
+ return CUPS_NOTIFIER (ret);
+ else
+ return NULL;
+}
+
+/**
+ * cups_notifier_proxy_new_sync:
+ * @connection: A #GDBusConnection.
+ * @flags: Flags from the #GDBusProxyFlags enumeration.
+ * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL
+ *
+ * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link>. See g_dbus_proxy_new_sync() for more details.
+ *
+ * The calling thread is blocked until a reply is received.
+ *
+ * See cups_notifier_proxy_new() for the asynchronous version of this constructor.
+ *
+ * Returns: (transfer full) (type CupsNotifierProxy): The constructed proxy object or %NULL if @error is set.
+ */
+CupsNotifier *
+cups_notifier_proxy_new_sync (
+ GDBusConnection *connection,
+ GDBusProxyFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GInitable *ret;
+ ret = g_initable_new (CUPS_TYPE_NOTIFIER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.cups.cupsd.Notifier", NULL);
+ if (ret != NULL)
+ return CUPS_NOTIFIER (ret);
+ else
+ return NULL;
+}
+
+
+/**
+ * cups_notifier_proxy_new_for_bus:
+ * @bus_type: A #GBusType.
+ * @flags: Flags from the #GDBusProxyFlags enumeration.
+ * @name: A bus name (well-known or unique).
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
+ * @user_data: User data to pass to @callback.
+ *
+ * Like cups_notifier_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
+ *
+ * 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.
+ * You can then call cups_notifier_proxy_new_for_bus_finish() to get the result of the operation.
+ *
+ * See cups_notifier_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
+ */
+void
+cups_notifier_proxy_new_for_bus (
+ GBusType bus_type,
+ GDBusProxyFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_async_initable_new_async (CUPS_TYPE_NOTIFIER_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.cups.cupsd.Notifier", NULL);
+}
+
+/**
+ * cups_notifier_proxy_new_for_bus_finish:
+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to cups_notifier_proxy_new_for_bus().
+ * @error: Return location for error or %NULL
+ *
+ * Finishes an operation started with cups_notifier_proxy_new_for_bus().
+ *
+ * Returns: (transfer full) (type CupsNotifierProxy): The constructed proxy object or %NULL if @error is set.
+ */
+CupsNotifier *
+cups_notifier_proxy_new_for_bus_finish (
+ GAsyncResult *res,
+ GError **error)
+{
+ GObject *ret;
+ GObject *source_object;
+ source_object = g_async_result_get_source_object (res);
+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
+ g_object_unref (source_object);
+ if (ret != NULL)
+ return CUPS_NOTIFIER (ret);
+ else
+ return NULL;
+}
+
+/**
+ * cups_notifier_proxy_new_for_bus_sync:
+ * @bus_type: A #GBusType.
+ * @flags: Flags from the #GDBusProxyFlags enumeration.
+ * @name: A bus name (well-known or unique).
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL
+ *
+ * Like cups_notifier_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
+ *
+ * The calling thread is blocked until a reply is received.
+ *
+ * See cups_notifier_proxy_new_for_bus() for the asynchronous version of this constructor.
+ *
+ * Returns: (transfer full) (type CupsNotifierProxy): The constructed proxy object or %NULL if @error is set.
+ */
+CupsNotifier *
+cups_notifier_proxy_new_for_bus_sync (
+ GBusType bus_type,
+ GDBusProxyFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GInitable *ret;
+ ret = g_initable_new (CUPS_TYPE_NOTIFIER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.cups.cupsd.Notifier", NULL);
+ if (ret != NULL)
+ return CUPS_NOTIFIER (ret);
+ else
+ return NULL;
+}
+
+
+/* ------------------------------------------------------------------------ */
+
+/**
+ * CupsNotifierSkeleton:
+ *
+ * The #CupsNotifierSkeleton structure contains only private data and should only be accessed using the provided API.
+ */
+
+/**
+ * CupsNotifierSkeletonClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #CupsNotifierSkeleton.
+ */
+
+struct _CupsNotifierSkeletonPrivate
+{
+ GValue *properties;
+ GList *changed_properties;
+ GSource *changed_properties_idle_source;
+ GMainContext *context;
+ GMutex lock;
+};
+
+static void
+_cups_notifier_skeleton_handle_method_call (
+ GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusMethodInvocation *invocation,
+ gpointer user_data)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (user_data);
+ _ExtendedGDBusMethodInfo *info;
+ GVariantIter iter;
+ GVariant *child;
+ GValue *paramv;
+ guint num_params;
+ guint num_extra;
+ guint n;
+ guint signal_id;
+ GValue return_value = G_VALUE_INIT;
+ info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
+ g_assert (info != NULL);
+ num_params = g_variant_n_children (parameters);
+ num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
+ n = 0;
+ g_value_init (&paramv[n], CUPS_TYPE_NOTIFIER);
+ g_value_set_object (&paramv[n++], skeleton);
+ g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
+ g_value_set_object (&paramv[n++], invocation);
+ if (info->pass_fdlist)
+ {
+#ifdef G_OS_UNIX
+ g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
+ g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
+#else
+ g_assert_not_reached ();
+#endif
+ }
+ g_variant_iter_init (&iter, parameters);
+ while ((child = g_variant_iter_next_value (&iter)) != NULL)
+ {
+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
+ if (arg_info->use_gvariant)
+ {
+ g_value_init (&paramv[n], G_TYPE_VARIANT);
+ g_value_set_variant (&paramv[n], child);
+ n++;
+ }
+ else
+ g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
+ g_variant_unref (child);
+ }
+ signal_id = g_signal_lookup (info->signal_name, CUPS_TYPE_NOTIFIER);
+ g_value_init (&return_value, G_TYPE_BOOLEAN);
+ g_signal_emitv (paramv, signal_id, 0, &return_value);
+ if (!g_value_get_boolean (&return_value))
+ 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);
+ g_value_unset (&return_value);
+ for (n = 0; n < num_params + num_extra; n++)
+ g_value_unset (&paramv[n]);
+ g_free (paramv);
+}
+
+static GVariant *
+_cups_notifier_skeleton_handle_get_property (
+ GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *property_name,
+ GError **error,
+ gpointer user_data)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (user_data);
+ GValue value = G_VALUE_INIT;
+ GParamSpec *pspec;
+ _ExtendedGDBusPropertyInfo *info;
+ GVariant *ret;
+ ret = NULL;
+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_cups_notifier_interface_info, property_name);
+ g_assert (info != NULL);
+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
+ if (pspec == NULL)
+ {
+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
+ }
+ else
+ {
+ g_value_init (&value, pspec->value_type);
+ g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
+ ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
+ g_value_unset (&value);
+ }
+ return ret;
+}
+
+static gboolean
+_cups_notifier_skeleton_handle_set_property (
+ GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *property_name,
+ GVariant *variant,
+ GError **error,
+ gpointer user_data)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (user_data);
+ GValue value = G_VALUE_INIT;
+ GParamSpec *pspec;
+ _ExtendedGDBusPropertyInfo *info;
+ gboolean ret;
+ ret = FALSE;
+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_cups_notifier_interface_info, property_name);
+ g_assert (info != NULL);
+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
+ if (pspec == NULL)
+ {
+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
+ }
+ else
+ {
+ if (info->use_gvariant)
+ g_value_set_variant (&value, variant);
+ else
+ g_dbus_gvariant_to_gvalue (variant, &value);
+ g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
+ g_value_unset (&value);
+ ret = TRUE;
+ }
+ return ret;
+}
+
+static const GDBusInterfaceVTable _cups_notifier_skeleton_vtable =
+{
+ _cups_notifier_skeleton_handle_method_call,
+ _cups_notifier_skeleton_handle_get_property,
+ _cups_notifier_skeleton_handle_set_property
+};
+
+static GDBusInterfaceInfo *
+cups_notifier_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton)
+{
+ return cups_notifier_interface_info ();
+}
+
+static GDBusInterfaceVTable *
+cups_notifier_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton)
+{
+ return (GDBusInterfaceVTable *) &_cups_notifier_skeleton_vtable;
+}
+
+static GVariant *
+cups_notifier_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (_skeleton);
+
+ GVariantBuilder builder;
+ guint n;
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
+ if (_cups_notifier_interface_info.parent_struct.properties == NULL)
+ goto out;
+ for (n = 0; _cups_notifier_interface_info.parent_struct.properties[n] != NULL; n++)
+ {
+ GDBusPropertyInfo *info = _cups_notifier_interface_info.parent_struct.properties[n];
+ if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
+ {
+ GVariant *value;
+ value = _cups_notifier_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.cups.cupsd.Notifier", info->name, NULL, skeleton);
+ if (value != NULL)
+ {
+ g_variant_take_ref (value);
+ g_variant_builder_add (&builder, "{sv}", info->name, value);
+ g_variant_unref (value);
+ }
+ }
+ }
+out:
+ return g_variant_builder_end (&builder);
+}
+
+static void
+cups_notifier_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
+{
+}
+
+static void
+_cups_notifier_on_signal_server_started (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(s)",
+ arg_text));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "ServerStarted",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_server_restarted (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(s)",
+ arg_text));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "ServerRestarted",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_server_stopped (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(s)",
+ arg_text));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "ServerStopped",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_server_audit (
+ CupsNotifier *object,
+ const gchar *arg_text)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(s)",
+ arg_text));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "ServerAudit",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_added (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterAdded",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_deleted (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterDeleted",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_modified (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterModified",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_restarted (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterRestarted",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_stopped (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterStopped",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_shutdown (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterShutdown",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_state_changed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterStateChanged",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_finishings_changed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterFinishingsChanged",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_printer_media_changed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusb)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "PrinterMediaChanged",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_job_created (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs,
+ guint arg_job_id,
+ guint arg_job_state,
+ const gchar *arg_job_state_reasons,
+ const gchar *arg_job_name,
+ guint arg_job_impressions_completed)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusbuussu)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs,
+ arg_job_id,
+ arg_job_state,
+ arg_job_state_reasons,
+ arg_job_name,
+ arg_job_impressions_completed));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "JobCreated",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_job_completed (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs,
+ guint arg_job_id,
+ guint arg_job_state,
+ const gchar *arg_job_state_reasons,
+ const gchar *arg_job_name,
+ guint arg_job_impressions_completed)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusbuussu)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs,
+ arg_job_id,
+ arg_job_state,
+ arg_job_state_reasons,
+ arg_job_name,
+ arg_job_impressions_completed));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "JobCompleted",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void
+_cups_notifier_on_signal_job_state (
+ CupsNotifier *object,
+ const gchar *arg_text,
+ const gchar *arg_printer_uri,
+ const gchar *arg_printer_name,
+ guint arg_printer_state,
+ const gchar *arg_printer_state_reasons,
+ gboolean arg_printer_is_accepting_jobs,
+ guint arg_job_id,
+ guint arg_job_state,
+ const gchar *arg_job_state_reasons,
+ const gchar *arg_job_name,
+ guint arg_job_impressions_completed)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+
+ GList *connections, *l;
+ GVariant *signal_variant;
+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
+
+ signal_variant = g_variant_ref_sink (g_variant_new ("(sssusbuussu)",
+ arg_text,
+ arg_printer_uri,
+ arg_printer_name,
+ arg_printer_state,
+ arg_printer_state_reasons,
+ arg_printer_is_accepting_jobs,
+ arg_job_id,
+ arg_job_state,
+ arg_job_state_reasons,
+ arg_job_name,
+ arg_job_impressions_completed));
+ for (l = connections; l != NULL; l = l->next)
+ {
+ GDBusConnection *connection = l->data;
+ g_dbus_connection_emit_signal (connection,
+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.cups.cupsd.Notifier", "JobState",
+ signal_variant, NULL);
+ }
+ g_variant_unref (signal_variant);
+ g_list_free_full (connections, g_object_unref);
+}
+
+static void cups_notifier_skeleton_iface_init (CupsNotifierIface *iface);
+G_DEFINE_TYPE_WITH_CODE (CupsNotifierSkeleton, cups_notifier_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
+ G_IMPLEMENT_INTERFACE (CUPS_TYPE_NOTIFIER, cups_notifier_skeleton_iface_init));
+
+static void
+cups_notifier_skeleton_finalize (GObject *object)
+{
+ CupsNotifierSkeleton *skeleton = CUPS_NOTIFIER_SKELETON (object);
+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
+ if (skeleton->priv->changed_properties_idle_source != NULL)
+ g_source_destroy (skeleton->priv->changed_properties_idle_source);
+ g_main_context_unref (skeleton->priv->context);
+ g_mutex_clear (&skeleton->priv->lock);
+ G_OBJECT_CLASS (cups_notifier_skeleton_parent_class)->finalize (object);
+}
+
+static void
+cups_notifier_skeleton_init (CupsNotifierSkeleton *skeleton)
+{
+ skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, CUPS_TYPE_NOTIFIER_SKELETON, CupsNotifierSkeletonPrivate);
+ g_mutex_init (&skeleton->priv->lock);
+ skeleton->priv->context = g_main_context_ref_thread_default ();
+}
+
+static void
+cups_notifier_skeleton_class_init (CupsNotifierSkeletonClass *klass)
+{
+ GObjectClass *gobject_class;
+ GDBusInterfaceSkeletonClass *skeleton_class;
+
+ g_type_class_add_private (klass, sizeof (CupsNotifierSkeletonPrivate));
+
+ gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = cups_notifier_skeleton_finalize;
+
+ skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
+ skeleton_class->get_info = cups_notifier_skeleton_dbus_interface_get_info;
+ skeleton_class->get_properties = cups_notifier_skeleton_dbus_interface_get_properties;
+ skeleton_class->flush = cups_notifier_skeleton_dbus_interface_flush;
+ skeleton_class->get_vtable = cups_notifier_skeleton_dbus_interface_get_vtable;
+}
+
+static void
+cups_notifier_skeleton_iface_init (CupsNotifierIface *iface)
+{
+ iface->server_started = _cups_notifier_on_signal_server_started;
+ iface->server_restarted = _cups_notifier_on_signal_server_restarted;
+ iface->server_stopped = _cups_notifier_on_signal_server_stopped;
+ iface->server_audit = _cups_notifier_on_signal_server_audit;
+ iface->printer_added = _cups_notifier_on_signal_printer_added;
+ iface->printer_deleted = _cups_notifier_on_signal_printer_deleted;
+ iface->printer_modified = _cups_notifier_on_signal_printer_modified;
+ iface->printer_restarted = _cups_notifier_on_signal_printer_restarted;
+ iface->printer_stopped = _cups_notifier_on_signal_printer_stopped;
+ iface->printer_shutdown = _cups_notifier_on_signal_printer_shutdown;
+ iface->printer_state_changed = _cups_notifier_on_signal_printer_state_changed;
+ iface->printer_finishings_changed = _cups_notifier_on_signal_printer_finishings_changed;
+ iface->printer_media_changed = _cups_notifier_on_signal_printer_media_changed;
+ iface->job_created = _cups_notifier_on_signal_job_created;
+ iface->job_completed = _cups_notifier_on_signal_job_completed;
+ iface->job_state = _cups_notifier_on_signal_job_state;
+}
+
+/**
+ * cups_notifier_skeleton_new:
+ *
+ * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-cups-cupsd-Notifier.top_of_page">org.cups.cupsd.Notifier</link>.
+ *
+ * Returns: (transfer full) (type CupsNotifierSkeleton): The skeleton object.
+ */
+CupsNotifier *
+cups_notifier_skeleton_new (void)
+{
+ return CUPS_NOTIFIER (g_object_new (CUPS_TYPE_NOTIFIER_SKELETON, NULL));
+}
+