diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2023-05-15 13:22:51 -0700 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2023-05-15 13:22:51 -0700 |
commit | 67c5824fd071a758756bbb96f167a0d18c4c8520 (patch) | |
tree | d890355342a3feaf07ff8a27d9da8cc5dbe57864 | |
parent | f3977023f93d1ccfe301ed18a8b7aa866a52ebd2 (diff) | |
download | bluez-67c5824fd071a758756bbb96f167a0d18c4c8520.tar.gz |
profile: Add support for experimental flag
This adds experimental field to btd_profile so the plugin can indicate
drivers that depends on experimental to be enabled.
-rw-r--r-- | src/profile.c | 6 | ||||
-rw-r--r-- | src/profile.h | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/profile.c b/src/profile.c index e1bebf1ee..ea188f36b 100644 --- a/src/profile.c +++ b/src/profile.c @@ -775,6 +775,12 @@ static struct btd_profile *btd_profile_find_uuid(const char *uuid) int btd_profile_register(struct btd_profile *profile) { + if (profile->experimental && !(g_dbus_get_flags() & + G_DBUS_FLAG_ENABLE_EXPERIMENTAL)) { + DBG("D-Bus experimental not enabled"); + return -ENOTSUP; + } + profiles = g_slist_append(profiles, profile); return 0; } diff --git a/src/profile.h b/src/profile.h index 6827f8481..6871f2f0d 100644 --- a/src/profile.h +++ b/src/profile.h @@ -28,6 +28,11 @@ struct btd_profile { */ bool external; + /* Indicates the profile is experimental and shall only be registered + * when experimental has been enabled (see: main.conf:Experimental). + */ + bool experimental; + int (*device_probe) (struct btd_service *service); void (*device_remove) (struct btd_service *service); |