summaryrefslogtreecommitdiff
path: root/ivi-layermanagement-api/ilmControl
Commit message (Collapse)AuthorAgeFilesLines
* ilmControl: destroy ivi_controller_layer proxyEmre Ucan2016-04-071-0/+3
| | | | | | | Destroy the ivi_controller_layer proxy before destroying ctx_layer data struct to avoid memory leak. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* cmake: use LIB_SUFFIX variable for LIBRARY DESTINATIONEugen Friedrich2016-03-291-1/+1
| | | | | | | | | | this patch will allow to install the modules and libraries in correct library directory e.g. if we are built for 64 bit architecture libraries are installed in /lib$LIB_SUFFIX weston modules are installed in /lib$LIB_SUFFIX/weston Signed-off-by: Eugen Friedrich <efriedrich@de.adit-jv.com>
* ilmControl: don't free surface context twiceEmre Ucan2016-03-211-25/+9
| | | | | | | I moved the cleanup code from content listener to destroyed listener, so that we can avoid double free. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: fix wrong order of ilm_getScreenIDs output arrayEmre Ucan2016-02-051-1/+3
| | | | | | | Compositor sends screens in opposite order. write ids from back to front to turn them around. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: don't cast used variables to voidEmre Ucan2015-12-011-4/+0
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: remove failed to get surface/layer context in ilmControl error ↵Emre Ucan2015-09-221-2/+0
| | | | | | | | | | | | | | message When an ilmControl session gets the controller_listener_surface event after an application created an ivi_surface, it controls the existence of the surface with the get_surface_context internal API. It is expected that the surface does not exist. The same is true also for wayland_controller_get_layer_context API. Therefore, these error messages are redundant and confusing. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: fix no receiving notification afterNobuhiko Tanibata2015-08-281-0/+2
| | | | | | | | | | LM_NOTIFICATION_CONTENT_AVAILABLE. Privious code doesn't register linstener to receive notification from server. To fix it, register callback function by using ivi_controller_surface_add_listener. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@denso.co.jp>
* ilmControl: remove redundant wl_list_empty/init callsNobuhiko Tanibata2015-08-271-6/+0
| | | | | | | | | | | | | | | | Checking wl_list_empty() on a link offers no information: if it returns true, wl_list_remove() is safe to do. If it returns false, you still do not know if wl_list_remove() is safe; the link could be part of a list, or the link could be "uninitialized" (e.g. just wl_list_remove()'d). (From Pekka Paalanen's comment at http://lists.freedesktop.org/archives/wayland-devel/2015-August/023987.html). Calling wl_list_init just before wl_list_insert is redundant. Because the links of the list are not read before it is overwritten by wl_list_insert. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com> Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp>
* ilmControl: do nothing if the context is not initializedEmre Ucan2015-08-171-0/+6
| | | | | | Otherwise pthread_join call causes SEGV, beacuse the thread of the ilm_control_context is NULL Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: When a layer is removed, also clears the order of theNobuhiko Tanibata2015-08-051-0/+19
| | | | surface belonging to the layer.
* ilmControl: Call ilmControl_destroy() if failed in ilmControl_init()Nobuhiko Tanibata2015-08-051-5/+15
| | | | | Additionally ilmConrol_destroy is improved to free contexts only when it is allocated.
* ilmControl: Screen width and height are swapped according to rotation of screen.Nobuhiko Tanibata2015-08-051-3/+14
|
* ilmControl: update ILM_CONTROL_PLATFORM_FUNC structureEmre Ucan2015-08-051-22/+0
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: remove ilm_getNativeHandle APIEmre Ucan2015-08-051-34/+0
| | | | | | it is not part of ILM APIs. it is not in ilm_control.h and it is not used. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: use wl_display_roundtrip_queueEmre Ucan2015-08-051-46/+6
| | | | | | | display_roundtrip_queue functions is an exact copy of the wl_display_roundtrip_queue. Use the wayland implementation instead of its copy. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: ilm_surfaceRemoveNotification is reimplemented according to specEmre Ucan2015-08-041-1/+17
| | | | | | | It should return ILM_ERROR_INVALID_ARGUMENT according to specification in ilm_control.h, if the given surface has no notification callback registered. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilm_registerNotification: ilm_registerNotification invokes callback with a ↵Shingo Fujita2015-07-291-0/+14
| | | | | | layer and surface which are already created before callback registration. Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanibata@xddp.denso.co.jp>
* ilmControl: send notifications for surface creation/deletionEmre Ucan2015-07-171-0/+12
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: send notifications for layer creation/deletionEmre Ucan2015-07-171-0/+13
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: implement ilm_registerNotification(s)Emre Ucan2015-07-171-0/+18
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: add notification data to wayland_contextEmre Ucan2015-07-171-0/+2
| | | | | | | | Notification callback function and user_data are included to the wayland_context, so that they will be available at event handlers of ivi_controller_surface_listeners and ivi_controller_layer_listeners. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: add ilm_registerNotification and ilm_unregisterNotificationEmre Ucan2015-07-171-0/+20
| | | | | | | | | | | | ilm_registerNotification API registers a callback to ilmControl, which is called when a layer or a surface is created or destroyed. A void pointer of user_data can be also registered with this API, which helps the applications to classify the notification. ilm_unregisterNotification API unregisters the above mentioned callback and user data Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: bugfix, ilm_surfaceAddNotification shall createNobuhiko Tanibata2015-07-161-17/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | controller_surface when ivi_surface exist. In ilm_surfaceAddNotification, - controller_listener_surface who creates controller_surface shall not be called here. This is beccause creatation of controller_surface always fails when correponding ivi-surface have not yet created by ivi_application. Just create surface_context and notify ILM_NOTFICATION_CONTENT_REMOVED. - If surface_context is already created, this shall notify according to status of ivi_surface existence; ILM_NOTIFICATION_CONTENT_AVAILABLE/REMOVED. In ilm_*, - These ilm apis shall call ivi_controller protocol when ivi_surface exist, which means ivi_controller_surface existence. In controller_listener_surface, - This listener is invoked when ivi_surface is created by ivi_application. so this is the proper place to create ivi_controller_surface. - However, there were one potential bug. When it notifies ILM_NOTIFICATION_CONTENT_AVAILEBLE before ivi_controller_surface_create. This means that an contoroller application will call ilm_* before ivi_controller_surface_create and fails at ilm_*.
* ilmControl,tests: remove ilm_layerSetPosition APIEmre Ucan2015-07-082-35/+0
| | | | | | it is a unnecessary API. ilm_layerSetDestinationRectangle can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl,tests: remove ilm_surfaceSetPositionEmre Ucan2015-07-082-34/+0
| | | | | | it is a unnecessary API. ilm_surfaceSetDestinationRectangle can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl,tests: remove ilm_layerGetPositionEmre Ucan2015-07-082-33/+0
| | | | | | it is a unnecessary API. ilm_getLayerOfProperties can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl,tests: remove ilm_surfaceGetPositionEmre Ucan2015-07-082-31/+0
| | | | | | it is a unnecessary API. ilm_getPropertiesOfSurface can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: remove ilm_layerSetDimension APIEmre Ucan2015-07-082-35/+0
| | | | | | it is unnecessary. ilm_layerSetDestinationRectangle can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: remove ilm_surfaceSetDimension APIEmre Ucan2015-07-082-34/+0
| | | | | | | it is a unnecessary API. ilm_surfaceSetDestinationRectangle can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl,tests: remove ilm_layerGetDimensionEmre Ucan2015-07-082-33/+0
| | | | | | it is a unnecessary API. ilm_getPropertiesOfLayer can be used instead. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: send configured notificationEmre Ucan2015-07-081-0/+6
| | | | | | It is sent when a configuration event is received from the compositor Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: set original dimensions at configuration event.Emre Ucan2015-07-061-8/+2
| | | | | | | | | | It is wrong to set it at source_rectangle event. Original dimensions are dependent on the wayland buffer of the surface, and it can be modified from the client. The compositor sends a configured event when the buffer is modified. Therefore, we should also modify the original dimensions at configuration event. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl,tests: remove ilm_surfaceInitializeEmre Ucan2015-07-061-10/+0
| | | | | | | it is imposible to create a surface without a native handle. This API will not work. Therefore, it is removed. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: implement ilm_getScreenResolutionEmre Ucan2015-07-061-0/+23
| | | | | | | Controllers does not need to have their own wl_displays. If they do not have any wl_displays, they need this API to get the screen resolution. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl: move declaration of ilm_getScreenResolution to ↵Emre Ucan2015-07-061-0/+11
| | | | | | | | | ilm_control.h it is moved to ilmControl, because clients do not need this API to get screen resolution. They can use wl_output protocol to get this information. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: remove ilm_surfaceGetDimension implementationEmre Ucan2015-07-061-22/+0
| | | | | | | it is removed because it is a unclear API. User cannot be sure, if the output is from source rectangle or destination rectangle. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl: move ilm_surfaceSetSourceRectangle to ilmControlEmre Ucan2015-07-061-0/+13
| | | | | | | the declaration of the API is moved from ilmClient.h to ilmControl.h. Because it is implemented in ilmControl. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl: move ilm_surfaceGetVisibility to ilmControlEmre Ucan2015-07-061-0/+13
| | | | | | | the declaration of the API is moved from ilmClient.h to ilmControl.h. Because it is implemented in ilmControl. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl: move ilm_layerRemoveSurface to ilmControlEmre Ucan2015-07-061-0/+10
| | | | | | | the declaration of the API is moved from ilmClient.h to ilmControl.h. Because it is implemented in ilmControl. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl: move ilm_layerAddSurface to ilmControlEmre Ucan2015-07-061-0/+10
| | | | | | | the declaration of the API is moved from ilmClient.h to ilmControl.h. Because it is implemented in ilmControl. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmClient,ilmControl: move ilm_getPropertiesOfSurface to ilmControlEmre Ucan2015-07-061-0/+10
| | | | | | | the declaration of the API is moved from ilmClient.h to ilmControl.h. Because it is implemented in ilmControl. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: Remove layers and surfaces from all lists when destroyedFrederico Cadete2015-07-011-0/+4
| | | | | | Otherwise, stale pointers are left behind waiting for SIGSEGV. Signed-off-by: Frederico Cadete <frederico.cadete@awtce.be>
* ilmControl: fix compiler warnings -Wunused-function -Wunused-variableEmre Ucan2015-06-161-15/+0
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: free accepted_seat by removalEmre Ucan2015-06-151-0/+1
| | | | | | Otherwise, memory will be leaked. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: add required changes to ilmControlEmre Ucan2015-05-132-0/+183
| | | | | | | | | | | | | | ilm_control_platform.h: - add list_seat parameter to wayland_context - add a handle for ivi_input protocol - add the seat_context struct which has its name and capabilities - add list_accepted_seats parameter to surface_context ilm_control_wayland_platform.c - init new parameters of wayland_context and surface_context - register the ivi_input protocol - implement and add its listeners Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: move contexts and sync functions to header fileEmre Ucan2015-05-132-63/+68
| | | | | | | | | | | | Declarations of ilm_context, wayland_context, surface_context and sync functions are moved from ilm_control_wayland_platform.c to ilm_control_platform.h. Now they can be also used from another library to get the surface/layer/screen lists and their properties. It is required for optional libraries e.g. libIlmInput to use these information. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: remove the listener for input focus eventEmre Ucan2015-04-091-17/+1
| | | | Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
* ilmControl: Remove ilm_Set/GetKeyboardFocusOn/SurfaceIdJonathan Maw2015-02-233-63/+1
| | | | | | | | | | | i.e. Removes the functions ilm_SetKeyboardFocusOn and ilm_GetKeyboardFocusSurfaceId, along with the parts of wayland-ivi-extension that support it. This functionality has been removed, in preparation for a new, more general input focus API. Signed-off-by: James Thomas <james.thomas@codethink.co.uk>
* ilmClient: Remove ilm_UpdateInputEventAcceptanceOnJonathan Maw2015-02-231-3/+1
| | | | | | | This function is being removed because it will be replaced by a more general "input acceptance" API. Signed-off-by: James Thomas <james.thomas@codethink.co.uk>
* ilmControl: Remove ilm_getNumberOfHardwareLayersJonathan Maw2015-02-233-26/+0
| | | | | | Removed because hardware layers aren't supported in weston Signed-off-by: James Thomas <james.thomas@codethink.co.uk>