card: Add card profile availability

Some cards are capable to announce if a specific profile is available or
not, effectively predicting whether a profile switch would fail or would
likely succeed. This can for example be useful for a UI that would gray
out any unavailable profile.

In addition, this information can be useful for internal modules
implementing automatic profile-switching policies, such as
module-switch-on-port-available or module-bluetooth-policy.

In particular, this information is essential when a port is associated
to multiple card profiles and therefore the port availability flag does
not provide enough information. The port "bluetooth-output" falls into
this category, for example, since it doesn't distinguish HSP/HFP from
A2DP.
This commit is contained in:
Mikel Astiz 2013-02-18 09:10:31 +01:00 committed by Tanu Kaskinen
parent 8851644a3c
commit afd33da56a
3 changed files with 25 additions and 0 deletions

View file

@ -114,6 +114,7 @@ typedef enum pa_core_hook {
PA_CORE_HOOK_CARD_UNLINK,
PA_CORE_HOOK_CARD_PROFILE_CHANGED,
PA_CORE_HOOK_CARD_PROFILE_ADDED,
PA_CORE_HOOK_CARD_PROFILE_AVAILABLE_CHANGED,
PA_CORE_HOOK_PORT_AVAILABLE_CHANGED,
PA_CORE_HOOK_PORT_ADDED,
PA_CORE_HOOK_PORT_LATENCY_OFFSET_CHANGED,