From 5b005882b2af5868261a01a386028291516aabb0 Mon Sep 17 00:00:00 2001 From: kremlin Date: Tue, 8 Jul 2014 01:41:59 -0500 Subject: [PATCH] (1) regenerate leaner genfiles, we're not using the object manager functionality (2) modify gen-gdbus-interfaces to exclude object manager functionality (3) make localed skeleton (4) namespace hostnamed's and localed's bus/name functions properly (5) edit main.c to init localed --- scripts/gen-gdbus-interfaces.sh | 1 - src/interfaces/hostnamed/hostnamed-gen.c | 564 ------------------ src/interfaces/hostnamed/hostnamed-gen.h | 142 ----- src/interfaces/hostnamed/hostnamed.c | 12 +- src/interfaces/localed/localed-gen.c | 697 ----------------------- src/interfaces/localed/localed-gen.h | 142 ----- src/interfaces/localed/localed.c | 181 ++++++ src/interfaces/localed/localed.h | 1 + src/interfaces/logind/logind-gen.c | 564 ------------------ src/interfaces/logind/logind-gen.h | 142 ----- src/interfaces/timedated/timedated-gen.c | 564 ------------------ src/interfaces/timedated/timedated-gen.h | 142 ----- src/main.c | 8 +- 13 files changed, 195 insertions(+), 2965 deletions(-) diff --git a/scripts/gen-gdbus-interfaces.sh b/scripts/gen-gdbus-interfaces.sh index 31381d3..9dd20c0 100755 --- a/scripts/gen-gdbus-interfaces.sh +++ b/scripts/gen-gdbus-interfaces.sh @@ -31,7 +31,6 @@ gdbus-codegen \ --interface-prefix org.freedesktop. \ --generate-docbook doc/$1-docbook.xml \ --generate-c-code src/interfaces/$1/$1-gen \ ---c-generate-object-manager \ --c-namespace $1 \ conf/$1-ispect.xml diff --git a/src/interfaces/hostnamed/hostnamed-gen.c b/src/interfaces/hostnamed/hostnamed-gen.c index 030277f..23f04b3 100644 --- a/src/interfaces/hostnamed/hostnamed-gen.c +++ b/src/interfaces/hostnamed/hostnamed-gen.c @@ -3172,567 +3172,3 @@ hostnamed_hostname1_skeleton_new (void) return HOSTNAMED_HOSTNAME1 (g_object_new (HOSTNAMED_TYPE_HOSTNAME1_SKELETON, NULL)); } -/* ------------------------------------------------------------------------ - * Code for Object, ObjectProxy and ObjectSkeleton - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:hostnamedObject - * @title: hostnamedObject - * @short_description: Specialized GDBusObject types - * - * This section contains the #hostnamedObject, #hostnamedObjectProxy, and #hostnamedObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces. - */ - -/** - * hostnamedObject: - * - * The #hostnamedObject type is a specialized container of interfaces. - */ - -/** - * hostnamedObjectIface: - * @parent_iface: The parent interface. - * - * Virtual table for the #hostnamedObject interface. - */ - -typedef hostnamedObjectIface hostnamedObjectInterface; -G_DEFINE_INTERFACE_WITH_CODE (hostnamedObject, hostnamed_object, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT)); - -static void -hostnamed_object_default_init (hostnamedObjectIface *iface) -{ - /** - * hostnamedObject:hostname1: - * - * The #hostnamedHostname1 instance corresponding to the D-Bus interface org.freedesktop.hostname1, if any. - * - * Connect to the #GObject::notify signal to get informed of property changes. - */ - g_object_interface_install_property (iface, g_param_spec_object ("hostname1", "hostname1", "hostname1", HOSTNAMED_TYPE_HOSTNAME1, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS)); - -} - -/** - * hostnamed_object_get_hostname1: - * @object: A #hostnamedObject. - * - * Gets the #hostnamedHostname1 instance for the D-Bus interface org.freedesktop.hostname1 on @object, if any. - * - * Returns: (transfer full): A #hostnamedHostname1 that must be freed with g_object_unref() or %NULL if @object does not implement the interface. - */ -hostnamedHostname1 *hostnamed_object_get_hostname1 (hostnamedObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1"); - if (ret == NULL) - return NULL; - return HOSTNAMED_HOSTNAME1 (ret); -} - - -/** - * hostnamed_object_peek_hostname1: (skip) - * @object: A #hostnamedObject. - * - * Like hostnamed_object_get_hostname1() but doesn't increase the reference count on the returned object. - * - * It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running. - * - * Returns: (transfer none): A #hostnamedHostname1 or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object. - */ -hostnamedHostname1 *hostnamed_object_peek_hostname1 (hostnamedObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1"); - if (ret == NULL) - return NULL; - g_object_unref (ret); - return HOSTNAMED_HOSTNAME1 (ret); -} - - -static void -hostnamed_object_notify (GDBusObject *object, GDBusInterface *interface) -{ - _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface); - /* info can be NULL if the other end is using a D-Bus interface we don't know - * anything about, for example old generated code in this process talking to - * newer generated code in the other process. */ - if (info != NULL) - g_object_notify (G_OBJECT (object), info->hyphen_name); -} - -/** - * hostnamedObjectProxy: - * - * The #hostnamedObjectProxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * hostnamedObjectProxyClass: - * @parent_class: The parent class. - * - * Class structure for #hostnamedObjectProxy. - */ - -static void -hostnamed_object_proxy__hostnamed_object_iface_init (hostnamedObjectIface *iface G_GNUC_UNUSED) -{ -} - -static void -hostnamed_object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = hostnamed_object_notify; - iface->interface_removed = hostnamed_object_notify; -} - - -G_DEFINE_TYPE_WITH_CODE (hostnamedObjectProxy, hostnamed_object_proxy, G_TYPE_DBUS_OBJECT_PROXY, - G_IMPLEMENT_INTERFACE (HOSTNAMED_TYPE_OBJECT, hostnamed_object_proxy__hostnamed_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, hostnamed_object_proxy__g_dbus_object_iface_init)); - -static void -hostnamed_object_proxy_init (hostnamedObjectProxy *object G_GNUC_UNUSED) -{ -} - -static void -hostnamed_object_proxy_set_property (GObject *gobject, - guint prop_id, - const GValue *value G_GNUC_UNUSED, - GParamSpec *pspec) -{ - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); -} - -static void -hostnamed_object_proxy_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - hostnamedObjectProxy *object = HOSTNAMED_OBJECT_PROXY (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -hostnamed_object_proxy_class_init (hostnamedObjectProxyClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = hostnamed_object_proxy_set_property; - gobject_class->get_property = hostnamed_object_proxy_get_property; - - g_object_class_override_property (gobject_class, 1, "hostname1"); -} - -/** - * hostnamed_object_proxy_new: - * @connection: A #GDBusConnection. - * @object_path: An object path. - * - * Creates a new proxy object. - * - * Returns: (transfer full): The proxy object. - */ -hostnamedObjectProxy * -hostnamed_object_proxy_new (GDBusConnection *connection, - const gchar *object_path) -{ - g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL); - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return HOSTNAMED_OBJECT_PROXY (g_object_new (HOSTNAMED_TYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL)); -} - -/** - * hostnamedObjectSkeleton: - * - * The #hostnamedObjectSkeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * hostnamedObjectSkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #hostnamedObjectSkeleton. - */ - -static void -hostnamed_object_skeleton__hostnamed_object_iface_init (hostnamedObjectIface *iface G_GNUC_UNUSED) -{ -} - - -static void -hostnamed_object_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = hostnamed_object_notify; - iface->interface_removed = hostnamed_object_notify; -} - -G_DEFINE_TYPE_WITH_CODE (hostnamedObjectSkeleton, hostnamed_object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON, - G_IMPLEMENT_INTERFACE (HOSTNAMED_TYPE_OBJECT, hostnamed_object_skeleton__hostnamed_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, hostnamed_object_skeleton__g_dbus_object_iface_init)); - -static void -hostnamed_object_skeleton_init (hostnamedObjectSkeleton *object G_GNUC_UNUSED) -{ -} - -static void -hostnamed_object_skeleton_set_property (GObject *gobject, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - hostnamedObjectSkeleton *object = HOSTNAMED_OBJECT_SKELETON (gobject); - GDBusInterfaceSkeleton *interface; - - switch (prop_id) - { - case 1: - interface = g_value_get_object (value); - if (interface != NULL) - { - g_warn_if_fail (HOSTNAMED_IS_HOSTNAME1 (interface)); - g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface); - } - else - { - g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "org.freedesktop.hostname1"); - } - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -hostnamed_object_skeleton_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - hostnamedObjectSkeleton *object = HOSTNAMED_OBJECT_SKELETON (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -hostnamed_object_skeleton_class_init (hostnamedObjectSkeletonClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = hostnamed_object_skeleton_set_property; - gobject_class->get_property = hostnamed_object_skeleton_get_property; - - g_object_class_override_property (gobject_class, 1, "hostname1"); -} - -/** - * hostnamed_object_skeleton_new: - * @object_path: An object path. - * - * Creates a new skeleton object. - * - * Returns: (transfer full): The skeleton object. - */ -hostnamedObjectSkeleton * -hostnamed_object_skeleton_new (const gchar *object_path) -{ - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return HOSTNAMED_OBJECT_SKELETON (g_object_new (HOSTNAMED_TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL)); -} - -/** - * hostnamed_object_skeleton_set_hostname1: - * @object: A #hostnamedObjectSkeleton. - * @interface_: (allow-none): A #hostnamedHostname1 or %NULL to clear the interface. - * - * Sets the #hostnamedHostname1 instance for the D-Bus interface org.freedesktop.hostname1 on @object. - */ -void hostnamed_object_skeleton_set_hostname1 (hostnamedObjectSkeleton *object, hostnamedHostname1 *interface_) -{ - g_object_set (G_OBJECT (object), "hostname1", interface_, NULL); -} - - -/* ------------------------------------------------------------------------ - * Code for ObjectManager client - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:hostnamedObjectManagerClient - * @title: hostnamedObjectManagerClient - * @short_description: Generated GDBusObjectManagerClient type - * - * This section contains a #GDBusObjectManagerClient that uses hostnamed_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. - */ - -/** - * hostnamedObjectManagerClient: - * - * The #hostnamedObjectManagerClient structure contains only private data and should only be accessed using the provided API. - */ - -/** - * hostnamedObjectManagerClientClass: - * @parent_class: The parent class. - * - * Class structure for #hostnamedObjectManagerClient. - */ - -G_DEFINE_TYPE (hostnamedObjectManagerClient, hostnamed_object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT); - -static void -hostnamed_object_manager_client_init (hostnamedObjectManagerClient *manager G_GNUC_UNUSED) -{ -} - -static void -hostnamed_object_manager_client_class_init (hostnamedObjectManagerClientClass *klass G_GNUC_UNUSED) -{ -} - -/** - * hostnamed_object_manager_client_get_proxy_type: - * @manager: A #GDBusObjectManagerClient. - * @object_path: The object path of the remote object (unused). - * @interface_name: (allow-none): Interface name of the remote object or %NULL to get the object proxy #GType. - * @user_data: User data (unused). - * - * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy- and #GDBusProxy-derived types. - * - * Returns: A #GDBusProxy-derived #GType if @interface_name is not %NULL, otherwise the #GType for #hostnamedObjectProxy. - */ -GType -hostnamed_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED) -{ - static gsize once_init_value = 0; - static GHashTable *lookup_hash; - GType ret; - - if (interface_name == NULL) - return HOSTNAMED_TYPE_OBJECT_PROXY; - if (g_once_init_enter (&once_init_value)) - { - lookup_hash = g_hash_table_new (g_str_hash, g_str_equal); - g_hash_table_insert (lookup_hash, (gpointer) "org.freedesktop.hostname1", GSIZE_TO_POINTER (HOSTNAMED_TYPE_HOSTNAME1_PROXY)); - g_once_init_leave (&once_init_value, 1); - } - ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name)); - if (ret == (GType) 0) - ret = G_TYPE_DBUS_PROXY; - return ret; -} - -/** - * hostnamed_object_manager_client_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using hostnamed_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call hostnamed_object_manager_client_new_finish() to get the result of the operation. - * - * See hostnamed_object_manager_client_new_sync() for the synchronous, blocking version of this constructor. - */ -void -hostnamed_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", hostnamed_object_manager_client_get_proxy_type, NULL); -} - -/** - * hostnamed_object_manager_client_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostnamed_object_manager_client_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with hostnamed_object_manager_client_new(). - * - * Returns: (transfer full) (type hostnamedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -hostnamed_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * hostnamed_object_manager_client_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using hostnamed_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See hostnamed_object_manager_client_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type hostnamedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -hostnamed_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", hostnamed_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - -/** - * hostnamed_object_manager_client_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 hostnamed_object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call hostnamed_object_manager_client_new_for_bus_finish() to get the result of the operation. - * - * See hostnamed_object_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -hostnamed_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", hostnamed_object_manager_client_get_proxy_type, NULL); -} - -/** - * hostnamed_object_manager_client_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to hostnamed_object_manager_client_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with hostnamed_object_manager_client_new_for_bus(). - * - * Returns: (transfer full) (type hostnamedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -hostnamed_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * hostnamed_object_manager_client_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 hostnamed_object_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See hostnamed_object_manager_client_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type hostnamedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -hostnamed_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", hostnamed_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - diff --git a/src/interfaces/hostnamed/hostnamed-gen.h b/src/interfaces/hostnamed/hostnamed-gen.h index f643816..4200654 100644 --- a/src/interfaces/hostnamed/hostnamed-gen.h +++ b/src/interfaces/hostnamed/hostnamed-gen.h @@ -351,148 +351,6 @@ GType hostnamed_hostname1_skeleton_get_type (void) G_GNUC_CONST; hostnamedHostname1 *hostnamed_hostname1_skeleton_new (void); -/* ---- */ - -#define HOSTNAMED_TYPE_OBJECT (hostnamed_object_get_type ()) -#define HOSTNAMED_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), HOSTNAMED_TYPE_OBJECT, hostnamedObject)) -#define HOSTNAMED_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), HOSTNAMED_TYPE_OBJECT)) -#define HOSTNAMED_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), HOSTNAMED_TYPE_OBJECT, hostnamedObject)) - -struct _hostnamedObject; -typedef struct _hostnamedObject hostnamedObject; -typedef struct _hostnamedObjectIface hostnamedObjectIface; - -struct _hostnamedObjectIface -{ - GTypeInterface parent_iface; -}; - -GType hostnamed_object_get_type (void) G_GNUC_CONST; - -hostnamedHostname1 *hostnamed_object_get_hostname1 (hostnamedObject *object); -hostnamedHostname1 *hostnamed_object_peek_hostname1 (hostnamedObject *object); - -#define HOSTNAMED_TYPE_OBJECT_PROXY (hostnamed_object_proxy_get_type ()) -#define HOSTNAMED_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), HOSTNAMED_TYPE_OBJECT_PROXY, hostnamedObjectProxy)) -#define HOSTNAMED_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), HOSTNAMED_TYPE_OBJECT_PROXY, hostnamedObjectProxyClass)) -#define HOSTNAMED_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), HOSTNAMED_TYPE_OBJECT_PROXY, hostnamedObjectProxyClass)) -#define HOSTNAMED_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), HOSTNAMED_TYPE_OBJECT_PROXY)) -#define HOSTNAMED_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), HOSTNAMED_TYPE_OBJECT_PROXY)) - -typedef struct _hostnamedObjectProxy hostnamedObjectProxy; -typedef struct _hostnamedObjectProxyClass hostnamedObjectProxyClass; -typedef struct _hostnamedObjectProxyPrivate hostnamedObjectProxyPrivate; - -struct _hostnamedObjectProxy -{ - /*< private >*/ - GDBusObjectProxy parent_instance; - hostnamedObjectProxyPrivate *priv; -}; - -struct _hostnamedObjectProxyClass -{ - GDBusObjectProxyClass parent_class; -}; - -GType hostnamed_object_proxy_get_type (void) G_GNUC_CONST; -hostnamedObjectProxy *hostnamed_object_proxy_new (GDBusConnection *connection, const gchar *object_path); - -#define HOSTNAMED_TYPE_OBJECT_SKELETON (hostnamed_object_skeleton_get_type ()) -#define HOSTNAMED_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), HOSTNAMED_TYPE_OBJECT_SKELETON, hostnamedObjectSkeleton)) -#define HOSTNAMED_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), HOSTNAMED_TYPE_OBJECT_SKELETON, hostnamedObjectSkeletonClass)) -#define HOSTNAMED_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), HOSTNAMED_TYPE_OBJECT_SKELETON, hostnamedObjectSkeletonClass)) -#define HOSTNAMED_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), HOSTNAMED_TYPE_OBJECT_SKELETON)) -#define HOSTNAMED_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), HOSTNAMED_TYPE_OBJECT_SKELETON)) - -typedef struct _hostnamedObjectSkeleton hostnamedObjectSkeleton; -typedef struct _hostnamedObjectSkeletonClass hostnamedObjectSkeletonClass; -typedef struct _hostnamedObjectSkeletonPrivate hostnamedObjectSkeletonPrivate; - -struct _hostnamedObjectSkeleton -{ - /*< private >*/ - GDBusObjectSkeleton parent_instance; - hostnamedObjectSkeletonPrivate *priv; -}; - -struct _hostnamedObjectSkeletonClass -{ - GDBusObjectSkeletonClass parent_class; -}; - -GType hostnamed_object_skeleton_get_type (void) G_GNUC_CONST; -hostnamedObjectSkeleton *hostnamed_object_skeleton_new (const gchar *object_path); -void hostnamed_object_skeleton_set_hostname1 (hostnamedObjectSkeleton *object, hostnamedHostname1 *interface_); - -/* ---- */ - -#define HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT (hostnamed_object_manager_client_get_type ()) -#define HOSTNAMED_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, hostnamedObjectManagerClient)) -#define HOSTNAMED_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, hostnamedObjectManagerClientClass)) -#define HOSTNAMED_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT, hostnamedObjectManagerClientClass)) -#define HOSTNAMED_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT)) -#define HOSTNAMED_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), HOSTNAMED_TYPE_OBJECT_MANAGER_CLIENT)) - -typedef struct _hostnamedObjectManagerClient hostnamedObjectManagerClient; -typedef struct _hostnamedObjectManagerClientClass hostnamedObjectManagerClientClass; -typedef struct _hostnamedObjectManagerClientPrivate hostnamedObjectManagerClientPrivate; - -struct _hostnamedObjectManagerClient -{ - /*< private >*/ - GDBusObjectManagerClient parent_instance; - hostnamedObjectManagerClientPrivate *priv; -}; - -struct _hostnamedObjectManagerClientClass -{ - GDBusObjectManagerClientClass parent_class; -}; - -GType hostnamed_object_manager_client_get_type (void) G_GNUC_CONST; - -GType hostnamed_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data); - -void hostnamed_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *hostnamed_object_manager_client_new_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *hostnamed_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - -void hostnamed_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *hostnamed_object_manager_client_new_for_bus_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *hostnamed_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - - G_END_DECLS #endif /* __SRC_INTERFACES_HOSTNAMED_HOSTNAMED_GEN_H__ */ diff --git a/src/interfaces/hostnamed/hostnamed.c b/src/interfaces/hostnamed/hostnamed.c index 6d06a34..ad7df31 100644 --- a/src/interfaces/hostnamed/hostnamed.c +++ b/src/interfaces/hostnamed/hostnamed.c @@ -138,7 +138,7 @@ our_get_os_pretty_name() { /* end method/property/signal code, begin bus/name handlers */ -static void on_bus_acquired(GDBusConnection *conn, +static void hostnamed_on_bus_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { @@ -146,7 +146,7 @@ static void on_bus_acquired(GDBusConnection *conn, } -static void on_name_acquired(GDBusConnection *conn, +static void hostnamed_on_name_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { @@ -183,7 +183,7 @@ static void on_name_acquired(GDBusConnection *conn, } -static void on_name_lost(GDBusConnection *conn, +static void hostnamed_on_name_lost(GDBusConnection *conn, const gchar *name, gpointer user_data) { @@ -216,9 +216,9 @@ GError *hostnamed_init() { bus_descriptor = g_bus_own_name(G_BUS_TYPE_SYSTEM, "org.freedesktop.hostname1", G_BUS_NAME_OWNER_FLAGS_NONE, - on_bus_acquired, - on_name_acquired, - on_name_lost, + hostnamed_on_bus_acquired, + hostnamed_on_name_acquired, + hostnamed_on_name_lost, NULL, NULL); diff --git a/src/interfaces/localed/localed-gen.c b/src/interfaces/localed/localed-gen.c index a73429c..2a1913f 100644 --- a/src/interfaces/localed/localed-gen.c +++ b/src/interfaces/localed/localed-gen.c @@ -15,139 +15,6 @@ # include #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: - { - /* Avoid -Wfloat-equal warnings by doing a direct bit compare */ - gdouble da = g_value_get_double (a); - gdouble db = g_value_get_double (b); - ret = memcmp (&da, &db, sizeof (gdouble)) == 0; - } - 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.freedesktop.locale1 * ------------------------------------------------------------------------ @@ -2511,567 +2378,3 @@ localed_locale1_skeleton_new (void) return LOCALED_LOCALE1 (g_object_new (LOCALED_TYPE_LOCALE1_SKELETON, NULL)); } -/* ------------------------------------------------------------------------ - * Code for Object, ObjectProxy and ObjectSkeleton - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:localedObject - * @title: localedObject - * @short_description: Specialized GDBusObject types - * - * This section contains the #localedObject, #localedObjectProxy, and #localedObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces. - */ - -/** - * localedObject: - * - * The #localedObject type is a specialized container of interfaces. - */ - -/** - * localedObjectIface: - * @parent_iface: The parent interface. - * - * Virtual table for the #localedObject interface. - */ - -typedef localedObjectIface localedObjectInterface; -G_DEFINE_INTERFACE_WITH_CODE (localedObject, localed_object, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT)); - -static void -localed_object_default_init (localedObjectIface *iface) -{ - /** - * localedObject:locale1: - * - * The #localedLocale1 instance corresponding to the D-Bus interface org.freedesktop.locale1, if any. - * - * Connect to the #GObject::notify signal to get informed of property changes. - */ - g_object_interface_install_property (iface, g_param_spec_object ("locale1", "locale1", "locale1", LOCALED_TYPE_LOCALE1, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS)); - -} - -/** - * localed_object_get_locale1: - * @object: A #localedObject. - * - * Gets the #localedLocale1 instance for the D-Bus interface org.freedesktop.locale1 on @object, if any. - * - * Returns: (transfer full): A #localedLocale1 that must be freed with g_object_unref() or %NULL if @object does not implement the interface. - */ -localedLocale1 *localed_object_get_locale1 (localedObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.locale1"); - if (ret == NULL) - return NULL; - return LOCALED_LOCALE1 (ret); -} - - -/** - * localed_object_peek_locale1: (skip) - * @object: A #localedObject. - * - * Like localed_object_get_locale1() but doesn't increase the reference count on the returned object. - * - * It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running. - * - * Returns: (transfer none): A #localedLocale1 or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object. - */ -localedLocale1 *localed_object_peek_locale1 (localedObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.locale1"); - if (ret == NULL) - return NULL; - g_object_unref (ret); - return LOCALED_LOCALE1 (ret); -} - - -static void -localed_object_notify (GDBusObject *object, GDBusInterface *interface) -{ - _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface); - /* info can be NULL if the other end is using a D-Bus interface we don't know - * anything about, for example old generated code in this process talking to - * newer generated code in the other process. */ - if (info != NULL) - g_object_notify (G_OBJECT (object), info->hyphen_name); -} - -/** - * localedObjectProxy: - * - * The #localedObjectProxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * localedObjectProxyClass: - * @parent_class: The parent class. - * - * Class structure for #localedObjectProxy. - */ - -static void -localed_object_proxy__localed_object_iface_init (localedObjectIface *iface G_GNUC_UNUSED) -{ -} - -static void -localed_object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = localed_object_notify; - iface->interface_removed = localed_object_notify; -} - - -G_DEFINE_TYPE_WITH_CODE (localedObjectProxy, localed_object_proxy, G_TYPE_DBUS_OBJECT_PROXY, - G_IMPLEMENT_INTERFACE (LOCALED_TYPE_OBJECT, localed_object_proxy__localed_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, localed_object_proxy__g_dbus_object_iface_init)); - -static void -localed_object_proxy_init (localedObjectProxy *object G_GNUC_UNUSED) -{ -} - -static void -localed_object_proxy_set_property (GObject *gobject, - guint prop_id, - const GValue *value G_GNUC_UNUSED, - GParamSpec *pspec) -{ - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); -} - -static void -localed_object_proxy_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - localedObjectProxy *object = LOCALED_OBJECT_PROXY (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.locale1"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -localed_object_proxy_class_init (localedObjectProxyClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = localed_object_proxy_set_property; - gobject_class->get_property = localed_object_proxy_get_property; - - g_object_class_override_property (gobject_class, 1, "locale1"); -} - -/** - * localed_object_proxy_new: - * @connection: A #GDBusConnection. - * @object_path: An object path. - * - * Creates a new proxy object. - * - * Returns: (transfer full): The proxy object. - */ -localedObjectProxy * -localed_object_proxy_new (GDBusConnection *connection, - const gchar *object_path) -{ - g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL); - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return LOCALED_OBJECT_PROXY (g_object_new (LOCALED_TYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL)); -} - -/** - * localedObjectSkeleton: - * - * The #localedObjectSkeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * localedObjectSkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #localedObjectSkeleton. - */ - -static void -localed_object_skeleton__localed_object_iface_init (localedObjectIface *iface G_GNUC_UNUSED) -{ -} - - -static void -localed_object_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = localed_object_notify; - iface->interface_removed = localed_object_notify; -} - -G_DEFINE_TYPE_WITH_CODE (localedObjectSkeleton, localed_object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON, - G_IMPLEMENT_INTERFACE (LOCALED_TYPE_OBJECT, localed_object_skeleton__localed_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, localed_object_skeleton__g_dbus_object_iface_init)); - -static void -localed_object_skeleton_init (localedObjectSkeleton *object G_GNUC_UNUSED) -{ -} - -static void -localed_object_skeleton_set_property (GObject *gobject, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - localedObjectSkeleton *object = LOCALED_OBJECT_SKELETON (gobject); - GDBusInterfaceSkeleton *interface; - - switch (prop_id) - { - case 1: - interface = g_value_get_object (value); - if (interface != NULL) - { - g_warn_if_fail (LOCALED_IS_LOCALE1 (interface)); - g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface); - } - else - { - g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "org.freedesktop.locale1"); - } - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -localed_object_skeleton_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - localedObjectSkeleton *object = LOCALED_OBJECT_SKELETON (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.locale1"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -localed_object_skeleton_class_init (localedObjectSkeletonClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = localed_object_skeleton_set_property; - gobject_class->get_property = localed_object_skeleton_get_property; - - g_object_class_override_property (gobject_class, 1, "locale1"); -} - -/** - * localed_object_skeleton_new: - * @object_path: An object path. - * - * Creates a new skeleton object. - * - * Returns: (transfer full): The skeleton object. - */ -localedObjectSkeleton * -localed_object_skeleton_new (const gchar *object_path) -{ - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return LOCALED_OBJECT_SKELETON (g_object_new (LOCALED_TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL)); -} - -/** - * localed_object_skeleton_set_locale1: - * @object: A #localedObjectSkeleton. - * @interface_: (allow-none): A #localedLocale1 or %NULL to clear the interface. - * - * Sets the #localedLocale1 instance for the D-Bus interface org.freedesktop.locale1 on @object. - */ -void localed_object_skeleton_set_locale1 (localedObjectSkeleton *object, localedLocale1 *interface_) -{ - g_object_set (G_OBJECT (object), "locale1", interface_, NULL); -} - - -/* ------------------------------------------------------------------------ - * Code for ObjectManager client - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:localedObjectManagerClient - * @title: localedObjectManagerClient - * @short_description: Generated GDBusObjectManagerClient type - * - * This section contains a #GDBusObjectManagerClient that uses localed_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. - */ - -/** - * localedObjectManagerClient: - * - * The #localedObjectManagerClient structure contains only private data and should only be accessed using the provided API. - */ - -/** - * localedObjectManagerClientClass: - * @parent_class: The parent class. - * - * Class structure for #localedObjectManagerClient. - */ - -G_DEFINE_TYPE (localedObjectManagerClient, localed_object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT); - -static void -localed_object_manager_client_init (localedObjectManagerClient *manager G_GNUC_UNUSED) -{ -} - -static void -localed_object_manager_client_class_init (localedObjectManagerClientClass *klass G_GNUC_UNUSED) -{ -} - -/** - * localed_object_manager_client_get_proxy_type: - * @manager: A #GDBusObjectManagerClient. - * @object_path: The object path of the remote object (unused). - * @interface_name: (allow-none): Interface name of the remote object or %NULL to get the object proxy #GType. - * @user_data: User data (unused). - * - * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy- and #GDBusProxy-derived types. - * - * Returns: A #GDBusProxy-derived #GType if @interface_name is not %NULL, otherwise the #GType for #localedObjectProxy. - */ -GType -localed_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED) -{ - static gsize once_init_value = 0; - static GHashTable *lookup_hash; - GType ret; - - if (interface_name == NULL) - return LOCALED_TYPE_OBJECT_PROXY; - if (g_once_init_enter (&once_init_value)) - { - lookup_hash = g_hash_table_new (g_str_hash, g_str_equal); - g_hash_table_insert (lookup_hash, (gpointer) "org.freedesktop.locale1", GSIZE_TO_POINTER (LOCALED_TYPE_LOCALE1_PROXY)); - g_once_init_leave (&once_init_value, 1); - } - ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name)); - if (ret == (GType) 0) - ret = G_TYPE_DBUS_PROXY; - return ret; -} - -/** - * localed_object_manager_client_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using localed_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call localed_object_manager_client_new_finish() to get the result of the operation. - * - * See localed_object_manager_client_new_sync() for the synchronous, blocking version of this constructor. - */ -void -localed_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (LOCALED_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", localed_object_manager_client_get_proxy_type, NULL); -} - -/** - * localed_object_manager_client_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to localed_object_manager_client_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with localed_object_manager_client_new(). - * - * Returns: (transfer full) (type localedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -localed_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * localed_object_manager_client_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using localed_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See localed_object_manager_client_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type localedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -localed_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (LOCALED_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", localed_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - -/** - * localed_object_manager_client_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 localed_object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call localed_object_manager_client_new_for_bus_finish() to get the result of the operation. - * - * See localed_object_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -localed_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (LOCALED_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", localed_object_manager_client_get_proxy_type, NULL); -} - -/** - * localed_object_manager_client_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to localed_object_manager_client_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with localed_object_manager_client_new_for_bus(). - * - * Returns: (transfer full) (type localedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -localed_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * localed_object_manager_client_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 localed_object_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See localed_object_manager_client_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type localedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -localed_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (LOCALED_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", localed_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - diff --git a/src/interfaces/localed/localed-gen.h b/src/interfaces/localed/localed-gen.h index 51671cc..a277074 100644 --- a/src/interfaces/localed/localed-gen.h +++ b/src/interfaces/localed/localed-gen.h @@ -291,148 +291,6 @@ GType localed_locale1_skeleton_get_type (void) G_GNUC_CONST; localedLocale1 *localed_locale1_skeleton_new (void); -/* ---- */ - -#define LOCALED_TYPE_OBJECT (localed_object_get_type ()) -#define LOCALED_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOCALED_TYPE_OBJECT, localedObject)) -#define LOCALED_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOCALED_TYPE_OBJECT)) -#define LOCALED_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), LOCALED_TYPE_OBJECT, localedObject)) - -struct _localedObject; -typedef struct _localedObject localedObject; -typedef struct _localedObjectIface localedObjectIface; - -struct _localedObjectIface -{ - GTypeInterface parent_iface; -}; - -GType localed_object_get_type (void) G_GNUC_CONST; - -localedLocale1 *localed_object_get_locale1 (localedObject *object); -localedLocale1 *localed_object_peek_locale1 (localedObject *object); - -#define LOCALED_TYPE_OBJECT_PROXY (localed_object_proxy_get_type ()) -#define LOCALED_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOCALED_TYPE_OBJECT_PROXY, localedObjectProxy)) -#define LOCALED_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOCALED_TYPE_OBJECT_PROXY, localedObjectProxyClass)) -#define LOCALED_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOCALED_TYPE_OBJECT_PROXY, localedObjectProxyClass)) -#define LOCALED_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOCALED_TYPE_OBJECT_PROXY)) -#define LOCALED_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOCALED_TYPE_OBJECT_PROXY)) - -typedef struct _localedObjectProxy localedObjectProxy; -typedef struct _localedObjectProxyClass localedObjectProxyClass; -typedef struct _localedObjectProxyPrivate localedObjectProxyPrivate; - -struct _localedObjectProxy -{ - /*< private >*/ - GDBusObjectProxy parent_instance; - localedObjectProxyPrivate *priv; -}; - -struct _localedObjectProxyClass -{ - GDBusObjectProxyClass parent_class; -}; - -GType localed_object_proxy_get_type (void) G_GNUC_CONST; -localedObjectProxy *localed_object_proxy_new (GDBusConnection *connection, const gchar *object_path); - -#define LOCALED_TYPE_OBJECT_SKELETON (localed_object_skeleton_get_type ()) -#define LOCALED_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOCALED_TYPE_OBJECT_SKELETON, localedObjectSkeleton)) -#define LOCALED_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOCALED_TYPE_OBJECT_SKELETON, localedObjectSkeletonClass)) -#define LOCALED_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOCALED_TYPE_OBJECT_SKELETON, localedObjectSkeletonClass)) -#define LOCALED_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOCALED_TYPE_OBJECT_SKELETON)) -#define LOCALED_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOCALED_TYPE_OBJECT_SKELETON)) - -typedef struct _localedObjectSkeleton localedObjectSkeleton; -typedef struct _localedObjectSkeletonClass localedObjectSkeletonClass; -typedef struct _localedObjectSkeletonPrivate localedObjectSkeletonPrivate; - -struct _localedObjectSkeleton -{ - /*< private >*/ - GDBusObjectSkeleton parent_instance; - localedObjectSkeletonPrivate *priv; -}; - -struct _localedObjectSkeletonClass -{ - GDBusObjectSkeletonClass parent_class; -}; - -GType localed_object_skeleton_get_type (void) G_GNUC_CONST; -localedObjectSkeleton *localed_object_skeleton_new (const gchar *object_path); -void localed_object_skeleton_set_locale1 (localedObjectSkeleton *object, localedLocale1 *interface_); - -/* ---- */ - -#define LOCALED_TYPE_OBJECT_MANAGER_CLIENT (localed_object_manager_client_get_type ()) -#define LOCALED_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOCALED_TYPE_OBJECT_MANAGER_CLIENT, localedObjectManagerClient)) -#define LOCALED_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOCALED_TYPE_OBJECT_MANAGER_CLIENT, localedObjectManagerClientClass)) -#define LOCALED_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOCALED_TYPE_OBJECT_MANAGER_CLIENT, localedObjectManagerClientClass)) -#define LOCALED_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOCALED_TYPE_OBJECT_MANAGER_CLIENT)) -#define LOCALED_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOCALED_TYPE_OBJECT_MANAGER_CLIENT)) - -typedef struct _localedObjectManagerClient localedObjectManagerClient; -typedef struct _localedObjectManagerClientClass localedObjectManagerClientClass; -typedef struct _localedObjectManagerClientPrivate localedObjectManagerClientPrivate; - -struct _localedObjectManagerClient -{ - /*< private >*/ - GDBusObjectManagerClient parent_instance; - localedObjectManagerClientPrivate *priv; -}; - -struct _localedObjectManagerClientClass -{ - GDBusObjectManagerClientClass parent_class; -}; - -GType localed_object_manager_client_get_type (void) G_GNUC_CONST; - -GType localed_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data); - -void localed_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *localed_object_manager_client_new_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *localed_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - -void localed_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *localed_object_manager_client_new_for_bus_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *localed_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - - G_END_DECLS #endif /* __SRC_INTERFACES_LOCALED_LOCALED_GEN_H__ */ diff --git a/src/interfaces/localed/localed.c b/src/interfaces/localed/localed.c index cf9b3f9..910c1e1 100644 --- a/src/interfaces/localed/localed.c +++ b/src/interfaces/localed/localed.c @@ -14,3 +14,184 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include +#include + +#include +#include + +#include "localed.h" +#include "localed-gen.c" + +GPtrArray *localed_freeable; +GDBusNodeInfo *spect_data; +localedLocale1 *localed_interf; + +/* begin method/property/signal code */ + +/* TODO make sure these guys only work if called by root */ + +/* Example: +static gboolean +on_handle_set_hostname(localedLocale1 *hn1_passed_interf, + GDBusMethodInvocation *invoc, + const gchar *greet, + gpointer data) { + return FALSE; +} */ + +/* note: all localed/locale1's properties are read-only, + * and do not need set_ functions, gdbus-codegen realized + * this from the XML and handled the to-be error of trying + * to set a read-only property's value + */ + +/* Example: + +const gchar * +our_get_hostname() { + + return "TODO"; +}*/ + +/* end method/property/signal code, begin bus/name handlers */ + +static void localed_on_bus_acquired(GDBusConnection *conn, + const gchar *name, + gpointer user_data) { + + g_print("got bus, name: %s\n", name); + +} + +static void localed_on_name_acquired(GDBusConnection *conn, + const gchar *name, + gpointer user_data) { + + g_print("got '%s' on system bus\n", name); + + localed_interf = localed_locale1_skeleton_new(); + + /* attach function pointers to generated struct's method handlers */ + /*g_signal_connect(localed_interf, "handle-set-hostname", G_CALLBACK(on_handle_set_hostname), NULL); + g_signal_connect(localed_interf, "handle-set-static-hostname", G_CALLBACK(on_handle_set_static_hostname), NULL); + g_signal_connect(localed_interf, "handle-set-pretty-hostname", G_CALLBACK(on_handle_set_pretty_hostname), NULL); + g_signal_connect(localed_interf, "handle-set-chassis", G_CALLBACK(on_handle_set_chassis), NULL); + g_signal_connect(localed_interf, "handle-set-icon-name", G_CALLBACK(on_handle_set_icon_name), NULL); */ + + /* set our properties before export */ + /*localed_locale1_set_hostname(localed_interf, our_get_hostname()); + localed_locale1_set_static_hostname(localed_interf, our_get_static_hostname()); + localed_locale1_set_pretty_hostname(localed_interf, our_get_pretty_hostname()); + localed_locale1_set_chassis(localed_interf, our_get_chassis()); + localed_locale1_set_icon_name(localed_interf, our_get_icon_name()); + localed_locale1_set_kernel_name(localed_interf, our_get_kernel_name()); + localed_locale1_set_kernel_version(localed_interf, our_get_kernel_version()); + localed_locale1_set_kernel_release(localed_interf, our_get_kernel_release()); + localed_locale1_set_operating_system_cpename(localed_interf, our_get_os_cpename()); + localed_locale1_set_operating_system_pretty_name(localed_interf, our_get_os_pretty_name()); */ + + if(!g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(localed_interf), + conn, + "/org/freedesktop/locale1", + NULL)) { + + g_printf("failed to export locale1's interface on system bus!"); + } + +} + +static void localed_on_name_lost(GDBusConnection *conn, + const gchar *name, + gpointer user_data) { + + g_print("lost name %s, exiting...", name); + + localed_mem_clean(); + g_dbus_interface_skeleton_unexport(G_DBUS_INTERFACE_SKELETON(localed_interf)); + + /* TODO exit through g_main_loop properly... */ +} + +/* safe call to try and start localed */ +GError *localed_init() { + + guint bus_descriptor; + GError *err = NULL; + gchar **localed_ispect_xml; + gchar *localed_joined_xml; + + localed_freeable = g_ptr_array_new(); + localed_ispect_xml = g_malloc(3000); + + g_file_get_contents("conf/localed-ispect.xml", localed_ispect_xml, NULL, NULL); + localed_joined_xml = g_strjoinv("\n", localed_ispect_xml); + spect_data = g_dbus_node_info_new_for_xml(localed_joined_xml, NULL); + + g_free(localed_ispect_xml); + g_ptr_array_add(localed_freeable, localed_joined_xml); + + bus_descriptor = g_bus_own_name(G_BUS_TYPE_SYSTEM, + "org.freedesktop.locale1", + G_BUS_NAME_OWNER_FLAGS_NONE, + localed_on_bus_acquired, + localed_on_name_acquired, + localed_on_name_lost, + NULL, + NULL); + + /* TODO: malloc and return reference as if a main() closed */ + return err; +} + +/* free()'s */ +void localed_mem_clean() { + + g_ptr_array_foreach(localed_freeable, (GFunc) g_free, NULL); +} + +/* TODO figure out DMI variables on obsd */ +/*static gchar *guess_icon_name() { + + gchar *filebuf = NULL; + gchar *ret = NULL; + + #if defined(__i386__) || defined(__x86_64__) + + Taken with a few minor changes from systemd's localed.c, + copyright 2011 Lennart Poettering. + + See the SMBIOS Specification 2.7.1 section 7.4.1 for + details about the values listed here: + + http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf + + + if (g_file_get_contents ("/sys/class/dmi/id/chassis_type", &filebuf, NULL, NULL)) { + switch (g_ascii_strtoull (filebuf, NULL, 10)) { + case 0x3: + case 0x4: + case 0x5: + case 0x6: + case 0x7: + ret = g_strdup ("computer-desktop"); + goto out; + case 0x9: + case 0xA: + case 0xE: + ret = g_strdup ("computer-laptop"); + goto out; + case 0x11: + case 0x17: + case 0x1C: + case 0x1D: + ret = g_strdup ("computer-server"); + goto out; + } + } + #endif + ret = g_strdup ("computer"); + out: + g_free (filebuf); + return ret; +}*/ diff --git a/src/interfaces/localed/localed.h b/src/interfaces/localed/localed.h index cf9b3f9..6cda9cd 100644 --- a/src/interfaces/localed/localed.h +++ b/src/interfaces/localed/localed.h @@ -14,3 +14,4 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +void localed_mem_clean(); diff --git a/src/interfaces/logind/logind-gen.c b/src/interfaces/logind/logind-gen.c index 86c5f12..7a0386a 100644 --- a/src/interfaces/logind/logind-gen.c +++ b/src/interfaces/logind/logind-gen.c @@ -10873,567 +10873,3 @@ logind_login1_manager_skeleton_new (void) return LOGIND_LOGIN1_MANAGER (g_object_new (LOGIND_TYPE_LOGIN1_MANAGER_SKELETON, NULL)); } -/* ------------------------------------------------------------------------ - * Code for Object, ObjectProxy and ObjectSkeleton - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:logindObject - * @title: logindObject - * @short_description: Specialized GDBusObject types - * - * This section contains the #logindObject, #logindObjectProxy, and #logindObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces. - */ - -/** - * logindObject: - * - * The #logindObject type is a specialized container of interfaces. - */ - -/** - * logindObjectIface: - * @parent_iface: The parent interface. - * - * Virtual table for the #logindObject interface. - */ - -typedef logindObjectIface logindObjectInterface; -G_DEFINE_INTERFACE_WITH_CODE (logindObject, logind_object, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT)); - -static void -logind_object_default_init (logindObjectIface *iface) -{ - /** - * logindObject:login1-manager: - * - * The #logindLogin1Manager instance corresponding to the D-Bus interface org.freedesktop.login1.Manager, if any. - * - * Connect to the #GObject::notify signal to get informed of property changes. - */ - g_object_interface_install_property (iface, g_param_spec_object ("login1-manager", "login1-manager", "login1-manager", LOGIND_TYPE_LOGIN1_MANAGER, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS)); - -} - -/** - * logind_object_get_login1_manager: - * @object: A #logindObject. - * - * Gets the #logindLogin1Manager instance for the D-Bus interface org.freedesktop.login1.Manager on @object, if any. - * - * Returns: (transfer full): A #logindLogin1Manager that must be freed with g_object_unref() or %NULL if @object does not implement the interface. - */ -logindLogin1Manager *logind_object_get_login1_manager (logindObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.login1.Manager"); - if (ret == NULL) - return NULL; - return LOGIND_LOGIN1_MANAGER (ret); -} - - -/** - * logind_object_peek_login1_manager: (skip) - * @object: A #logindObject. - * - * Like logind_object_get_login1_manager() but doesn't increase the reference count on the returned object. - * - * It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running. - * - * Returns: (transfer none): A #logindLogin1Manager or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object. - */ -logindLogin1Manager *logind_object_peek_login1_manager (logindObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.login1.Manager"); - if (ret == NULL) - return NULL; - g_object_unref (ret); - return LOGIND_LOGIN1_MANAGER (ret); -} - - -static void -logind_object_notify (GDBusObject *object, GDBusInterface *interface) -{ - _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface); - /* info can be NULL if the other end is using a D-Bus interface we don't know - * anything about, for example old generated code in this process talking to - * newer generated code in the other process. */ - if (info != NULL) - g_object_notify (G_OBJECT (object), info->hyphen_name); -} - -/** - * logindObjectProxy: - * - * The #logindObjectProxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * logindObjectProxyClass: - * @parent_class: The parent class. - * - * Class structure for #logindObjectProxy. - */ - -static void -logind_object_proxy__logind_object_iface_init (logindObjectIface *iface G_GNUC_UNUSED) -{ -} - -static void -logind_object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = logind_object_notify; - iface->interface_removed = logind_object_notify; -} - - -G_DEFINE_TYPE_WITH_CODE (logindObjectProxy, logind_object_proxy, G_TYPE_DBUS_OBJECT_PROXY, - G_IMPLEMENT_INTERFACE (LOGIND_TYPE_OBJECT, logind_object_proxy__logind_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, logind_object_proxy__g_dbus_object_iface_init)); - -static void -logind_object_proxy_init (logindObjectProxy *object G_GNUC_UNUSED) -{ -} - -static void -logind_object_proxy_set_property (GObject *gobject, - guint prop_id, - const GValue *value G_GNUC_UNUSED, - GParamSpec *pspec) -{ - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); -} - -static void -logind_object_proxy_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - logindObjectProxy *object = LOGIND_OBJECT_PROXY (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.login1.Manager"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -logind_object_proxy_class_init (logindObjectProxyClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = logind_object_proxy_set_property; - gobject_class->get_property = logind_object_proxy_get_property; - - g_object_class_override_property (gobject_class, 1, "login1-manager"); -} - -/** - * logind_object_proxy_new: - * @connection: A #GDBusConnection. - * @object_path: An object path. - * - * Creates a new proxy object. - * - * Returns: (transfer full): The proxy object. - */ -logindObjectProxy * -logind_object_proxy_new (GDBusConnection *connection, - const gchar *object_path) -{ - g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL); - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return LOGIND_OBJECT_PROXY (g_object_new (LOGIND_TYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL)); -} - -/** - * logindObjectSkeleton: - * - * The #logindObjectSkeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * logindObjectSkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #logindObjectSkeleton. - */ - -static void -logind_object_skeleton__logind_object_iface_init (logindObjectIface *iface G_GNUC_UNUSED) -{ -} - - -static void -logind_object_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = logind_object_notify; - iface->interface_removed = logind_object_notify; -} - -G_DEFINE_TYPE_WITH_CODE (logindObjectSkeleton, logind_object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON, - G_IMPLEMENT_INTERFACE (LOGIND_TYPE_OBJECT, logind_object_skeleton__logind_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, logind_object_skeleton__g_dbus_object_iface_init)); - -static void -logind_object_skeleton_init (logindObjectSkeleton *object G_GNUC_UNUSED) -{ -} - -static void -logind_object_skeleton_set_property (GObject *gobject, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - logindObjectSkeleton *object = LOGIND_OBJECT_SKELETON (gobject); - GDBusInterfaceSkeleton *interface; - - switch (prop_id) - { - case 1: - interface = g_value_get_object (value); - if (interface != NULL) - { - g_warn_if_fail (LOGIND_IS_LOGIN1_MANAGER (interface)); - g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface); - } - else - { - g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "org.freedesktop.login1.Manager"); - } - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -logind_object_skeleton_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - logindObjectSkeleton *object = LOGIND_OBJECT_SKELETON (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.login1.Manager"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -logind_object_skeleton_class_init (logindObjectSkeletonClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = logind_object_skeleton_set_property; - gobject_class->get_property = logind_object_skeleton_get_property; - - g_object_class_override_property (gobject_class, 1, "login1-manager"); -} - -/** - * logind_object_skeleton_new: - * @object_path: An object path. - * - * Creates a new skeleton object. - * - * Returns: (transfer full): The skeleton object. - */ -logindObjectSkeleton * -logind_object_skeleton_new (const gchar *object_path) -{ - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return LOGIND_OBJECT_SKELETON (g_object_new (LOGIND_TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL)); -} - -/** - * logind_object_skeleton_set_login1_manager: - * @object: A #logindObjectSkeleton. - * @interface_: (allow-none): A #logindLogin1Manager or %NULL to clear the interface. - * - * Sets the #logindLogin1Manager instance for the D-Bus interface org.freedesktop.login1.Manager on @object. - */ -void logind_object_skeleton_set_login1_manager (logindObjectSkeleton *object, logindLogin1Manager *interface_) -{ - g_object_set (G_OBJECT (object), "login1-manager", interface_, NULL); -} - - -/* ------------------------------------------------------------------------ - * Code for ObjectManager client - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:logindObjectManagerClient - * @title: logindObjectManagerClient - * @short_description: Generated GDBusObjectManagerClient type - * - * This section contains a #GDBusObjectManagerClient that uses logind_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. - */ - -/** - * logindObjectManagerClient: - * - * The #logindObjectManagerClient structure contains only private data and should only be accessed using the provided API. - */ - -/** - * logindObjectManagerClientClass: - * @parent_class: The parent class. - * - * Class structure for #logindObjectManagerClient. - */ - -G_DEFINE_TYPE (logindObjectManagerClient, logind_object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT); - -static void -logind_object_manager_client_init (logindObjectManagerClient *manager G_GNUC_UNUSED) -{ -} - -static void -logind_object_manager_client_class_init (logindObjectManagerClientClass *klass G_GNUC_UNUSED) -{ -} - -/** - * logind_object_manager_client_get_proxy_type: - * @manager: A #GDBusObjectManagerClient. - * @object_path: The object path of the remote object (unused). - * @interface_name: (allow-none): Interface name of the remote object or %NULL to get the object proxy #GType. - * @user_data: User data (unused). - * - * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy- and #GDBusProxy-derived types. - * - * Returns: A #GDBusProxy-derived #GType if @interface_name is not %NULL, otherwise the #GType for #logindObjectProxy. - */ -GType -logind_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED) -{ - static gsize once_init_value = 0; - static GHashTable *lookup_hash; - GType ret; - - if (interface_name == NULL) - return LOGIND_TYPE_OBJECT_PROXY; - if (g_once_init_enter (&once_init_value)) - { - lookup_hash = g_hash_table_new (g_str_hash, g_str_equal); - g_hash_table_insert (lookup_hash, (gpointer) "org.freedesktop.login1.Manager", GSIZE_TO_POINTER (LOGIND_TYPE_LOGIN1_MANAGER_PROXY)); - g_once_init_leave (&once_init_value, 1); - } - ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name)); - if (ret == (GType) 0) - ret = G_TYPE_DBUS_PROXY; - return ret; -} - -/** - * logind_object_manager_client_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using logind_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call logind_object_manager_client_new_finish() to get the result of the operation. - * - * See logind_object_manager_client_new_sync() for the synchronous, blocking version of this constructor. - */ -void -logind_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (LOGIND_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", logind_object_manager_client_get_proxy_type, NULL); -} - -/** - * logind_object_manager_client_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to logind_object_manager_client_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with logind_object_manager_client_new(). - * - * Returns: (transfer full) (type logindObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -logind_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * logind_object_manager_client_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using logind_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See logind_object_manager_client_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type logindObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -logind_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (LOGIND_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", logind_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - -/** - * logind_object_manager_client_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 logind_object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call logind_object_manager_client_new_for_bus_finish() to get the result of the operation. - * - * See logind_object_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -logind_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (LOGIND_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", logind_object_manager_client_get_proxy_type, NULL); -} - -/** - * logind_object_manager_client_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to logind_object_manager_client_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with logind_object_manager_client_new_for_bus(). - * - * Returns: (transfer full) (type logindObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -logind_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * logind_object_manager_client_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 logind_object_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See logind_object_manager_client_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type logindObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -logind_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (LOGIND_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", logind_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - diff --git a/src/interfaces/logind/logind-gen.h b/src/interfaces/logind/logind-gen.h index fb92f13..05f4c35 100644 --- a/src/interfaces/logind/logind-gen.h +++ b/src/interfaces/logind/logind-gen.h @@ -1400,148 +1400,6 @@ GType logind_login1_manager_skeleton_get_type (void) G_GNUC_CONST; logindLogin1Manager *logind_login1_manager_skeleton_new (void); -/* ---- */ - -#define LOGIND_TYPE_OBJECT (logind_object_get_type ()) -#define LOGIND_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_OBJECT, logindObject)) -#define LOGIND_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_OBJECT)) -#define LOGIND_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), LOGIND_TYPE_OBJECT, logindObject)) - -struct _logindObject; -typedef struct _logindObject logindObject; -typedef struct _logindObjectIface logindObjectIface; - -struct _logindObjectIface -{ - GTypeInterface parent_iface; -}; - -GType logind_object_get_type (void) G_GNUC_CONST; - -logindLogin1Manager *logind_object_get_login1_manager (logindObject *object); -logindLogin1Manager *logind_object_peek_login1_manager (logindObject *object); - -#define LOGIND_TYPE_OBJECT_PROXY (logind_object_proxy_get_type ()) -#define LOGIND_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_OBJECT_PROXY, logindObjectProxy)) -#define LOGIND_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOGIND_TYPE_OBJECT_PROXY, logindObjectProxyClass)) -#define LOGIND_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOGIND_TYPE_OBJECT_PROXY, logindObjectProxyClass)) -#define LOGIND_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_OBJECT_PROXY)) -#define LOGIND_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOGIND_TYPE_OBJECT_PROXY)) - -typedef struct _logindObjectProxy logindObjectProxy; -typedef struct _logindObjectProxyClass logindObjectProxyClass; -typedef struct _logindObjectProxyPrivate logindObjectProxyPrivate; - -struct _logindObjectProxy -{ - /*< private >*/ - GDBusObjectProxy parent_instance; - logindObjectProxyPrivate *priv; -}; - -struct _logindObjectProxyClass -{ - GDBusObjectProxyClass parent_class; -}; - -GType logind_object_proxy_get_type (void) G_GNUC_CONST; -logindObjectProxy *logind_object_proxy_new (GDBusConnection *connection, const gchar *object_path); - -#define LOGIND_TYPE_OBJECT_SKELETON (logind_object_skeleton_get_type ()) -#define LOGIND_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_OBJECT_SKELETON, logindObjectSkeleton)) -#define LOGIND_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOGIND_TYPE_OBJECT_SKELETON, logindObjectSkeletonClass)) -#define LOGIND_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOGIND_TYPE_OBJECT_SKELETON, logindObjectSkeletonClass)) -#define LOGIND_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_OBJECT_SKELETON)) -#define LOGIND_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOGIND_TYPE_OBJECT_SKELETON)) - -typedef struct _logindObjectSkeleton logindObjectSkeleton; -typedef struct _logindObjectSkeletonClass logindObjectSkeletonClass; -typedef struct _logindObjectSkeletonPrivate logindObjectSkeletonPrivate; - -struct _logindObjectSkeleton -{ - /*< private >*/ - GDBusObjectSkeleton parent_instance; - logindObjectSkeletonPrivate *priv; -}; - -struct _logindObjectSkeletonClass -{ - GDBusObjectSkeletonClass parent_class; -}; - -GType logind_object_skeleton_get_type (void) G_GNUC_CONST; -logindObjectSkeleton *logind_object_skeleton_new (const gchar *object_path); -void logind_object_skeleton_set_login1_manager (logindObjectSkeleton *object, logindLogin1Manager *interface_); - -/* ---- */ - -#define LOGIND_TYPE_OBJECT_MANAGER_CLIENT (logind_object_manager_client_get_type ()) -#define LOGIND_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_OBJECT_MANAGER_CLIENT, logindObjectManagerClient)) -#define LOGIND_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOGIND_TYPE_OBJECT_MANAGER_CLIENT, logindObjectManagerClientClass)) -#define LOGIND_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOGIND_TYPE_OBJECT_MANAGER_CLIENT, logindObjectManagerClientClass)) -#define LOGIND_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_OBJECT_MANAGER_CLIENT)) -#define LOGIND_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOGIND_TYPE_OBJECT_MANAGER_CLIENT)) - -typedef struct _logindObjectManagerClient logindObjectManagerClient; -typedef struct _logindObjectManagerClientClass logindObjectManagerClientClass; -typedef struct _logindObjectManagerClientPrivate logindObjectManagerClientPrivate; - -struct _logindObjectManagerClient -{ - /*< private >*/ - GDBusObjectManagerClient parent_instance; - logindObjectManagerClientPrivate *priv; -}; - -struct _logindObjectManagerClientClass -{ - GDBusObjectManagerClientClass parent_class; -}; - -GType logind_object_manager_client_get_type (void) G_GNUC_CONST; - -GType logind_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data); - -void logind_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *logind_object_manager_client_new_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *logind_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - -void logind_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *logind_object_manager_client_new_for_bus_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *logind_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - - G_END_DECLS #endif /* __SRC_INTERFACES_LOGIND_LOGIND_GEN_H__ */ diff --git a/src/interfaces/timedated/timedated-gen.c b/src/interfaces/timedated/timedated-gen.c index 44e8978..7ab576b 100644 --- a/src/interfaces/timedated/timedated-gen.c +++ b/src/interfaces/timedated/timedated-gen.c @@ -2557,567 +2557,3 @@ timedated_timedate1_skeleton_new (void) return TIMEDATED_TIMEDATE1 (g_object_new (TIMEDATED_TYPE_TIMEDATE1_SKELETON, NULL)); } -/* ------------------------------------------------------------------------ - * Code for Object, ObjectProxy and ObjectSkeleton - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:timedatedObject - * @title: timedatedObject - * @short_description: Specialized GDBusObject types - * - * This section contains the #timedatedObject, #timedatedObjectProxy, and #timedatedObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces. - */ - -/** - * timedatedObject: - * - * The #timedatedObject type is a specialized container of interfaces. - */ - -/** - * timedatedObjectIface: - * @parent_iface: The parent interface. - * - * Virtual table for the #timedatedObject interface. - */ - -typedef timedatedObjectIface timedatedObjectInterface; -G_DEFINE_INTERFACE_WITH_CODE (timedatedObject, timedated_object, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT)); - -static void -timedated_object_default_init (timedatedObjectIface *iface) -{ - /** - * timedatedObject:timedate1: - * - * The #timedatedTimedate1 instance corresponding to the D-Bus interface org.freedesktop.timedate1, if any. - * - * Connect to the #GObject::notify signal to get informed of property changes. - */ - g_object_interface_install_property (iface, g_param_spec_object ("timedate1", "timedate1", "timedate1", TIMEDATED_TYPE_TIMEDATE1, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS)); - -} - -/** - * timedated_object_get_timedate1: - * @object: A #timedatedObject. - * - * Gets the #timedatedTimedate1 instance for the D-Bus interface org.freedesktop.timedate1 on @object, if any. - * - * Returns: (transfer full): A #timedatedTimedate1 that must be freed with g_object_unref() or %NULL if @object does not implement the interface. - */ -timedatedTimedate1 *timedated_object_get_timedate1 (timedatedObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.timedate1"); - if (ret == NULL) - return NULL; - return TIMEDATED_TIMEDATE1 (ret); -} - - -/** - * timedated_object_peek_timedate1: (skip) - * @object: A #timedatedObject. - * - * Like timedated_object_get_timedate1() but doesn't increase the reference count on the returned object. - * - * It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running. - * - * Returns: (transfer none): A #timedatedTimedate1 or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object. - */ -timedatedTimedate1 *timedated_object_peek_timedate1 (timedatedObject *object) -{ - GDBusInterface *ret; - ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.timedate1"); - if (ret == NULL) - return NULL; - g_object_unref (ret); - return TIMEDATED_TIMEDATE1 (ret); -} - - -static void -timedated_object_notify (GDBusObject *object, GDBusInterface *interface) -{ - _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface); - /* info can be NULL if the other end is using a D-Bus interface we don't know - * anything about, for example old generated code in this process talking to - * newer generated code in the other process. */ - if (info != NULL) - g_object_notify (G_OBJECT (object), info->hyphen_name); -} - -/** - * timedatedObjectProxy: - * - * The #timedatedObjectProxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * timedatedObjectProxyClass: - * @parent_class: The parent class. - * - * Class structure for #timedatedObjectProxy. - */ - -static void -timedated_object_proxy__timedated_object_iface_init (timedatedObjectIface *iface G_GNUC_UNUSED) -{ -} - -static void -timedated_object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = timedated_object_notify; - iface->interface_removed = timedated_object_notify; -} - - -G_DEFINE_TYPE_WITH_CODE (timedatedObjectProxy, timedated_object_proxy, G_TYPE_DBUS_OBJECT_PROXY, - G_IMPLEMENT_INTERFACE (TIMEDATED_TYPE_OBJECT, timedated_object_proxy__timedated_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, timedated_object_proxy__g_dbus_object_iface_init)); - -static void -timedated_object_proxy_init (timedatedObjectProxy *object G_GNUC_UNUSED) -{ -} - -static void -timedated_object_proxy_set_property (GObject *gobject, - guint prop_id, - const GValue *value G_GNUC_UNUSED, - GParamSpec *pspec) -{ - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); -} - -static void -timedated_object_proxy_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - timedatedObjectProxy *object = TIMEDATED_OBJECT_PROXY (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.timedate1"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -timedated_object_proxy_class_init (timedatedObjectProxyClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = timedated_object_proxy_set_property; - gobject_class->get_property = timedated_object_proxy_get_property; - - g_object_class_override_property (gobject_class, 1, "timedate1"); -} - -/** - * timedated_object_proxy_new: - * @connection: A #GDBusConnection. - * @object_path: An object path. - * - * Creates a new proxy object. - * - * Returns: (transfer full): The proxy object. - */ -timedatedObjectProxy * -timedated_object_proxy_new (GDBusConnection *connection, - const gchar *object_path) -{ - g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL); - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return TIMEDATED_OBJECT_PROXY (g_object_new (TIMEDATED_TYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL)); -} - -/** - * timedatedObjectSkeleton: - * - * The #timedatedObjectSkeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * timedatedObjectSkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #timedatedObjectSkeleton. - */ - -static void -timedated_object_skeleton__timedated_object_iface_init (timedatedObjectIface *iface G_GNUC_UNUSED) -{ -} - - -static void -timedated_object_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface) -{ - iface->interface_added = timedated_object_notify; - iface->interface_removed = timedated_object_notify; -} - -G_DEFINE_TYPE_WITH_CODE (timedatedObjectSkeleton, timedated_object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON, - G_IMPLEMENT_INTERFACE (TIMEDATED_TYPE_OBJECT, timedated_object_skeleton__timedated_object_iface_init) - G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, timedated_object_skeleton__g_dbus_object_iface_init)); - -static void -timedated_object_skeleton_init (timedatedObjectSkeleton *object G_GNUC_UNUSED) -{ -} - -static void -timedated_object_skeleton_set_property (GObject *gobject, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - timedatedObjectSkeleton *object = TIMEDATED_OBJECT_SKELETON (gobject); - GDBusInterfaceSkeleton *interface; - - switch (prop_id) - { - case 1: - interface = g_value_get_object (value); - if (interface != NULL) - { - g_warn_if_fail (TIMEDATED_IS_TIMEDATE1 (interface)); - g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface); - } - else - { - g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "org.freedesktop.timedate1"); - } - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -timedated_object_skeleton_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - timedatedObjectSkeleton *object = TIMEDATED_OBJECT_SKELETON (gobject); - GDBusInterface *interface; - - switch (prop_id) - { - case 1: - interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.timedate1"); - g_value_take_object (value, interface); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -timedated_object_skeleton_class_init (timedatedObjectSkeletonClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - - gobject_class->set_property = timedated_object_skeleton_set_property; - gobject_class->get_property = timedated_object_skeleton_get_property; - - g_object_class_override_property (gobject_class, 1, "timedate1"); -} - -/** - * timedated_object_skeleton_new: - * @object_path: An object path. - * - * Creates a new skeleton object. - * - * Returns: (transfer full): The skeleton object. - */ -timedatedObjectSkeleton * -timedated_object_skeleton_new (const gchar *object_path) -{ - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - return TIMEDATED_OBJECT_SKELETON (g_object_new (TIMEDATED_TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL)); -} - -/** - * timedated_object_skeleton_set_timedate1: - * @object: A #timedatedObjectSkeleton. - * @interface_: (allow-none): A #timedatedTimedate1 or %NULL to clear the interface. - * - * Sets the #timedatedTimedate1 instance for the D-Bus interface org.freedesktop.timedate1 on @object. - */ -void timedated_object_skeleton_set_timedate1 (timedatedObjectSkeleton *object, timedatedTimedate1 *interface_) -{ - g_object_set (G_OBJECT (object), "timedate1", interface_, NULL); -} - - -/* ------------------------------------------------------------------------ - * Code for ObjectManager client - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:timedatedObjectManagerClient - * @title: timedatedObjectManagerClient - * @short_description: Generated GDBusObjectManagerClient type - * - * This section contains a #GDBusObjectManagerClient that uses timedated_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. - */ - -/** - * timedatedObjectManagerClient: - * - * The #timedatedObjectManagerClient structure contains only private data and should only be accessed using the provided API. - */ - -/** - * timedatedObjectManagerClientClass: - * @parent_class: The parent class. - * - * Class structure for #timedatedObjectManagerClient. - */ - -G_DEFINE_TYPE (timedatedObjectManagerClient, timedated_object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT); - -static void -timedated_object_manager_client_init (timedatedObjectManagerClient *manager G_GNUC_UNUSED) -{ -} - -static void -timedated_object_manager_client_class_init (timedatedObjectManagerClientClass *klass G_GNUC_UNUSED) -{ -} - -/** - * timedated_object_manager_client_get_proxy_type: - * @manager: A #GDBusObjectManagerClient. - * @object_path: The object path of the remote object (unused). - * @interface_name: (allow-none): Interface name of the remote object or %NULL to get the object proxy #GType. - * @user_data: User data (unused). - * - * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy- and #GDBusProxy-derived types. - * - * Returns: A #GDBusProxy-derived #GType if @interface_name is not %NULL, otherwise the #GType for #timedatedObjectProxy. - */ -GType -timedated_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED) -{ - static gsize once_init_value = 0; - static GHashTable *lookup_hash; - GType ret; - - if (interface_name == NULL) - return TIMEDATED_TYPE_OBJECT_PROXY; - if (g_once_init_enter (&once_init_value)) - { - lookup_hash = g_hash_table_new (g_str_hash, g_str_equal); - g_hash_table_insert (lookup_hash, (gpointer) "org.freedesktop.timedate1", GSIZE_TO_POINTER (TIMEDATED_TYPE_TIMEDATE1_PROXY)); - g_once_init_leave (&once_init_value, 1); - } - ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name)); - if (ret == (GType) 0) - ret = G_TYPE_DBUS_PROXY; - return ret; -} - -/** - * timedated_object_manager_client_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using timedated_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call timedated_object_manager_client_new_finish() to get the result of the operation. - * - * See timedated_object_manager_client_new_sync() for the synchronous, blocking version of this constructor. - */ -void -timedated_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", timedated_object_manager_client_get_proxy_type, NULL); -} - -/** - * timedated_object_manager_client_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to timedated_object_manager_client_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with timedated_object_manager_client_new(). - * - * Returns: (transfer full) (type timedatedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -timedated_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * timedated_object_manager_client_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 #GDBusObjectManagerClient using timedated_object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See timedated_object_manager_client_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type timedatedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -timedated_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", timedated_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - -/** - * timedated_object_manager_client_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 timedated_object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from. - * You can then call timedated_object_manager_client_new_for_bus_finish() to get the result of the operation. - * - * See timedated_object_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -timedated_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", timedated_object_manager_client_get_proxy_type, NULL); -} - -/** - * timedated_object_manager_client_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to timedated_object_manager_client_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with timedated_object_manager_client_new_for_bus(). - * - * Returns: (transfer full) (type timedatedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -timedated_object_manager_client_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 G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - -/** - * timedated_object_manager_client_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusObjectManagerClientFlags 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 timedated_object_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See timedated_object_manager_client_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type timedatedObjectManagerClient): The constructed object manager client or %NULL if @error is set. - */ -GDBusObjectManager * -timedated_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", timedated_object_manager_client_get_proxy_type, NULL); - if (ret != NULL) - return G_DBUS_OBJECT_MANAGER (ret); - else - return NULL; -} - - diff --git a/src/interfaces/timedated/timedated-gen.h b/src/interfaces/timedated/timedated-gen.h index 757dc43..3ce1f06 100644 --- a/src/interfaces/timedated/timedated-gen.h +++ b/src/interfaces/timedated/timedated-gen.h @@ -303,148 +303,6 @@ GType timedated_timedate1_skeleton_get_type (void) G_GNUC_CONST; timedatedTimedate1 *timedated_timedate1_skeleton_new (void); -/* ---- */ - -#define TIMEDATED_TYPE_OBJECT (timedated_object_get_type ()) -#define TIMEDATED_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TIMEDATED_TYPE_OBJECT, timedatedObject)) -#define TIMEDATED_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TIMEDATED_TYPE_OBJECT)) -#define TIMEDATED_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TIMEDATED_TYPE_OBJECT, timedatedObject)) - -struct _timedatedObject; -typedef struct _timedatedObject timedatedObject; -typedef struct _timedatedObjectIface timedatedObjectIface; - -struct _timedatedObjectIface -{ - GTypeInterface parent_iface; -}; - -GType timedated_object_get_type (void) G_GNUC_CONST; - -timedatedTimedate1 *timedated_object_get_timedate1 (timedatedObject *object); -timedatedTimedate1 *timedated_object_peek_timedate1 (timedatedObject *object); - -#define TIMEDATED_TYPE_OBJECT_PROXY (timedated_object_proxy_get_type ()) -#define TIMEDATED_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TIMEDATED_TYPE_OBJECT_PROXY, timedatedObjectProxy)) -#define TIMEDATED_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TIMEDATED_TYPE_OBJECT_PROXY, timedatedObjectProxyClass)) -#define TIMEDATED_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TIMEDATED_TYPE_OBJECT_PROXY, timedatedObjectProxyClass)) -#define TIMEDATED_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TIMEDATED_TYPE_OBJECT_PROXY)) -#define TIMEDATED_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TIMEDATED_TYPE_OBJECT_PROXY)) - -typedef struct _timedatedObjectProxy timedatedObjectProxy; -typedef struct _timedatedObjectProxyClass timedatedObjectProxyClass; -typedef struct _timedatedObjectProxyPrivate timedatedObjectProxyPrivate; - -struct _timedatedObjectProxy -{ - /*< private >*/ - GDBusObjectProxy parent_instance; - timedatedObjectProxyPrivate *priv; -}; - -struct _timedatedObjectProxyClass -{ - GDBusObjectProxyClass parent_class; -}; - -GType timedated_object_proxy_get_type (void) G_GNUC_CONST; -timedatedObjectProxy *timedated_object_proxy_new (GDBusConnection *connection, const gchar *object_path); - -#define TIMEDATED_TYPE_OBJECT_SKELETON (timedated_object_skeleton_get_type ()) -#define TIMEDATED_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TIMEDATED_TYPE_OBJECT_SKELETON, timedatedObjectSkeleton)) -#define TIMEDATED_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TIMEDATED_TYPE_OBJECT_SKELETON, timedatedObjectSkeletonClass)) -#define TIMEDATED_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TIMEDATED_TYPE_OBJECT_SKELETON, timedatedObjectSkeletonClass)) -#define TIMEDATED_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TIMEDATED_TYPE_OBJECT_SKELETON)) -#define TIMEDATED_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TIMEDATED_TYPE_OBJECT_SKELETON)) - -typedef struct _timedatedObjectSkeleton timedatedObjectSkeleton; -typedef struct _timedatedObjectSkeletonClass timedatedObjectSkeletonClass; -typedef struct _timedatedObjectSkeletonPrivate timedatedObjectSkeletonPrivate; - -struct _timedatedObjectSkeleton -{ - /*< private >*/ - GDBusObjectSkeleton parent_instance; - timedatedObjectSkeletonPrivate *priv; -}; - -struct _timedatedObjectSkeletonClass -{ - GDBusObjectSkeletonClass parent_class; -}; - -GType timedated_object_skeleton_get_type (void) G_GNUC_CONST; -timedatedObjectSkeleton *timedated_object_skeleton_new (const gchar *object_path); -void timedated_object_skeleton_set_timedate1 (timedatedObjectSkeleton *object, timedatedTimedate1 *interface_); - -/* ---- */ - -#define TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT (timedated_object_manager_client_get_type ()) -#define TIMEDATED_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, timedatedObjectManagerClient)) -#define TIMEDATED_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, timedatedObjectManagerClientClass)) -#define TIMEDATED_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT, timedatedObjectManagerClientClass)) -#define TIMEDATED_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT)) -#define TIMEDATED_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TIMEDATED_TYPE_OBJECT_MANAGER_CLIENT)) - -typedef struct _timedatedObjectManagerClient timedatedObjectManagerClient; -typedef struct _timedatedObjectManagerClientClass timedatedObjectManagerClientClass; -typedef struct _timedatedObjectManagerClientPrivate timedatedObjectManagerClientPrivate; - -struct _timedatedObjectManagerClient -{ - /*< private >*/ - GDBusObjectManagerClient parent_instance; - timedatedObjectManagerClientPrivate *priv; -}; - -struct _timedatedObjectManagerClientClass -{ - GDBusObjectManagerClientClass parent_class; -}; - -GType timedated_object_manager_client_get_type (void) G_GNUC_CONST; - -GType timedated_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data); - -void timedated_object_manager_client_new ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *timedated_object_manager_client_new_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *timedated_object_manager_client_new_sync ( - GDBusConnection *connection, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - -void timedated_object_manager_client_new_for_bus ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -GDBusObjectManager *timedated_object_manager_client_new_for_bus_finish ( - GAsyncResult *res, - GError **error); -GDBusObjectManager *timedated_object_manager_client_new_for_bus_sync ( - GBusType bus_type, - GDBusObjectManagerClientFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - - G_END_DECLS #endif /* __SRC_INTERFACES_TIMEDATED_TIMEDATED_GEN_H__ */ diff --git a/src/main.c b/src/main.c index b2a481d..3c30ae0 100644 --- a/src/main.c +++ b/src/main.c @@ -18,15 +18,20 @@ #include #include #include + #include "config.c" + #include "interfaces/hostnamed/hostnamed.c" +#include "interfaces/localed/localed.c" +#include "interfaces/timedated/timedated.c" +#include "interfaces/logind/logind.c" gboolean systemd_utils_init() { if(!config_init()) { gchar *tmp; tmp = "/etc/systemd_compat.conf"; - g_printf("FAILED to open config %s!\n", tmp); + g_printf("FAILED to open config %s! did you `make install`?\n", tmp); return FALSE; } return TRUE; @@ -42,6 +47,7 @@ int main() { } hostnamed_init(); + localed_init(); mloop = g_main_loop_new(NULL, TRUE); -- 2.41.0