diff options
author | Tran Ba Khang(MS/EMC31-XC) <Khang.TranBa@vn.bosch.com> | 2023-03-20 18:00:41 +0700 |
---|---|---|
committer | Tran Ba Khang(MS/EMC31-XC) <Khang.TranBa@vn.bosch.com> | 2023-04-28 15:12:06 +0700 |
commit | 765e844c296f5db8ecd0b29e539698c82dceaf22 (patch) | |
tree | 6908519b5598a311570be4efce44893900861d01 /ivi-layermanagement-api/ilmInput/src/ilm_input.c | |
parent | 8a735a3ee6695778c9907f6bd044e9be7db1ef37 (diff) | |
download | wayland-ivi-extension-765e844c296f5db8ecd0b29e539698c82dceaf22.tar.gz |
ilmInput: support ilm_getDefaultSeat api to return default seat name
Sometimes the client need to know the default seat is
available or not, or it wants to know which seat is default among
multi seats.
The seat_create_event should add more an argument for identification
of default seat. The ilm_getDefaultSeat is going to query the list
of seats to find the default seat name.
Signed-off-by: Tran Ba Khang(MS/EMC31-XC) <Khang.TranBa@vn.bosch.com>
Diffstat (limited to 'ivi-layermanagement-api/ilmInput/src/ilm_input.c')
-rw-r--r-- | ivi-layermanagement-api/ilmInput/src/ilm_input.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ivi-layermanagement-api/ilmInput/src/ilm_input.c b/ivi-layermanagement-api/ilmInput/src/ilm_input.c index eae9b61..979bf56 100644 --- a/ivi-layermanagement-api/ilmInput/src/ilm_input.c +++ b/ivi-layermanagement-api/ilmInput/src/ilm_input.c @@ -333,3 +333,27 @@ ilm_getInputFocus(t_ilm_surface **surfaceIDs, ilmInputDevice **bitmasks, return ILM_SUCCESS; } + +ILM_EXPORT ilmErrorTypes +ilm_getDefaultSeat(t_ilm_string *seat_name) +{ + struct ilm_control_context *ctx = NULL; + struct seat_context *seat = NULL; + + if (seat_name == NULL) { + fprintf(stderr, "Invalid Argument\n"); + return ILM_FAILED; + } + + *seat_name = NULL; + ctx = sync_and_acquire_instance(); + wl_list_for_each(seat, &ctx->wl.list_seat, link) { + if (seat->is_default) { + *seat_name = strdup(seat->seat_name); + break; + } + } + + release_instance(); + return (*seat_name) ? ILM_SUCCESS : ILM_FAILED; +} |