gdbus: Include changed properties only once per signal
[platform/upstream/connman.git] / gdbus / gdbus.h
index a0ca173..582e944 100644 (file)
@@ -222,6 +222,12 @@ DBusMessage *g_dbus_create_reply_valist(DBusMessage *message,
                                                int type, va_list args);
 
 gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message);
+gboolean g_dbus_send_error(DBusConnection *connection, DBusMessage *message,
+                               const char *name, const char *format, ...)
+                                        __attribute__((format(printf, 4, 5)));
+gboolean g_dbus_send_error_valist(DBusConnection *connection,
+                                       DBusMessage *message, const char *name,
+                                       const char *format, va_list args);
 gboolean g_dbus_send_reply(DBusConnection *connection,
                                DBusMessage *message, int type, ...);
 gboolean g_dbus_send_reply_valist(DBusConnection *connection,
@@ -268,8 +274,12 @@ gboolean g_dbus_get_properties(DBusConnection *connection, const char *path,
 gboolean g_dbus_attach_object_manager(DBusConnection *connection);
 gboolean g_dbus_detach_object_manager(DBusConnection *connection);
 
+typedef struct GDBusClient GDBusClient;
 typedef struct GDBusProxy GDBusProxy;
 
+GDBusProxy *g_dbus_proxy_new(GDBusClient *client, const char *path,
+                                                       const char *interface);
+
 GDBusProxy *g_dbus_proxy_ref(GDBusProxy *proxy);
 void g_dbus_proxy_unref(GDBusProxy *proxy);
 
@@ -279,7 +289,29 @@ const char *g_dbus_proxy_get_interface(GDBusProxy *proxy);
 gboolean g_dbus_proxy_get_property(GDBusProxy *proxy, const char *name,
                                                        DBusMessageIter *iter);
 
-typedef struct GDBusClient GDBusClient;
+gboolean g_dbus_proxy_refresh_property(GDBusProxy *proxy, const char *name);
+
+typedef void (* GDBusResultFunction) (const DBusError *error, void *user_data);
+
+gboolean g_dbus_proxy_set_property_basic(GDBusProxy *proxy,
+                               const char *name, int type, const void *value,
+                               GDBusResultFunction function, void *user_data,
+                               GDBusDestroyFunction destroy);
+
+typedef void (* GDBusSetupFunction) (DBusMessageIter *iter, void *user_data);
+typedef void (* GDBusReturnFunction) (DBusMessage *message, void *user_data);
+
+gboolean g_dbus_proxy_method_call(GDBusProxy *proxy, const char *method,
+                               GDBusSetupFunction setup,
+                               GDBusReturnFunction function, void *user_data,
+                               GDBusDestroyFunction destroy);
+
+typedef void (* GDBusProxyFunction) (GDBusProxy *proxy, void *user_data);
+typedef void (* GDBusPropertyFunction) (GDBusProxy *proxy, const char *name,
+                                       DBusMessageIter *iter, void *user_data);
+
+gboolean g_dbus_proxy_set_property_watch(GDBusProxy *proxy,
+                       GDBusPropertyFunction function, void *user_data);
 
 GDBusClient *g_dbus_client_new(DBusConnection *connection,
                                        const char *service, const char *path);
@@ -294,11 +326,11 @@ gboolean g_dbus_client_set_disconnect_watch(GDBusClient *client,
 gboolean g_dbus_client_set_signal_watch(GDBusClient *client,
                                GDBusMessageFunction function, void *user_data);
 
-typedef void (* GDBusProxyFunction) (GDBusProxy *proxy, void *user_data);
-
 gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client,
-                               GDBusProxyFunction added,
-                               GDBusProxyFunction removed, void *user_data);
+                                       GDBusProxyFunction proxy_added,
+                                       GDBusProxyFunction proxy_removed,
+                                       GDBusPropertyFunction property_changed,
+                                       void *user_data);
 
 #ifdef __cplusplus
 }