Re: [PATCH BlueZ 1/4] doc/media-api: Add RegisterApplication method

Luiz Augusto von Dentz
2019-08-10T06:55:06Z

Hi,

On Sun, Jul 21, 2019 at 6:55 PM Pali Rohár <pali.rohar@gmail.com> wrote:
>
> On Thursday 18 July 2019 12:00:24 Pali Rohár wrote:
> > On Saturday 13 July 2019 17:52:46 Luiz Augusto von Dentz wrote:
> > > Hi Pali,
> > >
> > > On Fri, Jul 12, 2019 at 6:13 PM Luiz Augusto von Dentz
> > > <luiz.dentz@gmail.com> wrote:
> > > >
> > > > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > > >
> > > > This uses application ObjectManager to discover the MediaEndpoint and
> > > > MediaPlayer object of an application and deprecates the use of
> > > > RegisterEndpoint and RegisterPlayer.
> > > > ---
> > > > doc/media-api.txt | 20 ++++++++++++++++++++
> > > > 1 file changed, 20 insertions(+)
> > > >
> > > > diff --git a/doc/media-api.txt b/doc/media-api.txt
> > > > index bca8c9563..07f7ac3e0 100644
> > > > --- a/doc/media-api.txt
> > > > +++ b/doc/media-api.txt
> > > > @@ -66,7 +66,27 @@ Methods void RegisterEndpoint(object endpoint, dict properties)
> > > >
> > > > Unregister sender media player.
> > > >
> > > > + void RegisterApplication(object root, dict options)
> > > >
> > > > + Register endpoints an player objects within root
> > > > + object which must implement ObjectManager.
> > > > +
> > > > + The application object path together with the D-Bus
> > > > + system bus connection ID define the identification of
> > > > + the application.
> > > > +
> > > > + Possible errors: org.bluez.Error.InvalidArguments
> > > > + org.bluez.Error.AlreadyExists
> > > > +
> > > > + void UnregisterApplication(object application)
> > > > +
> > > > + This unregisters the services that has been
> > > > + previously registered. The object path parameter
> > > > + must match the same value that has been used
> > > > + on registration.
> > > > +
> > > > + Possible errors: org.bluez.Error.InvalidArguments
> > > > + org.bluez.Error.DoesNotExist
> > > > Media Control hierarchy
> > > > =======================
> > > >
> > > > --
> > > > 2.21.0
> > >
> > > Can you try this set?
> >
> > Hello, I will try it later in next week. To test it would mean to
> > rewrite pulseaudio bluetooth modules to use this new API, so it would
> > take me longer time.
>
> Hi! I looked at it. But I do not know how to implement
> GetManagedObjects() method via libdbus properly. Any idea?

I went ahead and applied this set, you can find some examples of how
to implement ObjectManager interface in gdbus but I guess what you
really need to do is make PA aware of the objects being exposed since
it does make it simpler to to enumerate objects by the clients.

--
Luiz Augusto von Dentz