summaryrefslogtreecommitdiff
path: root/ivi-input-api
diff options
context:
space:
mode:
authorEmre Ucan <eucan@de.adit-jv.com>2015-04-07 13:20:41 +0200
committerNobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp>2015-05-13 16:06:26 +0900
commit2ec87cd04a552444607ae2c97399e34d29e9ddec (patch)
tree67923fabf61a152cc8817ff2a8706bc176edb85e /ivi-input-api
parent07cdf1c8c83ad4bef7db912a48d43b04975679d8 (diff)
downloadwayland-ivi-extension-2ec87cd04a552444607ae2c97399e34d29e9ddec.tar.gz
ilmInput: implement ilm_getInputDeviceCapabilities
Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
Diffstat (limited to 'ivi-input-api')
-rw-r--r--ivi-input-api/ilmInput/src/ilm_input.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/ivi-input-api/ilmInput/src/ilm_input.c b/ivi-input-api/ilmInput/src/ilm_input.c
index 688fe32..005e91e 100644
--- a/ivi-input-api/ilmInput/src/ilm_input.c
+++ b/ivi-input-api/ilmInput/src/ilm_input.c
@@ -213,7 +213,25 @@ ilm_getInputDevices(ilmInputDevice bitmask, t_ilm_uint *num_seats,
ILM_EXPORT ilmErrorTypes
ilm_getInputDeviceCapabilities(t_ilm_string seat_name, ilmInputDevice *bitmask)
{
- return ILM_FAILED;
+ ilmErrorTypes returnValue = ILM_FAILED;
+ struct ilm_control_context *ctx;
+ struct seat_context *seat;
+
+ if ((seat_name == NULL) || (bitmask == NULL)) {
+ fprintf(stderr, "Invalid Argument\n");
+ return ILM_FAILED;
+ }
+
+ ctx = sync_and_acquire_instance();
+ wl_list_for_each(seat, &ctx->wl.list_seat, link) {
+ if (strcmp(seat_name, seat->seat_name) == 0) {
+ *bitmask = seat->capabilities;
+ returnValue = ILM_SUCCESS;
+ }
+ }
+
+ release_instance();
+ return returnValue;
}
ILM_EXPORT ilmErrorTypes