2018-03-22 10:06:13

by Szymon Janc

[permalink] [raw]
Subject: [PATCH v2] gatt: Mark Includes property of org.bluez.GattService1 as optional

If property is not present treat it as no Include Services present.
---
doc/gatt-api.txt | 2 +-
src/gatt-database.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
index f58de23c3..60a997cbf 100644
--- a/doc/gatt-api.txt
+++ b/doc/gatt-api.txt
@@ -45,7 +45,7 @@ Properties string UUID [read-only]
belongs to. Only present on services from remote
devices.

- array{object} Includes [read-only]
+ array{object} Includes [read-only, optional]

Array of object paths representing the included
services of this service.
diff --git a/src/gatt-database.c b/src/gatt-database.c
index c1ae91211..2e1c20d78 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -1676,8 +1676,9 @@ static bool parse_includes(GDBusProxy *proxy, struct external_service *service)
DBusMessageIter array;
char *obj;

+ /* Includes property is optional */
if (!g_dbus_proxy_get_property(proxy, "Includes", &iter))
- return false;
+ return true;

if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)
return false;
--
2.14.3



2018-03-22 12:38:01

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH v2] gatt: Mark Includes property of org.bluez.GattService1 as optional

Hi Szymon,

On Thu, Mar 22, 2018 at 2:18 PM, Szymon Janc <[email protected]> wrote:
> Hi,
>
> On Thursday, 22 March 2018 11:28:20 CET Luiz Augusto von Dentz wrote:
>> Hi Szymon,
>>
>> On Thu, Mar 22, 2018 at 12:06 PM, Szymon Janc <[email protected]>
> wrote:
>> > If property is not present treat it as no Include Services present.
>> > ---
>> >
>> > doc/gatt-api.txt | 2 +-
>> > src/gatt-database.c | 3 ++-
>> > 2 files changed, 3 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
>> > index f58de23c3..60a997cbf 100644
>> > --- a/doc/gatt-api.txt
>> > +++ b/doc/gatt-api.txt
>> > @@ -45,7 +45,7 @@ Properties string UUID [read-only]
>> >
>> > belongs to. Only present on services from remote
>> > devices.
>> >
>> > - array{object} Includes [read-only]
>> > + array{object} Includes [read-only, optional]
>> >
>> > Array of object paths representing the included
>> > services of this service.
>> >
>> > diff --git a/src/gatt-database.c b/src/gatt-database.c
>> > index c1ae91211..2e1c20d78 100644
>> > --- a/src/gatt-database.c
>> > +++ b/src/gatt-database.c
>> > @@ -1676,8 +1676,9 @@ static bool parse_includes(GDBusProxy *proxy, struct
>> > external_service *service)>
>> > DBusMessageIter array;
>> > char *obj;
>> >
>> > + /* Includes property is optional */
>> >
>> > if (!g_dbus_proxy_get_property(proxy, "Includes", &iter))
>> >
>> > - return false;
>> > + return true;
>> >
>> > if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)
>> >
>> > return false;
>> >
>> > --
>> > 2.14.3
>>
>> Ive pushed a similar patch about an hour ago:
>
> OK. And what about v3 change? should we failed to register if Includes are not
> in valid format?

Yep, I guess you just need to rebase so we can integrate that change
you did in v3.

> --
> pozdrawiam
> Szymon Janc
>
>



--
Luiz Augusto von Dentz

2018-03-22 12:18:02

by Szymon Janc

[permalink] [raw]
Subject: Re: [PATCH v2] gatt: Mark Includes property of org.bluez.GattService1 as optional

Hi,

On Thursday, 22 March 2018 11:28:20 CET Luiz Augusto von Dentz wrote:
> Hi Szymon,
>
> On Thu, Mar 22, 2018 at 12:06 PM, Szymon Janc <[email protected]>
wrote:
> > If property is not present treat it as no Include Services present.
> > ---
> >
> > doc/gatt-api.txt | 2 +-
> > src/gatt-database.c | 3 ++-
> > 2 files changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
> > index f58de23c3..60a997cbf 100644
> > --- a/doc/gatt-api.txt
> > +++ b/doc/gatt-api.txt
> > @@ -45,7 +45,7 @@ Properties string UUID [read-only]
> >
> > belongs to. Only present on services from remote
> > devices.
> >
> > - array{object} Includes [read-only]
> > + array{object} Includes [read-only, optional]
> >
> > Array of object paths representing the included
> > services of this service.
> >
> > diff --git a/src/gatt-database.c b/src/gatt-database.c
> > index c1ae91211..2e1c20d78 100644
> > --- a/src/gatt-database.c
> > +++ b/src/gatt-database.c
> > @@ -1676,8 +1676,9 @@ static bool parse_includes(GDBusProxy *proxy, struct
> > external_service *service)>
> > DBusMessageIter array;
> > char *obj;
> >
> > + /* Includes property is optional */
> >
> > if (!g_dbus_proxy_get_property(proxy, "Includes", &iter))
> >
> > - return false;
> > + return true;
> >
> > if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)
> >
> > return false;
> >
> > --
> > 2.14.3
>
> Ive pushed a similar patch about an hour ago:

OK. And what about v3 change? should we failed to register if Includes are not
in valid format?

--
pozdrawiam
Szymon Janc



2018-03-22 10:28:20

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH v2] gatt: Mark Includes property of org.bluez.GattService1 as optional

Hi Szymon,

On Thu, Mar 22, 2018 at 12:06 PM, Szymon Janc <[email protected]> wrote:
> If property is not present treat it as no Include Services present.
> ---
> doc/gatt-api.txt | 2 +-
> src/gatt-database.c | 3 ++-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
> index f58de23c3..60a997cbf 100644
> --- a/doc/gatt-api.txt
> +++ b/doc/gatt-api.txt
> @@ -45,7 +45,7 @@ Properties string UUID [read-only]
> belongs to. Only present on services from remote
> devices.
>
> - array{object} Includes [read-only]
> + array{object} Includes [read-only, optional]
>
> Array of object paths representing the included
> services of this service.
> diff --git a/src/gatt-database.c b/src/gatt-database.c
> index c1ae91211..2e1c20d78 100644
> --- a/src/gatt-database.c
> +++ b/src/gatt-database.c
> @@ -1676,8 +1676,9 @@ static bool parse_includes(GDBusProxy *proxy, struct external_service *service)
> DBusMessageIter array;
> char *obj;
>
> + /* Includes property is optional */
> if (!g_dbus_proxy_get_property(proxy, "Includes", &iter))
> - return false;
> + return true;
>
> if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)
> return false;
> --
> 2.14.3

Ive pushed a similar patch about an hour ago:

https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=4f7162071f885714f8a3aaedc50333576e2dd8f5

--
Luiz Augusto von Dentz