Re: [BlueZ v3 7/7] client: Fix --help hanging if bluetoothd is not running

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

 



Hi Bastien,

On Mon, Oct 28, 2024 at 11:35 AM Bastien Nocera <hadess@xxxxxxxxxx> wrote:
>
> On Thu, 2024-10-24 at 12:08 -0400, Luiz Augusto von Dentz wrote:
> > Hi Bastien,
> >
> > On Tue, Oct 22, 2024 at 10:11 AM Bastien Nocera <hadess@xxxxxxxxxx>
> > wrote:
> > >
> > > Exit after printing all the main and submenu commands.
> > > ---
> > >  client/main.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > diff --git a/client/main.c b/client/main.c
> > > index f60bef1a6d3a..f5ed9f9f5297 100644
> > > --- a/client/main.c
> > > +++ b/client/main.c
> > > @@ -3193,6 +3193,8 @@ int main(int argc, char *argv[])
> > >         assistant_add_submenu();
> > >         bt_shell_set_prompt(PROMPT_OFF, NULL);
> > >
> > > +       bt_shell_handle_non_interactive_help();
> > > +
> > >         if (agent_option)
> > >                 auto_register_agent = g_strdup(agent_option);
> > >         else
> > > --
> > > 2.47.0
> > >
> >
> > Having some thoughts about how to do this is more clean way, perhaps
> > we should do this as part of bt_shell_run and then introduce .run
> > callback to bt_shell_menu so it is called as part of bt_shell_run,
> > under the .run callback the menu can place e.g. DBUS connection
> > setup,
> > etc, but before it reaches that we can check if it just a help
> > pending.
>
> We need to:
> 1) set the top menu
> 2) populate the submenus without any D-Bus IO
> 3) turn off the prompt
> 4) print the help and exit if that's what was requested
> 5) setup IO for submenus
> 6) run the mainloop
>
> I guess I could do 2) with a callback from bt_shell_set_menu()
> and then do 4) and 5) from a bt_shell_run() callback.

Yep.

> Is that what you expected?
> Do you have preferred names for the callback functions?

Id call it .run since it should be the result of bt_shell_run

> I think that we can still use the function split from 3/7, did you have
> a better name for the functions?

Not sure I follow, there will be a split between adding submenus and
.run to achieve the 2 stages, or are you talking about some other
split?

> Cheers
>


-- 
Luiz Augusto von Dentz





[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