diff --git a/client/admin.c b/client/admin.c
index 4d645d9..614a492 100644
--- a/client/admin.c
+++ b/client/admin.c
void admin_add_submenu(void)
{
bt_shell_add_submenu(&admin_menu);
+}
+void admin_enable_submenu(void)
+{
dbus_conn = bt_shell_get_env("DBUS_CONNECTION");
if (!dbus_conn || client)
return;
diff --git a/client/admin.h b/client/admin.h
index 0047770..08cca58 100644
--- a/client/admin.h
+++ b/client/admin.h
*/
void admin_add_submenu(void);
+void admin_enable_submenu(void);
void admin_remove_submenu(void);
diff --git a/client/assistant.c b/client/assistant.c
index 16e9466..555ac6f 100644
--- a/client/assistant.c
+++ b/client/assistant.c
void assistant_add_submenu(void)
{
bt_shell_add_submenu(&assistant_menu);
+}
+void assistant_enable_submenu(void)
+{
dbus_conn = bt_shell_get_env("DBUS_CONNECTION");
if (!dbus_conn || client)
return;
diff --git a/client/assistant.h b/client/assistant.h
index 418b0b8..c304abe 100644
--- a/client/assistant.h
+++ b/client/assistant.h
*/
void assistant_add_submenu(void);
+void assistant_enable_submenu(void);
void assistant_remove_submenu(void);
diff --git a/client/main.c b/client/main.c
index a2d9d88..e35e89d 100644
--- a/client/main.c
+++ b/client/main.c
(void *)endpoint_option);
admin_add_submenu();
+ admin_enable_submenu();
player_add_submenu();
+ player_enable_submenu();
mgmt_add_submenu();
+ mgmt_enable_submenu();
assistant_add_submenu();
+ assistant_enable_submenu();
hci_add_submenu();
client = g_dbus_client_new(dbus_conn, "org.bluez", "/org/bluez");
diff --git a/client/mgmt.c b/client/mgmt.c
index faa97a1..6c6d62f 100644
--- a/client/mgmt.c
+++ b/client/mgmt.c
print("%s%s", prefix, str);
}
-bool mgmt_add_submenu(void)
+void mgmt_add_submenu(void)
+{
+ bt_shell_add_submenu(&mgmt_menu);
+ bt_shell_add_submenu(&monitor_menu);
+}
+
+bool mgmt_enable_submenu(void)
{
mgmt = mgmt_new_default();
if (!mgmt) {
return false;
}
- bt_shell_add_submenu(&mgmt_menu);
- bt_shell_add_submenu(&monitor_menu);
-
if (getenv("MGMT_DEBUG"))
mgmt_set_debug(mgmt, mgmt_debug, "mgmt: ", NULL);
diff --git a/client/mgmt.h b/client/mgmt.h
index 5a2026e..b0f3caf 100644
--- a/client/mgmt.h
+++ b/client/mgmt.h
*
*/
-bool mgmt_add_submenu(void);
+void mgmt_add_submenu(void);
+bool mgmt_enable_submenu(void);
void mgmt_remove_submenu(void);
void mgmt_set_index(const char *arg);
diff --git a/client/player.c b/client/player.c
index 647e9be..7aab4af 100644
--- a/client/player.c
+++ b/client/player.c
bt_shell_add_submenu(&player_menu);
bt_shell_add_submenu(&endpoint_menu);
bt_shell_add_submenu(&transport_menu);
+}
+void player_enable_submenu(void)
+{
dbus_conn = bt_shell_get_env("DBUS_CONNECTION");
if (!dbus_conn || client)
return;
diff --git a/client/player.h b/client/player.h
index e7778cb..c09ffa9 100644
--- a/client/player.h
+++ b/client/player.h
*/
void player_add_submenu(void);
+void player_enable_submenu(void);
void player_remove_submenu(void);
diff --git a/tools/btmgmt.c b/tools/btmgmt.c
index 436c2bb..0f6051d 100644
--- a/tools/btmgmt.c
+++ b/tools/btmgmt.c
bt_shell_init(argc, argv, &opt);
- if (!mgmt_add_submenu()) {
+ mgmt_add_submenu();
+ if (!mgmt_enable_submenu()) {
fprintf(stderr, "Unable to open mgmt_socket\n");
return EXIT_FAILURE;
}