Imported Upstream version 1.29
[platform/upstream/connman.git] / gdbus / gdbus.h
index 582e944..d99c254 100644 (file)
@@ -88,18 +88,25 @@ typedef void (* GDBusSecurityFunction) (DBusConnection *connection,
                                                gboolean interaction,
                                                GDBusPendingReply pending);
 
+enum GDBusFlags {
+       G_DBUS_FLAG_ENABLE_EXPERIMENTAL = (1 << 0),
+};
+
 enum GDBusMethodFlags {
-       G_DBUS_METHOD_FLAG_DEPRECATED = (1 << 0),
-       G_DBUS_METHOD_FLAG_NOREPLY    = (1 << 1),
-       G_DBUS_METHOD_FLAG_ASYNC      = (1 << 2),
+       G_DBUS_METHOD_FLAG_DEPRECATED   = (1 << 0),
+       G_DBUS_METHOD_FLAG_NOREPLY      = (1 << 1),
+       G_DBUS_METHOD_FLAG_ASYNC        = (1 << 2),
+       G_DBUS_METHOD_FLAG_EXPERIMENTAL = (1 << 3),
 };
 
 enum GDBusSignalFlags {
-       G_DBUS_SIGNAL_FLAG_DEPRECATED = (1 << 0),
+       G_DBUS_SIGNAL_FLAG_DEPRECATED   = (1 << 0),
+       G_DBUS_SIGNAL_FLAG_EXPERIMENTAL = (1 << 1),
 };
 
 enum GDBusPropertyFlags {
-       G_DBUS_PROPERTY_FLAG_DEPRECATED = (1 << 0),
+       G_DBUS_PROPERTY_FLAG_DEPRECATED   = (1 << 0),
+       G_DBUS_PROPERTY_FLAG_EXPERIMENTAL = (1 << 1),
 };
 
 enum GDBusSecurityFlags {
@@ -173,6 +180,20 @@ struct GDBusSecurityTable {
        .function = _function, \
        .flags = G_DBUS_METHOD_FLAG_ASYNC | G_DBUS_METHOD_FLAG_DEPRECATED
 
+#define GDBUS_EXPERIMENTAL_METHOD(_name, _in_args, _out_args, _function) \
+       .name = _name, \
+       .in_args = _in_args, \
+       .out_args = _out_args, \
+       .function = _function, \
+       .flags = G_DBUS_METHOD_FLAG_EXPERIMENTAL
+
+#define GDBUS_EXPERIMENTAL_ASYNC_METHOD(_name, _in_args, _out_args, _function) \
+       .name = _name, \
+       .in_args = _in_args, \
+       .out_args = _out_args, \
+       .function = _function, \
+       .flags = G_DBUS_METHOD_FLAG_ASYNC | G_DBUS_METHOD_FLAG_EXPERIMENTAL
+
 #define GDBUS_NOREPLY_METHOD(_name, _in_args, _out_args, _function) \
        .name = _name, \
        .in_args = _in_args, \
@@ -189,6 +210,14 @@ struct GDBusSecurityTable {
        .args = _args, \
        .flags = G_DBUS_SIGNAL_FLAG_DEPRECATED
 
+#define GDBUS_EXPERIMENTAL_SIGNAL(_name, _args) \
+       .name = _name, \
+       .args = _args, \
+       .flags = G_DBUS_SIGNAL_FLAG_EXPERIMENTAL
+
+void g_dbus_set_flags(int flags);
+int g_dbus_get_flags(void);
+
 gboolean g_dbus_register_interface(DBusConnection *connection,
                                        const char *path, const char *name,
                                        const GDBusMethodTable *methods,
@@ -222,6 +251,9 @@ 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_message_with_reply(DBusConnection *connection,
+                                       DBusMessage *message,
+                                       DBusPendingCall **call, int timeout);
 gboolean g_dbus_send_error(DBusConnection *connection, DBusMessage *message,
                                const char *name, const char *format, ...)
                                         __attribute__((format(printf, 4, 5)));
@@ -298,6 +330,11 @@ gboolean g_dbus_proxy_set_property_basic(GDBusProxy *proxy,
                                GDBusResultFunction function, void *user_data,
                                GDBusDestroyFunction destroy);
 
+gboolean g_dbus_proxy_set_property_array(GDBusProxy *proxy,
+                               const char *name, int type, const void *value,
+                               size_t size, GDBusResultFunction function,
+                               void *user_data, GDBusDestroyFunction destroy);
+
 typedef void (* GDBusSetupFunction) (DBusMessageIter *iter, void *user_data);
 typedef void (* GDBusReturnFunction) (DBusMessage *message, void *user_data);
 
@@ -306,6 +343,7 @@ gboolean g_dbus_proxy_method_call(GDBusProxy *proxy, const char *method,
                                GDBusReturnFunction function, void *user_data,
                                GDBusDestroyFunction destroy);
 
+typedef void (* GDBusClientFunction) (GDBusClient *client, void *user_data);
 typedef void (* GDBusProxyFunction) (GDBusProxy *proxy, void *user_data);
 typedef void (* GDBusPropertyFunction) (GDBusProxy *proxy, const char *name,
                                        DBusMessageIter *iter, void *user_data);
@@ -313,8 +351,15 @@ typedef void (* GDBusPropertyFunction) (GDBusProxy *proxy, const char *name,
 gboolean g_dbus_proxy_set_property_watch(GDBusProxy *proxy,
                        GDBusPropertyFunction function, void *user_data);
 
+gboolean g_dbus_proxy_set_removed_watch(GDBusProxy *proxy,
+                       GDBusProxyFunction destroy, void *user_data);
+
 GDBusClient *g_dbus_client_new(DBusConnection *connection,
                                        const char *service, const char *path);
+GDBusClient *g_dbus_client_new_full(DBusConnection *connection,
+                                                       const char *service,
+                                                       const char *path,
+                                                       const char *root_path);
 
 GDBusClient *g_dbus_client_ref(GDBusClient *client);
 void g_dbus_client_unref(GDBusClient *client);
@@ -325,7 +370,8 @@ gboolean g_dbus_client_set_disconnect_watch(GDBusClient *client,
                                GDBusWatchFunction function, void *user_data);
 gboolean g_dbus_client_set_signal_watch(GDBusClient *client,
                                GDBusMessageFunction function, void *user_data);
-
+gboolean g_dbus_client_set_ready_watch(GDBusClient *client,
+                               GDBusClientFunction ready, void *user_data);
 gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client,
                                        GDBusProxyFunction proxy_added,
                                        GDBusProxyFunction proxy_removed,