Return-Path: MIME-Version: 1.0 In-Reply-To: References: <1416252138-17477-1-git-send-email-armansito@chromium.org> <1416252138-17477-2-git-send-email-armansito@chromium.org> Date: Wed, 19 Nov 2014 07:14:47 -0800 Message-ID: Subject: Re: [PATCH BlueZ 01/12] attrib/gattrib: Add g_attrib_get_att. From: Arman Uguray To: Luiz Augusto von Dentz Cc: "linux-bluetooth@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Luiz, > On Wed, Nov 19, 2014 at 7:05 AM, Luiz Augusto von Dentz wrote: > Hi Arman, > > On Mon, Nov 17, 2014 at 9:22 PM, Arman Uguray wrote: >> Added the g_attrib_get_att function which returns the underlying bt_att >> structure associated with a GAttrib. >> --- >> attrib/gattrib.c | 8 ++++++++ >> attrib/gattrib.h | 3 +++ >> 2 files changed, 11 insertions(+) >> >> diff --git a/attrib/gattrib.c b/attrib/gattrib.c >> index ce7f7b3..a446ae6 100644 >> --- a/attrib/gattrib.c >> +++ b/attrib/gattrib.c >> @@ -166,6 +166,14 @@ GIOChannel *g_attrib_get_channel(GAttrib *attrib) >> return attrib->io; >> } >> >> +struct bt_att *g_attrib_get_att(GAttrib *attrib) >> +{ >> + if (!attrib) >> + return NULL; >> + >> + return attrib->att; >> +} >> + >> gboolean g_attrib_set_destroy_function(GAttrib *attrib, GDestroyNotify destroy, >> gpointer user_data) >> { >> diff --git a/attrib/gattrib.h b/attrib/gattrib.h >> index 2ed57c1..374bac2 100644 >> --- a/attrib/gattrib.h >> +++ b/attrib/gattrib.h >> @@ -31,6 +31,7 @@ extern "C" { >> #define GATTRIB_ALL_REQS 0xFE >> #define GATTRIB_ALL_HANDLES 0x0000 >> >> +struct bt_att; /* Forward declaration for compatibility */ >> struct _GAttrib; >> typedef struct _GAttrib GAttrib; >> >> @@ -47,6 +48,8 @@ void g_attrib_unref(GAttrib *attrib); >> >> GIOChannel *g_attrib_get_channel(GAttrib *attrib); >> >> +struct bt_att *g_attrib_get_att(GAttrib *attrib); >> + >> gboolean g_attrib_set_destroy_function(GAttrib *attrib, >> GDestroyNotify destroy, gpointer user_data); >> >> -- >> 2.1.0.rc2.206.gedb03e5 > > Im not following you here, why you want to expose bt_att via GAttrib, > isn't it better to just have a g_attrib_get_fd if you just need to > access the fd? > That's the whole point; the new code will use bt_att directly while the old code will go through the GAttrib shim around bt_att until we transition everything to use shared/gatt. At that point we will no longer need the shim and we can have src/device create a bt_att directly. > > -- > Luiz Augusto von Dentz Thanks, Arman