diff mbox series

[BlueZ,v1,7/7] doc/advertisement-monitor-api: Update Advertisement Monitor API description

Message ID 20200818152612.BlueZ.v1.7.Iee7e9d13c78dd02c5b283a203dea11a4a4ffa7cc@changeid (mailing list archive)
State Superseded
Headers show
Series [BlueZ,v1,1/7] adv_monitor: Introduce org.bluez.AdvertisementMonitorManager1 interface | expand

Commit Message

Miao-chen Chou Aug. 18, 2020, 10:26 p.m. UTC
This modifies the following description to Advertisement Monitor API.
- Add org.bluez.Error.Failed to RegisterMonitor() method.
- Add more description about the usage of RegisterMonitor() and
UnregisterMonitor() methods.
- Add description about the ranges for the fields in property
RSSIThresholdsAndTimers.

Reviewed-by: Yun-Hao Chung <howardchung@google.com>
Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
---

 doc/advertisement-monitor-api.txt | 34 +++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 9 deletions(-)

Comments

bluez.test.bot@gmail.com Aug. 18, 2020, 10:50 p.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
While we are preparing for reviewing the patches, we found the following
issue/warning.

Test Result:
checkgitlint Failed

Outputs:
1: T1 Title exceeds max length (75>72): "doc/advertisement-monitor-api: Update Advertisement Monitor API description"



---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz Sept. 8, 2020, 5:39 p.m. UTC | #2
Hi Miao,

On Tue, Aug 18, 2020 at 3:34 PM Miao-chen Chou <mcchou@chromium.org> wrote:
>
> This modifies the following description to Advertisement Monitor API.
> - Add org.bluez.Error.Failed to RegisterMonitor() method.
> - Add more description about the usage of RegisterMonitor() and
> UnregisterMonitor() methods.
> - Add description about the ranges for the fields in property
> RSSIThresholdsAndTimers.
>
> Reviewed-by: Yun-Hao Chung <howardchung@google.com>
> Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
> ---
>
>  doc/advertisement-monitor-api.txt | 34 +++++++++++++++++++++++--------
>  1 file changed, 25 insertions(+), 9 deletions(-)
>
> diff --git a/doc/advertisement-monitor-api.txt b/doc/advertisement-monitor-api.txt
> index 74adbfae9..e09b6fd25 100644
> --- a/doc/advertisement-monitor-api.txt
> +++ b/doc/advertisement-monitor-api.txt
> @@ -49,7 +49,7 @@ Properties    string Type [read-only]
>                         org.bluez.AdvertisementMonitorManager1 for the available
>                         options.
>
> -               (Int16, Uint16, Int16, Uint16) RSSIThreshholdsAndTimers [read-only, optional]
> +               (Int16, Uint16, Int16, Uint16) RSSIThresholdsAndTimers [read-only, optional]
>
>                         This contains HighRSSIThreshold, HighRSSIThresholdTimer,
>                         LowRSSIThreshold, LowRSSIThresholdTimer in order. The
> @@ -66,7 +66,11 @@ Properties   string Type [read-only]
>                         RSSIs of the received advertisement(s) during
>                         LowRSSIThresholdTimer do not reach LowRSSIThreshold.
>
> -               array{(uint8, uint8, string)} Patterns [read-only, optional]
> +                       The valid range of a RSSI is -127 to +20 dBm while 127
> +                       dBm indicates unset. The valid range of a timer is 1 to
> +                       300 seconds while 0 indicates unset.
> +
> +               array{(uint8, uint8, array{byte})} Patterns [read-only, optional]
>
>                         If Type is set to 0x01, this must exist and has at least
>                         one entry in the array.
> @@ -80,8 +84,9 @@ Properties    string Type [read-only]
>                                 See https://www.bluetooth.com/specifications/
>                                 assigned-numbers/generic-access-profile/ for
>                                 the possible allowed value.
> -                       string content_of_pattern
> -                               This is the value of the pattern.
> +                       array{byte} content_of_pattern
> +                               This is the value of the pattern. The maximum
> +                               length of the bytes is 31.
>
>  Advertisement Monitor Manager hierarchy
>  =======================================
> @@ -91,20 +96,31 @@ Object path /org/bluez/{hci0,hci1,...}
>
>  Methods                void RegisterMonitor(object application)
>
> -                       This registers a hierarchy of advertisement monitors.
> +                       This registers the root path of a hierarchy of
> +                       advertisement monitors.
>                         The application object path together with the D-Bus
>                         system bus connection ID define the identification of
>                         the application registering advertisement monitors.
> +                       Once a root path is registered by a client via this
> +                       method, the client can freely expose/unexpose
> +                       advertisement monitors without re-registering the root
> +                       path again. After use, the client should call
> +                       UnregisterMonitor() method to invalidate the
> +                       advertisement monitors.
>
>                         Possible errors: org.bluez.Error.InvalidArguments
>                                          org.bluez.Error.AlreadyExists
> +                                        org.bluez.Error.Failed
>
>                 void UnregisterMonitor(object application)
>
> -                       This unregisters advertisement monitors that have been
> -                       previously registered. The object path parameter must
> -                       match the same value that has been used on
> -                       registration.
> +                       This unregisters a hierarchy of advertisement monitors
> +                       that has been previously registered. The object path
> +                       parameter must match the same value that has been used
> +                       on registration. Upon unregistration, the advertisement
> +                       monitor(s) should expect to receive Release() method as
> +                       the signal that the advertisement monitor(s) has been
> +                       deactivated.
>
>                         Possible errors: org.bluez.Error.InvalidArguments
>                                          org.bluez.Error.DoesNotExist
> --
> 2.26.2

These are still experimental so you will need to use EXPERIMENTAL
version when declaring the methods/properties so it only gets enabled
when the experimental flag is passed to bluetoothd.
Miao-chen Chou Sept. 10, 2020, 4:53 a.m. UTC | #3
Hi Luiz,

On Tue, Sep 8, 2020 at 10:40 AM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Miao,
>
> On Tue, Aug 18, 2020 at 3:34 PM Miao-chen Chou <mcchou@chromium.org> wrote:
> >
> > This modifies the following description to Advertisement Monitor API.
> > - Add org.bluez.Error.Failed to RegisterMonitor() method.
> > - Add more description about the usage of RegisterMonitor() and
> > UnregisterMonitor() methods.
> > - Add description about the ranges for the fields in property
> > RSSIThresholdsAndTimers.
> >
> > Reviewed-by: Yun-Hao Chung <howardchung@google.com>
> > Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
> > ---
> >
> >  doc/advertisement-monitor-api.txt | 34 +++++++++++++++++++++++--------
> >  1 file changed, 25 insertions(+), 9 deletions(-)
> >
> > diff --git a/doc/advertisement-monitor-api.txt b/doc/advertisement-monitor-api.txt
> > index 74adbfae9..e09b6fd25 100644
> > --- a/doc/advertisement-monitor-api.txt
> > +++ b/doc/advertisement-monitor-api.txt
> > @@ -49,7 +49,7 @@ Properties    string Type [read-only]
> >                         org.bluez.AdvertisementMonitorManager1 for the available
> >                         options.
> >
> > -               (Int16, Uint16, Int16, Uint16) RSSIThreshholdsAndTimers [read-only, optional]
> > +               (Int16, Uint16, Int16, Uint16) RSSIThresholdsAndTimers [read-only, optional]
> >
> >                         This contains HighRSSIThreshold, HighRSSIThresholdTimer,
> >                         LowRSSIThreshold, LowRSSIThresholdTimer in order. The
> > @@ -66,7 +66,11 @@ Properties   string Type [read-only]
> >                         RSSIs of the received advertisement(s) during
> >                         LowRSSIThresholdTimer do not reach LowRSSIThreshold.
> >
> > -               array{(uint8, uint8, string)} Patterns [read-only, optional]
> > +                       The valid range of a RSSI is -127 to +20 dBm while 127
> > +                       dBm indicates unset. The valid range of a timer is 1 to
> > +                       300 seconds while 0 indicates unset.
> > +
> > +               array{(uint8, uint8, array{byte})} Patterns [read-only, optional]
> >
> >                         If Type is set to 0x01, this must exist and has at least
> >                         one entry in the array.
> > @@ -80,8 +84,9 @@ Properties    string Type [read-only]
> >                                 See https://www.bluetooth.com/specifications/
> >                                 assigned-numbers/generic-access-profile/ for
> >                                 the possible allowed value.
> > -                       string content_of_pattern
> > -                               This is the value of the pattern.
> > +                       array{byte} content_of_pattern
> > +                               This is the value of the pattern. The maximum
> > +                               length of the bytes is 31.
> >
> >  Advertisement Monitor Manager hierarchy
> >  =======================================
> > @@ -91,20 +96,31 @@ Object path /org/bluez/{hci0,hci1,...}
> >
> >  Methods                void RegisterMonitor(object application)
> >
> > -                       This registers a hierarchy of advertisement monitors.
> > +                       This registers the root path of a hierarchy of
> > +                       advertisement monitors.
> >                         The application object path together with the D-Bus
> >                         system bus connection ID define the identification of
> >                         the application registering advertisement monitors.
> > +                       Once a root path is registered by a client via this
> > +                       method, the client can freely expose/unexpose
> > +                       advertisement monitors without re-registering the root
> > +                       path again. After use, the client should call
> > +                       UnregisterMonitor() method to invalidate the
> > +                       advertisement monitors.
> >
> >                         Possible errors: org.bluez.Error.InvalidArguments
> >                                          org.bluez.Error.AlreadyExists
> > +                                        org.bluez.Error.Failed
> >
> >                 void UnregisterMonitor(object application)
> >
> > -                       This unregisters advertisement monitors that have been
> > -                       previously registered. The object path parameter must
> > -                       match the same value that has been used on
> > -                       registration.
> > +                       This unregisters a hierarchy of advertisement monitors
> > +                       that has been previously registered. The object path
> > +                       parameter must match the same value that has been used
> > +                       on registration. Upon unregistration, the advertisement
> > +                       monitor(s) should expect to receive Release() method as
> > +                       the signal that the advertisement monitor(s) has been
> > +                       deactivated.
> >
> >                         Possible errors: org.bluez.Error.InvalidArguments
> >                                          org.bluez.Error.DoesNotExist
> > --
> > 2.26.2
>
> These are still experimental so you will need to use EXPERIMENTAL
> version when declaring the methods/properties so it only gets enabled
> when the experimental flag is passed to bluetoothd.
g_dbus_register_interface()  does not allow to have all methods and
properties marked as experimental, so at least SupportedFeatures
should be non-experimental.

>
>
> --
> Luiz Augusto von Dentz

Thanks,
Miao
Luiz Augusto von Dentz Sept. 10, 2020, 5:43 p.m. UTC | #4
Hi Miao,

On Wed, Sep 9, 2020 at 9:53 PM Miao-chen Chou <mcchou@chromium.org> wrote:
>
> Hi Luiz,
>
> On Tue, Sep 8, 2020 at 10:40 AM Luiz Augusto von Dentz
> <luiz.dentz@gmail.com> wrote:
> >
> > Hi Miao,
> >
> > On Tue, Aug 18, 2020 at 3:34 PM Miao-chen Chou <mcchou@chromium.org> wrote:
> > >
> > > This modifies the following description to Advertisement Monitor API.
> > > - Add org.bluez.Error.Failed to RegisterMonitor() method.
> > > - Add more description about the usage of RegisterMonitor() and
> > > UnregisterMonitor() methods.
> > > - Add description about the ranges for the fields in property
> > > RSSIThresholdsAndTimers.
> > >
> > > Reviewed-by: Yun-Hao Chung <howardchung@google.com>
> > > Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
> > > ---
> > >
> > >  doc/advertisement-monitor-api.txt | 34 +++++++++++++++++++++++--------
> > >  1 file changed, 25 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/doc/advertisement-monitor-api.txt b/doc/advertisement-monitor-api.txt
> > > index 74adbfae9..e09b6fd25 100644
> > > --- a/doc/advertisement-monitor-api.txt
> > > +++ b/doc/advertisement-monitor-api.txt
> > > @@ -49,7 +49,7 @@ Properties    string Type [read-only]
> > >                         org.bluez.AdvertisementMonitorManager1 for the available
> > >                         options.
> > >
> > > -               (Int16, Uint16, Int16, Uint16) RSSIThreshholdsAndTimers [read-only, optional]
> > > +               (Int16, Uint16, Int16, Uint16) RSSIThresholdsAndTimers [read-only, optional]
> > >
> > >                         This contains HighRSSIThreshold, HighRSSIThresholdTimer,
> > >                         LowRSSIThreshold, LowRSSIThresholdTimer in order. The
> > > @@ -66,7 +66,11 @@ Properties   string Type [read-only]
> > >                         RSSIs of the received advertisement(s) during
> > >                         LowRSSIThresholdTimer do not reach LowRSSIThreshold.
> > >
> > > -               array{(uint8, uint8, string)} Patterns [read-only, optional]
> > > +                       The valid range of a RSSI is -127 to +20 dBm while 127
> > > +                       dBm indicates unset. The valid range of a timer is 1 to
> > > +                       300 seconds while 0 indicates unset.
> > > +
> > > +               array{(uint8, uint8, array{byte})} Patterns [read-only, optional]
> > >
> > >                         If Type is set to 0x01, this must exist and has at least
> > >                         one entry in the array.
> > > @@ -80,8 +84,9 @@ Properties    string Type [read-only]
> > >                                 See https://www.bluetooth.com/specifications/
> > >                                 assigned-numbers/generic-access-profile/ for
> > >                                 the possible allowed value.
> > > -                       string content_of_pattern
> > > -                               This is the value of the pattern.
> > > +                       array{byte} content_of_pattern
> > > +                               This is the value of the pattern. The maximum
> > > +                               length of the bytes is 31.
> > >
> > >  Advertisement Monitor Manager hierarchy
> > >  =======================================
> > > @@ -91,20 +96,31 @@ Object path /org/bluez/{hci0,hci1,...}
> > >
> > >  Methods                void RegisterMonitor(object application)
> > >
> > > -                       This registers a hierarchy of advertisement monitors.
> > > +                       This registers the root path of a hierarchy of
> > > +                       advertisement monitors.
> > >                         The application object path together with the D-Bus
> > >                         system bus connection ID define the identification of
> > >                         the application registering advertisement monitors.
> > > +                       Once a root path is registered by a client via this
> > > +                       method, the client can freely expose/unexpose
> > > +                       advertisement monitors without re-registering the root
> > > +                       path again. After use, the client should call
> > > +                       UnregisterMonitor() method to invalidate the
> > > +                       advertisement monitors.
> > >
> > >                         Possible errors: org.bluez.Error.InvalidArguments
> > >                                          org.bluez.Error.AlreadyExists
> > > +                                        org.bluez.Error.Failed
> > >
> > >                 void UnregisterMonitor(object application)
> > >
> > > -                       This unregisters advertisement monitors that have been
> > > -                       previously registered. The object path parameter must
> > > -                       match the same value that has been used on
> > > -                       registration.
> > > +                       This unregisters a hierarchy of advertisement monitors
> > > +                       that has been previously registered. The object path
> > > +                       parameter must match the same value that has been used
> > > +                       on registration. Upon unregistration, the advertisement
> > > +                       monitor(s) should expect to receive Release() method as
> > > +                       the signal that the advertisement monitor(s) has been
> > > +                       deactivated.
> > >
> > >                         Possible errors: org.bluez.Error.InvalidArguments
> > >                                          org.bluez.Error.DoesNotExist
> > > --
> > > 2.26.2
> >
> > These are still experimental so you will need to use EXPERIMENTAL
> > version when declaring the methods/properties so it only gets enabled
> > when the experimental flag is passed to bluetoothd.
> g_dbus_register_interface()  does not allow to have all methods and
> properties marked as experimental, so at least SupportedFeatures
> should be non-experimental.

You will need to do something like the following:

if (g_dbus_get_flags() & G_DBUS_FLAG_ENABLE_EXPERIMENTAL)

You can see how it was used in adv_manager:

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

> >
> >
> > --
> > Luiz Augusto von Dentz
>
> Thanks,
> Miao
Miao-chen Chou Sept. 10, 2020, 11:19 p.m. UTC | #5
Hi Luiz,

On Thu, Sep 10, 2020 at 10:43 AM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Miao,
>
> On Wed, Sep 9, 2020 at 9:53 PM Miao-chen Chou <mcchou@chromium.org> wrote:
> >
> > Hi Luiz,
> >
> > On Tue, Sep 8, 2020 at 10:40 AM Luiz Augusto von Dentz
> > <luiz.dentz@gmail.com> wrote:
> > >
> > > Hi Miao,
> > >
> > > On Tue, Aug 18, 2020 at 3:34 PM Miao-chen Chou <mcchou@chromium.org> wrote:
> > > >
> > > > This modifies the following description to Advertisement Monitor API.
> > > > - Add org.bluez.Error.Failed to RegisterMonitor() method.
> > > > - Add more description about the usage of RegisterMonitor() and
> > > > UnregisterMonitor() methods.
> > > > - Add description about the ranges for the fields in property
> > > > RSSIThresholdsAndTimers.
> > > >
> > > > Reviewed-by: Yun-Hao Chung <howardchung@google.com>
> > > > Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
> > > > ---
> > > >
> > > >  doc/advertisement-monitor-api.txt | 34 +++++++++++++++++++++++--------
> > > >  1 file changed, 25 insertions(+), 9 deletions(-)
> > > >
> > > > diff --git a/doc/advertisement-monitor-api.txt b/doc/advertisement-monitor-api.txt
> > > > index 74adbfae9..e09b6fd25 100644
> > > > --- a/doc/advertisement-monitor-api.txt
> > > > +++ b/doc/advertisement-monitor-api.txt
> > > > @@ -49,7 +49,7 @@ Properties    string Type [read-only]
> > > >                         org.bluez.AdvertisementMonitorManager1 for the available
> > > >                         options.
> > > >
> > > > -               (Int16, Uint16, Int16, Uint16) RSSIThreshholdsAndTimers [read-only, optional]
> > > > +               (Int16, Uint16, Int16, Uint16) RSSIThresholdsAndTimers [read-only, optional]
> > > >
> > > >                         This contains HighRSSIThreshold, HighRSSIThresholdTimer,
> > > >                         LowRSSIThreshold, LowRSSIThresholdTimer in order. The
> > > > @@ -66,7 +66,11 @@ Properties   string Type [read-only]
> > > >                         RSSIs of the received advertisement(s) during
> > > >                         LowRSSIThresholdTimer do not reach LowRSSIThreshold.
> > > >
> > > > -               array{(uint8, uint8, string)} Patterns [read-only, optional]
> > > > +                       The valid range of a RSSI is -127 to +20 dBm while 127
> > > > +                       dBm indicates unset. The valid range of a timer is 1 to
> > > > +                       300 seconds while 0 indicates unset.
> > > > +
> > > > +               array{(uint8, uint8, array{byte})} Patterns [read-only, optional]
> > > >
> > > >                         If Type is set to 0x01, this must exist and has at least
> > > >                         one entry in the array.
> > > > @@ -80,8 +84,9 @@ Properties    string Type [read-only]
> > > >                                 See https://www.bluetooth.com/specifications/
> > > >                                 assigned-numbers/generic-access-profile/ for
> > > >                                 the possible allowed value.
> > > > -                       string content_of_pattern
> > > > -                               This is the value of the pattern.
> > > > +                       array{byte} content_of_pattern
> > > > +                               This is the value of the pattern. The maximum
> > > > +                               length of the bytes is 31.
> > > >
> > > >  Advertisement Monitor Manager hierarchy
> > > >  =======================================
> > > > @@ -91,20 +96,31 @@ Object path /org/bluez/{hci0,hci1,...}
> > > >
> > > >  Methods                void RegisterMonitor(object application)
> > > >
> > > > -                       This registers a hierarchy of advertisement monitors.
> > > > +                       This registers the root path of a hierarchy of
> > > > +                       advertisement monitors.
> > > >                         The application object path together with the D-Bus
> > > >                         system bus connection ID define the identification of
> > > >                         the application registering advertisement monitors.
> > > > +                       Once a root path is registered by a client via this
> > > > +                       method, the client can freely expose/unexpose
> > > > +                       advertisement monitors without re-registering the root
> > > > +                       path again. After use, the client should call
> > > > +                       UnregisterMonitor() method to invalidate the
> > > > +                       advertisement monitors.
> > > >
> > > >                         Possible errors: org.bluez.Error.InvalidArguments
> > > >                                          org.bluez.Error.AlreadyExists
> > > > +                                        org.bluez.Error.Failed
> > > >
> > > >                 void UnregisterMonitor(object application)
> > > >
> > > > -                       This unregisters advertisement monitors that have been
> > > > -                       previously registered. The object path parameter must
> > > > -                       match the same value that has been used on
> > > > -                       registration.
> > > > +                       This unregisters a hierarchy of advertisement monitors
> > > > +                       that has been previously registered. The object path
> > > > +                       parameter must match the same value that has been used
> > > > +                       on registration. Upon unregistration, the advertisement
> > > > +                       monitor(s) should expect to receive Release() method as
> > > > +                       the signal that the advertisement monitor(s) has been
> > > > +                       deactivated.
> > > >
> > > >                         Possible errors: org.bluez.Error.InvalidArguments
> > > >                                          org.bluez.Error.DoesNotExist
> > > > --
> > > > 2.26.2
> > >
> > > These are still experimental so you will need to use EXPERIMENTAL
> > > version when declaring the methods/properties so it only gets enabled
> > > when the experimental flag is passed to bluetoothd.
> > g_dbus_register_interface()  does not allow to have all methods and
> > properties marked as experimental, so at least SupportedFeatures
> > should be non-experimental.
>
> You will need to do something like the following:
>
> if (g_dbus_get_flags() & G_DBUS_FLAG_ENABLE_EXPERIMENTAL)
>
> You can see how it was used in adv_manager:
>
> https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=d6e9539e31c6bb5afd39ec6f09c518d232e6345d
>
Thanks for the pointer. Please see v4 for the changes.

> > >
> > >
> > > --
> > > Luiz Augusto von Dentz
> >
> > Thanks,
> > Miao
>
>
>
> --
> Luiz Augusto von Dentz
Regards,
Miao
diff mbox series

Patch

diff --git a/doc/advertisement-monitor-api.txt b/doc/advertisement-monitor-api.txt
index 74adbfae9..e09b6fd25 100644
--- a/doc/advertisement-monitor-api.txt
+++ b/doc/advertisement-monitor-api.txt
@@ -49,7 +49,7 @@  Properties	string Type [read-only]
 			org.bluez.AdvertisementMonitorManager1 for the available
 			options.
 
-		(Int16, Uint16, Int16, Uint16) RSSIThreshholdsAndTimers [read-only, optional]
+		(Int16, Uint16, Int16, Uint16) RSSIThresholdsAndTimers [read-only, optional]
 
 			This contains HighRSSIThreshold, HighRSSIThresholdTimer,
 			LowRSSIThreshold, LowRSSIThresholdTimer in order. The
@@ -66,7 +66,11 @@  Properties	string Type [read-only]
 			RSSIs of the received advertisement(s) during
 			LowRSSIThresholdTimer do not reach LowRSSIThreshold.
 
-		array{(uint8, uint8, string)} Patterns [read-only, optional]
+			The valid range of a RSSI is -127 to +20 dBm while 127
+			dBm indicates unset. The valid range of a timer is 1 to
+			300 seconds while 0 indicates unset.
+
+		array{(uint8, uint8, array{byte})} Patterns [read-only, optional]
 
 			If Type is set to 0x01, this must exist and has at least
 			one entry in the array.
@@ -80,8 +84,9 @@  Properties	string Type [read-only]
 				See https://www.bluetooth.com/specifications/
 				assigned-numbers/generic-access-profile/ for
 				the possible allowed value.
-			string content_of_pattern
-				This is the value of the pattern.
+			array{byte} content_of_pattern
+				This is the value of the pattern. The maximum
+				length of the bytes is 31.
 
 Advertisement Monitor Manager hierarchy
 =======================================
@@ -91,20 +96,31 @@  Object path	/org/bluez/{hci0,hci1,...}
 
 Methods		void RegisterMonitor(object application)
 
-			This registers a hierarchy of advertisement monitors.
+			This registers the root path of a hierarchy of
+			advertisement monitors.
 			The application object path together with the D-Bus
 			system bus connection ID define the identification of
 			the application registering advertisement monitors.
+			Once a root path is registered by a client via this
+			method, the client can freely expose/unexpose
+			advertisement monitors without re-registering the root
+			path again. After use, the client should call
+			UnregisterMonitor() method to invalidate the
+			advertisement monitors.
 
 			Possible errors: org.bluez.Error.InvalidArguments
 					 org.bluez.Error.AlreadyExists
+					 org.bluez.Error.Failed
 
 		void UnregisterMonitor(object application)
 
-			This unregisters advertisement monitors that have been
-			previously registered. The object path parameter must
-			match the same value that has been used on
-			registration.
+			This unregisters a hierarchy of advertisement monitors
+			that has been previously registered. The object path
+			parameter must match the same value that has been used
+			on registration. Upon unregistration, the advertisement
+			monitor(s) should expect to receive Release() method as
+			the signal that the advertisement monitor(s) has been
+			deactivated.
 
 			Possible errors: org.bluez.Error.InvalidArguments
 					 org.bluez.Error.DoesNotExist