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

Pasi Kärkkäinen
2019-08-29T13:06:18Z

Hi,

On Sat, Aug 10, 2019 at 09:54:52AM +0300, Luiz Augusto von Dentz wrote:
> 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.
>

Pali: How does it look with porting the PA patches to use the new interfaces?

Thanks,

-- Pasi