Re: [RFC PATCH BlueZ 1/3] Add a btd_manager_get_default_adapter_str() call

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 20 Sep 2011 14:30:42 +0300
Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote:

> Hi Antonio,
> 
> On Mon, Sep 19, 2011 at 8:42 PM, Antonio Ospite
> <ospite@xxxxxxxxxxxxxxxxx> wrote:
> > Add a new btd_* call to get the default adapter address as a string,
> > this is going to be used by the external playstation-peripheral plugin.
> > ---
> >  src/manager.h |    1 +
> >  src/manager.c |   16 ++++++++++++++++
> >  2 files changed, 17 insertions(+), 0 deletions(-)
> >
> > diff --git a/src/manager.h b/src/manager.h
> > index 4f92d2f..91d9894 100644
> > --- a/src/manager.h
> > +++ b/src/manager.h
> > @@ -36,6 +36,7 @@ const char *manager_get_base_path(void);
> >  struct btd_adapter *manager_find_adapter(const bdaddr_t *sba);
> >  struct btd_adapter *manager_find_adapter_by_id(int id);
> >  struct btd_adapter *manager_get_default_adapter(void);
> > +char *btd_manager_get_default_adapter_str(void);
> >  void manager_foreach_adapter(adapter_cb func, gpointer user_data);
> >  GSList *manager_get_adapters(void);
> >  struct btd_adapter *btd_manager_register_adapter(int id);
> > diff --git a/src/manager.c b/src/manager.c
> > index 464b0ca..8947f85 100644
> > --- a/src/manager.c
> > +++ b/src/manager.c
> > @@ -270,6 +270,22 @@ struct btd_adapter *manager_get_default_adapter(void)
> >        return manager_find_adapter_by_id(default_adapter_id);
> >  }
> >
> > +char *btd_manager_get_default_adapter_str(void)
> > +{
> > +       struct btd_adapter *adapter;
> > +       bdaddr_t adapter_bdaddr;
> > +       char *str = bt_malloc(18);
> > +
> > +       adapter = manager_get_default_adapter();
> > +       if (adapter == NULL) {
> > +               return NULL;
> > +       }
> > +
> > +       adapter_get_address(adapter, &adapter_bdaddr);
> > +       ba2str(&adapter_bdaddr, str);
> > +       return str;
> > +}
> > +
> 
> It doesn't seems that gonna be very useful for the core daemon,
> besides you can always get the bdaddr and convert yourself, if the
> purpose is just to be a helper function then perhaps we should find
> another place. Btw are you sure you need the adapter address and not
> the remote device address?
> 

The point of the helper function here is to avoid making
adapter_get_address() and ba2str() public/global symbols for external
plugins to use. That's why it is prefixed with btd_*, unfortunately
I couldn't find a rule which explains the rationale behind the btd_
prefix, and the conditions where it should be used, for now I just
follow the rule "if you want it in an external plugin then it must be
prefixed with btd_".

I need the adapter address because of how the association works on
those PlayStation peripherals: the _adapter_ bt address needs to
be stored into the _device_ (via USB) before it can communicate with
it.

Thanks,
   Antonio

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?

Attachment: pgpC6e4ub6il8.pgp
Description: PGP signature


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux