Re: [PATCH BlueZ v1 1/9] gdbus: Add g_dbus_client_set_ready_watch()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Claudio,

On Thu, Mar 6, 2014 at 3:44 PM, Claudio Takahasi
<claudio.takahasi@xxxxxxxxxxxxx> wrote:
> This patch adds a new gdbus helper to notify the clients that
> GetManagedObjects reply was received and the last proxy has been
> informed previously by the proxy_added callback.
> ---
>  gdbus/client.c | 17 +++++++++++++++++
>  gdbus/gdbus.h  |  4 +++-
>  2 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/gdbus/client.c b/gdbus/client.c
> index be8cc29..5193b6c 100644
> --- a/gdbus/client.c
> +++ b/gdbus/client.c
> @@ -56,6 +56,8 @@ struct GDBusClient {
>         void *signal_data;
>         GDBusProxyFunction proxy_added;
>         GDBusProxyFunction proxy_removed;
> +       GDBusClientFunction ready;
> +       void *ready_data;
>         GDBusPropertyFunction property_changed;
>         void *user_data;
>         GList *proxy_list;
> @@ -982,6 +984,9 @@ static void parse_managed_objects(GDBusClient *client, DBusMessage *msg)
>
>                 dbus_message_iter_next(&dict);
>         }
> +
> +       if (client->ready)
> +               client->ready(client, client->ready_data);
>  }
>
>  static void get_managed_objects_reply(DBusPendingCall *call, void *user_data)
> @@ -1243,6 +1248,18 @@ gboolean g_dbus_client_set_signal_watch(GDBusClient *client,
>         return TRUE;
>  }
>
> +gboolean g_dbus_client_set_ready_watch(GDBusClient *client,
> +                               GDBusClientFunction ready, void *user_data)
> +{
> +       if (client == NULL)
> +               return FALSE;
> +
> +       client->ready = ready;
> +       client->ready_data = user_data;
> +
> +       return TRUE;
> +}
> +
>  gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client,
>                                         GDBusProxyFunction proxy_added,
>                                         GDBusProxyFunction proxy_removed,
> diff --git a/gdbus/gdbus.h b/gdbus/gdbus.h
> index 9542109..8ada200 100644
> --- a/gdbus/gdbus.h
> +++ b/gdbus/gdbus.h
> @@ -337,6 +337,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);
> @@ -359,7 +360,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,
> --
> 1.8.3.1

It should be relatively simple to add a unit for it, doesn't need to
be in the same patch-set since I don't want to slow down the set just
because of the lack of it.


-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux