summaryrefslogtreecommitdiff
path: root/ivi-layermanagement-api/ilmInput
diff options
context:
space:
mode:
Diffstat (limited to 'ivi-layermanagement-api/ilmInput')
-rw-r--r--ivi-layermanagement-api/ilmInput/include/ilm_input.h12
-rw-r--r--ivi-layermanagement-api/ilmInput/src/ilm_input.c24
2 files changed, 36 insertions, 0 deletions
diff --git a/ivi-layermanagement-api/ilmInput/include/ilm_input.h b/ivi-layermanagement-api/ilmInput/include/ilm_input.h
index 7c0008e..fd1fa91 100644
--- a/ivi-layermanagement-api/ilmInput/include/ilm_input.h
+++ b/ivi-layermanagement-api/ilmInput/include/ilm_input.h
@@ -117,6 +117,18 @@ ilmErrorTypes
ilm_getInputFocus(t_ilm_surface **surfaceIDs, ilmInputDevice** bitmasks,
t_ilm_uint *num_ids);
+/**
+ * \brief get the name of default seat
+ * \ingroup ilmControl
+ * \param[out] seat_name A pointer to the memory where the seat name is
+ * stored. It is the caller's responsibility to free
+ * this memory after use.
+ * \return ILM_SUCCESS if the default seat is available
+ * \return ILM_FAILED if the default seat isn't available
+ */
+ilmErrorTypes
+ilm_getDefaultSeat(t_ilm_string *seat_name);
+
#ifdef __cplusplus
} /**/
#endif /* __cplusplus */
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;
+}