1 /* GDBus - GLib D-Bus Library 2 * 3 * Copyright (C) 2008-2010 Red Hat, Inc. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General 16 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. 17 * 18 * Author: David Zeuthen <davidz@redhat.com> 19 */ 20 21 #ifndef __G_DBUS_OBJECT_MANAGER_CLIENT_H__ 22 #define __G_DBUS_OBJECT_MANAGER_CLIENT_H__ 23 24 #include <gio/giotypes.h> 25 26 G_BEGIN_DECLS 27 28 #define G_TYPE_DBUS_OBJECT_MANAGER_CLIENT (g_dbus_object_manager_client_get_type ()) 29 #define G_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClient)) 30 #define G_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClientClass)) 31 #define G_DBUS_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClientClass)) 32 #define G_IS_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT)) 33 #define G_IS_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT)) 34 35 typedef struct _GDBusObjectManagerClientClass GDBusObjectManagerClientClass; 36 typedef struct _GDBusObjectManagerClientPrivate GDBusObjectManagerClientPrivate; 37 38 /** 39 * GDBusObjectManagerClient: 40 * 41 * The #GDBusObjectManagerClient structure contains private data and should 42 * only be accessed using the provided API. 43 * 44 * Since: 2.30 45 */ 46 struct _GDBusObjectManagerClient 47 { 48 /*< private >*/ 49 GObject parent_instance; 50 GDBusObjectManagerClientPrivate *priv; 51 }; 52 53 /** 54 * GDBusObjectManagerClientClass: 55 * @parent_class: The parent class. 56 * @interface_proxy_signal: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-signal signal. 57 * @interface_proxy_properties_changed: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-properties-changed signal. 58 * 59 * Class structure for #GDBusObjectManagerClient. 60 * 61 * Since: 2.30 62 */ 63 struct _GDBusObjectManagerClientClass 64 { 65 GObjectClass parent_class; 66 67 /* signals */ 68 void (*interface_proxy_signal) (GDBusObjectManagerClient *manager, 69 GDBusObjectProxy *object_proxy, 70 GDBusProxy *interface_proxy, 71 const gchar *sender_name, 72 const gchar *signal_name, 73 GVariant *parameters); 74 75 void (*interface_proxy_properties_changed) (GDBusObjectManagerClient *manager, 76 GDBusObjectProxy *object_proxy, 77 GDBusProxy *interface_proxy, 78 GVariant *changed_properties, 79 const gchar* const *invalidated_properties); 80 81 /*< private >*/ 82 gpointer padding[8]; 83 }; 84 85 GLIB_AVAILABLE_IN_ALL 86 GType g_dbus_object_manager_client_get_type (void) G_GNUC_CONST; 87 GLIB_AVAILABLE_IN_ALL 88 void g_dbus_object_manager_client_new (GDBusConnection *connection, 89 GDBusObjectManagerClientFlags flags, 90 const gchar *name, 91 const gchar *object_path, 92 GDBusProxyTypeFunc get_proxy_type_func, 93 gpointer get_proxy_type_user_data, 94 GDestroyNotify get_proxy_type_destroy_notify, 95 GCancellable *cancellable, 96 GAsyncReadyCallback callback, 97 gpointer user_data); 98 GLIB_AVAILABLE_IN_ALL 99 GDBusObjectManager *g_dbus_object_manager_client_new_finish (GAsyncResult *res, 100 GError **error); 101 GLIB_AVAILABLE_IN_ALL 102 GDBusObjectManager *g_dbus_object_manager_client_new_sync (GDBusConnection *connection, 103 GDBusObjectManagerClientFlags flags, 104 const gchar *name, 105 const gchar *object_path, 106 GDBusProxyTypeFunc get_proxy_type_func, 107 gpointer get_proxy_type_user_data, 108 GDestroyNotify get_proxy_type_destroy_notify, 109 GCancellable *cancellable, 110 GError **error); 111 GLIB_AVAILABLE_IN_ALL 112 void g_dbus_object_manager_client_new_for_bus (GBusType bus_type, 113 GDBusObjectManagerClientFlags flags, 114 const gchar *name, 115 const gchar *object_path, 116 GDBusProxyTypeFunc get_proxy_type_func, 117 gpointer get_proxy_type_user_data, 118 GDestroyNotify get_proxy_type_destroy_notify, 119 GCancellable *cancellable, 120 GAsyncReadyCallback callback, 121 gpointer user_data); 122 GLIB_AVAILABLE_IN_ALL 123 GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish (GAsyncResult *res, 124 GError **error); 125 GLIB_AVAILABLE_IN_ALL 126 GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_sync (GBusType bus_type, 127 GDBusObjectManagerClientFlags flags, 128 const gchar *name, 129 const gchar *object_path, 130 GDBusProxyTypeFunc get_proxy_type_func, 131 gpointer get_proxy_type_user_data, 132 GDestroyNotify get_proxy_type_destroy_notify, 133 GCancellable *cancellable, 134 GError **error); 135 GLIB_AVAILABLE_IN_ALL 136 GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient *manager); 137 GLIB_AVAILABLE_IN_ALL 138 GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags (GDBusObjectManagerClient *manager); 139 GLIB_AVAILABLE_IN_ALL 140 const gchar *g_dbus_object_manager_client_get_name (GDBusObjectManagerClient *manager); 141 GLIB_AVAILABLE_IN_ALL 142 gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient *manager); 143 144 G_END_DECLS 145 146 #endif /* __G_DBUS_OBJECT_MANAGER_CLIENT_H */ 147