platform/core/uifw/libds.git
21 months agoseat: Add implementation for selection source 70/279270/1
Seunghun Lee [Mon, 1 Aug 2022 09:07:27 +0000 (18:07 +0900)]
seat: Add implementation for selection source

This functionality will be used by ds_data_device_manager in future
patches.

Change-Id: Id1863f243ab718fff2aeee7cfa515a4c96e66b4d

21 months agoAdd skeleton code for ds_data_device_manager 69/279269/1
Seunghun [Thu, 21 Jul 2022 04:28:21 +0000 (13:28 +0900)]
Add skeleton code for ds_data_device_manager

Change-Id: I1c298afcfcf5a73eb421a576b87357fda4e5b4dd

21 months agoadd libds-tests 47/279247/1
SooChan Lim [Thu, 4 Aug 2022 01:06:17 +0000 (10:06 +0900)]
add libds-tests

libds-tests is unit tests using gtest framwork.

Change-Id: I323fe81972d8f79018a39b55c820052c090db40c

21 months agooutput: Fix crash because of missing wl_list_init() 05/279205/1
Seunghun Lee [Wed, 3 Aug 2022 09:53:32 +0000 (18:53 +0900)]
output: Fix crash because of missing wl_list_init()

Change-Id: Ia52d2cba5fc01ef998879b07fc4e0cfcaaf92828

21 months agokeyboard: Fix leak when destroying ds_keyboard 96/279196/2
Seunghun Lee [Wed, 3 Aug 2022 04:35:13 +0000 (13:35 +0900)]
keyboard: Fix leak when destroying ds_keyboard

Change-Id: I04f6446697d96ac023b23b9e1634580444c384a8

21 months agooutput: Add ds_output_{create,destroy}_global() 95/279195/1
Seunghun Lee [Mon, 18 Jul 2022 09:25:12 +0000 (18:25 +0900)]
output: Add ds_output_{create,destroy}_global()

This adds wl_output globals for ds_outputs.

Change-Id: I946206f33eeb00f484731767ce1b836b46b62947

22 months agobuild: Set default warning_level=3 20/278120/1 sandbox/actiontest accepted/tizen/unified/20220718.140337 submit/tizen/20220718.065110
Seunghun Lee [Wed, 13 Jul 2022 06:39:36 +0000 (15:39 +0900)]
build: Set default warning_level=3

This patch suppresses 'unused-parameter' and 'pedantic' GCC warnings
that we don't care about.

After suppressing these warnings, we can now enable the highest
warning_level by default.

Change-Id: I4402766a5cdabd6984582c17805c41c1f8a66645

22 months agoseat: Fix dangling focused_client in pointer 19/278119/1
Seunghun Lee [Mon, 11 Jul 2022 03:16:18 +0000 (12:16 +0900)]
seat: Fix dangling focused_client in pointer

This patch handles destroy signal of focused_client of pointer, and
also contains a bit of refactoring.

Change-Id: I091f9b5d580ba6a36e51360d6757dfb434b03eab

22 months agoseat: Fix dangling focused_client in keyboard 18/278118/1
Seunghun Lee [Mon, 11 Jul 2022 02:36:50 +0000 (11:36 +0900)]
seat: Fix dangling focused_client in keyboard

This patch handles destroy signal of focused_client of keyboard, and
also contains a bit of refactoring.

Change-Id: I54473c3e37c770e4889066dba283fe65dc3751cd

22 months agoFix typo 17/278117/1
이승훈/Tizen Platform Lab(SR)/삼성전자 [Wed, 13 Jul 2022 05:16:56 +0000 (14:16 +0900)]
Fix typo

Change-Id: Iafd3e13c80569e9468b894156d52920eb63c2e6f
Co-authored-by: 코드리뷰봇/Quality Tool Lab(SR)/삼성전자 <reviewbot@samsung.com>
22 months agobuffer: Add null check after wl_array_add() 16/278116/1
Seunghun Lee [Wed, 13 Jul 2022 05:05:47 +0000 (14:05 +0900)]
buffer: Add null check after wl_array_add()

Change-Id: Id5047a9df1418069bd568a44dc702f13fcc509e7

22 months agoxdg_shell, xdg_shell_v6: Remove unreachable code 15/278115/1
Seunghun Lee [Wed, 13 Jul 2022 04:50:19 +0000 (13:50 +0900)]
xdg_shell, xdg_shell_v6: Remove unreachable code

Change-Id: I2ffdb8d385f5cfc07b272505e134f04b16bd7859

22 months agoshm: Use snprintf() instead of vulnerable strcat() 14/278114/1
Seunghun Lee [Wed, 13 Jul 2022 04:42:09 +0000 (13:42 +0900)]
shm: Use snprintf() instead of vulnerable strcat()

Change-Id: I0c7a2dd640993387dcaf1bf8f1db0eae593b4030

22 months agoregion: Remove unreachable code 13/278113/1
Seunghun Lee [Wed, 13 Jul 2022 03:50:08 +0000 (12:50 +0900)]
region: Remove unreachable code

And this also adds an assert when unknown transform is given.

Change-Id: Ic2e9b01ce2106f02f4a4032f2125a8fa9153ae54

22 months agobackend-wayland: Fix using uninitialized data 12/278112/1
Seunghun Lee [Wed, 13 Jul 2022 03:18:21 +0000 (12:18 +0900)]
backend-wayland: Fix using uninitialized data

Change-Id: Ia37e244b20dbc8f715d17c86ba92385571b5873f

22 months agotinyds: Notify button event of pointer 11/278111/1
Seunghun Lee [Wed, 13 Jul 2022 03:09:31 +0000 (12:09 +0900)]
tinyds: Notify button event of pointer

Change-Id: Ie4ec66d5823978fa3a04b3cafa7dbc95ce8fdd38

22 months agoxdg_shell_v6: Remove 'xdg-shell-unstable-v6-server' dependency 10/278110/1
Seunghun Lee [Tue, 12 Jul 2022 01:17:10 +0000 (10:17 +0900)]
xdg_shell_v6: Remove 'xdg-shell-unstable-v6-server' dependency

The rpm package 'xdg-shell-unstable-v6-server' isn't always provided
on every platform. So, this patch generates code and header from
wayland-protocols using wayland-scanner.

Change-Id: I8dc7e751b1f9a2d2c02fb339efd2d620dfb63f7a

22 months agoseat: Add API for keyrouter 09/278109/1
Seunghun Lee [Wed, 6 Jul 2022 00:25:07 +0000 (09:25 +0900)]
seat: Add API for keyrouter

The keyrouter module which lives in libds-tizen project needs to send
keyboard key events to several wl_clients according to its policy.
To support this functionality, this patch implements related API.

Among them, the notable API is ds_seat_client_send_key() which enables
keyrouter to send keyboard key events to non-focused wl_client.

Change-Id: I8cfd47d6ed6536163d0eb1bb0102fb102d78afd9

22 months agosurface: Export ds_surface_get_wl_resource() 08/278108/1
Seunghun Lee [Tue, 5 Jul 2022 10:53:07 +0000 (19:53 +0900)]
surface: Export ds_surface_get_wl_resource()

Change-Id: Icf1a5a2ac9548817ce37d27a7f92ca9b55586804

22 months agoseat: Add ds_seat_set_keyboard() 07/278107/1
Seunghun Lee [Wed, 29 Jun 2022 07:19:52 +0000 (16:19 +0900)]
seat: Add ds_seat_set_keyboard()

The ds_seat_set_keyboard() enables a seat to refer to a ds_keyboard, so
that the seat reads keymap and repeat info from ds_keyboard and then
sends them to the wayland clients.

Change-Id: Ic20fa041f391d0f8c73c8a6818505525701e3929

22 months agofix the typo 06/278106/1
SooChan Lim [Mon, 4 Jul 2022 10:32:47 +0000 (19:32 +0900)]
fix the typo

Change-Id: I5185751f56cd506e1f458e51d40fb9758cc9aa61

22 months agoimplement the xdg_shell_v6 05/278105/1
SooChan Lim [Mon, 4 Jul 2022 10:12:59 +0000 (19:12 +0900)]
implement the xdg_shell_v6

It provides the wayland server implementation for zxdg_shell_v6_unstable
protocol.

Change-Id: I154bba10ba3cd9b7a35f93ac309808a172ee48df

22 months agoadd WL_EXPORT 04/278104/1
SooChan Lim [Wed, 29 Jun 2022 01:32:38 +0000 (10:32 +0900)]
add WL_EXPORT

Change-Id: I88c4eecae13f1d260b060364cb71acd067db8116

22 months agoremove the unused files 03/278103/1
SooChan Lim [Fri, 24 Jun 2022 00:59:11 +0000 (09:59 +0900)]
remove the unused files

These are files for libds-tizen

Change-Id: Iea8f14a87cda2d0613c1a29c7cc8025234612a67

22 months agoadd .clang-format 02/278102/1
SooChan Lim [Tue, 21 Jun 2022 01:53:35 +0000 (10:53 +0900)]
add .clang-format

Add clang-format option file for coding rules.
Run a clang-format command below.
  # clang-format -i [file]

Change-Id: Ib744f0708a7f41d052e1fce869d819b1cdad5d35

22 months agosurface: Export functions for surface role 01/278101/1
Seunghun Lee [Mon, 23 May 2022 07:50:58 +0000 (16:50 +0900)]
surface: Export functions for surface role

This patch exports functions of ds_surface for the compositor to
be able to assign a role to ds_surfaces.

Change-Id: I8f79bb2a97de290ed304336408d258d91a7c3abc

22 months agoseat: move 'grab' related struct definitions to include folder 00/278100/1
duna.oh [Wed, 8 Jun 2022 07:46:45 +0000 (16:46 +0900)]
seat: move 'grab' related struct definitions to include folder

Change-Id: If430058bb6a962ef4e859efb0ec91edf423bfb94

22 months agoclients: remove 'input-generator' 99/278099/1
duna.oh [Wed, 8 Jun 2022 07:44:14 +0000 (16:44 +0900)]
clients: remove 'input-generator'

Change-Id: I6a0d61ef7d0717d9f9e7e504c25a606ab092c4db

22 months agorearrange the directory of the libds respository 98/278098/1
SooChan Lim [Wed, 8 Jun 2022 00:24:33 +0000 (09:24 +0900)]
rearrange the directory of the libds respository

Change-Id: I4edc18679d585feef80aca84c526dd4f414ed1b8

22 months agoremove libds-tizen stuffs 97/278097/1
SooChan Lim [Fri, 3 Jun 2022 23:59:17 +0000 (08:59 +0900)]
remove libds-tizen stuffs

all files of libds-tizen move to libds-tizen repository

Change-Id: I4349558c36e45f2c4e2877e7a416d9ac9eaad5a9

22 months agokeyrouter: Fix wrong validity check 96/278096/1
Seunghun Lee [Tue, 7 Jun 2022 23:30:48 +0000 (08:30 +0900)]
keyrouter: Fix wrong validity check

Change-Id: I0f26218b5305565061f35a5cd7a1c1739190a94f

22 months agodevicemgr: implement libds-tizen-input-devicemgr 95/278095/1
duna.oh [Tue, 7 Jun 2022 10:38:39 +0000 (19:38 +0900)]
devicemgr: implement libds-tizen-input-devicemgr

Change-Id: I7b5d45cd96122bb4f5d7926bd6d3d830475f5696

22 months agodpms: set ds_tizen_dpms enum value by tizen dpms protocol enum value 94/278094/1
Junkyeong Kim [Tue, 7 Jun 2022 04:35:51 +0000 (13:35 +0900)]
dpms: set ds_tizen_dpms enum value by tizen dpms protocol enum value

Change-Id: I55c31d0be7d92f4c85ffcd9c712bc61e54058073
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
22 months agoclient: add simple-dpms 93/278093/1
Junkyeong Kim [Tue, 7 Jun 2022 04:34:43 +0000 (13:34 +0900)]
client: add simple-dpms

Change-Id: Ibd038539152aaee0f8f6a78f9eee88d7a542afcc
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
22 months agoexample: add tinyds-tdm-dpms 92/278092/1
Junkyeong Kim [Tue, 7 Jun 2022 04:31:32 +0000 (13:31 +0900)]
example: add tinyds-tdm-dpms

Change-Id: Ic63b2893120fc46865559a49e0dc34c376f3a1ca
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
22 months agodpms: fix build error 91/278091/1
Junkyeong Kim [Tue, 7 Jun 2022 04:29:44 +0000 (13:29 +0900)]
dpms: fix build error

Change-Id: I06c768d97d26ccee3ca85825e653c6cc56538539
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
22 months agokeyrouter: Return an appropriate value 90/278090/1
Seunghun Lee [Fri, 3 Jun 2022 09:12:29 +0000 (18:12 +0900)]
keyrouter: Return an appropriate value

The return value of keyrouter_grab_check_grabbed() is boolean. So let's
make it right.

Change-Id: I27048b419ad8e5b13060b5d87f2948b6e3c15d80

22 months agokeyrouter: Fix wrong return value 89/278089/1
Seunghun Lee [Fri, 3 Jun 2022 09:05:12 +0000 (18:05 +0900)]
keyrouter: Fix wrong return value

According to implementation of pepper keyrouter which is a reference of
libds keyrouter, keyrouter_grab_check_grabbed() is supposed to return
true if a list of MODE_EXCLUSIVE is not empty.

This error seems to have been introduced by mistake during the
migration from pepper.

Change-Id: I18f3b133cb44e983d929da1c525c8bf878cdd5c6

22 months agosecurity: Enable cynara to be built 88/278088/1
Seunghun Lee [Thu, 2 Jun 2022 05:22:55 +0000 (14:22 +0900)]
security: Enable cynara to be built

This patch also removes conditional compilation for cynara. This should
be considered again if it gets needed.

Change-Id: I0597b3914780c30ce2b1835dd7089b6bc8f47888

22 months agotizen-util: Include an appropriate header 87/278087/1
Seunghun Lee [Thu, 2 Jun 2022 04:53:14 +0000 (13:53 +0900)]
tizen-util: Include an appropriate header

Change-Id: I3ee70dc2ed75a4ef04ac7d8c604d5be8521651d0

22 months agosecurity: Refactor implementation for cynara 86/278086/1
Seunghun Lee [Thu, 2 Jun 2022 04:50:54 +0000 (13:50 +0900)]
security: Refactor implementation for cynara

No functional changes

Change-Id: I8cfe200969f71ad761dae5c06bfa3227ca89ffd5

22 months agosecurity: Remove meaningless double check 85/278085/1
Seunghun Lee [Thu, 2 Jun 2022 04:14:29 +0000 (13:14 +0900)]
security: Remove meaningless double check

In the function tizen_security_check_privilege(), it double-checks
a g_cynara to see if it exists and then return different value if it
doesn't exist which is contradictory.

Let's just return false if initializing the cynara has been failed
or not been initialized.

Change-Id: If141f0e9bcc75ee0804cfa65bb136121d4d23fcc

22 months agoadd review-bot as a reviewer 84/278084/1
SooChan Lim [Fri, 27 May 2022 02:39:45 +0000 (11:39 +0900)]
add review-bot as a reviewer

Change-Id: Ida05f30c7edcc66605593a600e27901ced3f71c6

22 months agoclient: add simple-shm-shell sample 83/278083/1
SooChan Lim [Thu, 19 May 2022 01:38:44 +0000 (10:38 +0900)]
client: add simple-shm-shell sample

This is a simple wayland-client which use wl_shm and wl_shell interface.

Change-Id: I48cfeebde8e6a5e6621942c2f0f7c642f5372111

22 months agoshell: implement wl_shell_interface 82/278082/1
SooChan Lim [Mon, 16 May 2022 08:39:29 +0000 (17:39 +0900)]
shell: implement wl_shell_interface

ds_shell and ds_shell_surface are resources which implement the
wl_shell_interface and wl_shell_surface_interface.

Change-Id: I1064d0b431bdf1fd734353b58bc7994d202e9c57

22 months agofix the build warning 81/278081/1
SooChan Lim [Wed, 18 May 2022 05:32:31 +0000 (14:32 +0900)]
fix the build warning

Change-Id: I045dbf51644e8ab10ed12820a8c7a9e624741354

22 months agokeyrouter: change the prefix of the internal functions 80/278080/1
SooChan Lim [Thu, 19 May 2022 10:34:06 +0000 (19:34 +0900)]
keyrouter: change the prefix of the internal functions

remove the tizen prefix.

Change-Id: I57bf64185af71a0ea2f423e21d3bdfc8ccf3a93f

22 months agolibinput: get event time from libinput_event 79/278079/1
duna.oh [Thu, 19 May 2022 01:03:25 +0000 (10:03 +0900)]
libinput: get event time from libinput_event

Change-Id: I3fd692358a93937edf6516599598c074ca6ef419

22 months agoexample: add an executable 'tinyds-tdm-libinput' and handle ds_seat 78/278078/1
duna.oh [Wed, 18 May 2022 09:39:54 +0000 (18:39 +0900)]
example: add an executable 'tinyds-tdm-libinput' and handle ds_seat

Change-Id: I71e53ae7bb143fcd69ee6259d9b5934be192bbbf

22 months agoseat: fix the typo. should handle a proper device type 77/278077/1
duna.oh [Wed, 18 May 2022 09:37:26 +0000 (18:37 +0900)]
seat: fix the typo. should handle a proper device type

Change-Id: I43478be7fe6e6d932450a018a4e20cb331547813

22 months agotinyds: Handle ds_seat 76/278076/1
Seunghun Lee [Wed, 4 May 2022 06:34:19 +0000 (15:34 +0900)]
tinyds: Handle ds_seat

tinyds now handles ds_seat, but only for pointer.

Change-Id: I10057c90ce25a23ca17802ea4685f1988553e80b

22 months agoAdd ds_seat 75/278075/1
Seunghun Lee [Wed, 20 Apr 2022 01:11:12 +0000 (10:11 +0900)]
Add ds_seat

ds_seat abstracts wl_seat protocol of server implementation.

Change-Id: Ie2a7a14c67f0369839a4e878942c9356ff2a53a5

22 months agods_dpms: Init ds_dpms 74/278074/1
Junkyeong Kim [Wed, 11 May 2022 07:30:21 +0000 (16:30 +0900)]
ds_dpms: Init ds_dpms

Ds_dpms is wayland-server implemantation of tizen_dpms protocol.

Change-Id: I774a743de26bd8c516ae0991daf28c3e20f50ec5
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
22 months agobackend/libinput: Support libinput backend 73/278073/1
duna.oh [Thu, 12 May 2022 06:52:31 +0000 (15:52 +0900)]
backend/libinput: Support libinput backend

add struct ds_libinput_backend, ds_libinput_input_device, etc.
add an executable 'libinput-backend' to test libinput events

Change-Id: Ifbc5ab8e587fbbc0767a3070da6b7b548d990cac

22 months agoimplement the libds-tizen-keyrouter 72/278072/1
SooChan Lim [Wed, 11 May 2022 07:48:55 +0000 (16:48 +0900)]
implement the libds-tizen-keyrouter

libds-tizen-keyrouter supports the tizen_keyrouter extension.
This is the first impelemtaion for it. It can be added the additional
apis onward.

Change-Id: I53e8df054d3534c0fa84f14273a61761332b1bf6

22 months agoadd security api which uses cynara 71/278071/1
SooChan Lim [Wed, 11 May 2022 07:45:58 +0000 (16:45 +0900)]
add security api which uses cynara

The keyrouter and devicemgr has to check the privilege when display
server gets the requests from these extensions. For this, security api
support the previlege check with cynara.

Change-Id: I0daba1b5c8dc5e0e7e5fb4e145d9d720fbf3ee38

22 months agods_output: Add ds_output_set_custom_mode 70/278070/1
Seunghun Lee [Wed, 4 May 2022 06:37:27 +0000 (15:37 +0900)]
ds_output: Add ds_output_set_custom_mode

Change-Id: I7d592ffc2f8336fa0b011f7c7a61fa0b72cfb444

22 months agotinyds: Fix passing wrong arg to wl_container_of 69/278069/1
Seunghun Lee [Wed, 4 May 2022 06:31:58 +0000 (15:31 +0900)]
tinyds: Fix passing wrong arg to wl_container_of

This led segfault illegally accessing wrong pointer.

Change-Id: I0e1ae98d8f93fa0ac44d53784b304e58988828fa

22 months agotinyds-tdm: Fix build break 68/278068/1
Seunghun Lee [Tue, 26 Apr 2022 00:22:06 +0000 (09:22 +0900)]
tinyds-tdm: Fix build break

Change-Id: I8439f6af62cdfd045eb0eb87c013df51aec9b034

22 months agobackend/wayland: Implement start() interface of ds_backend 67/278067/1
Seunghun Lee [Fri, 22 Apr 2022 00:17:57 +0000 (09:17 +0900)]
backend/wayland: Implement start() interface of ds_backend

The wayland backend defers creating new outputs until a user calls
ds_backend_start() even though a user requests creation of output before
ds_backend_start().

The wayland backend now emits a signal of new_output if a user calls
ds_backend_start(), which is for the behavior of ds_backend_start() to
be consistent regardless of the actual running backend.

Change-Id: If1748c7f591409c31b91438ba4ec561f7897e3fc

22 months agotinyds: Use WAYLAND_DISPLAY and WAYLAND_SOCKET for wl backend 66/278066/1
Seunghun Lee [Mon, 25 Apr 2022 07:06:21 +0000 (16:06 +0900)]
tinyds: Use WAYLAND_DISPLAY and WAYLAND_SOCKET for wl backend

Instead of assuming the name of wayland display server by iterating
arbitrary number of names, it uses values of WAYLAND_DISPLAY and
WAYLAND_SOCKET environments.

The library of wayland-client uses these values when trying to connect
to wayland server.

Change-Id: I0579dab7eadcd3580b0ee0ebadb9175fc0bcd0a5

22 months agobackend/wayland: Remove writable flag from event source 65/278065/1
Seunghun Lee [Thu, 21 Apr 2022 07:56:48 +0000 (16:56 +0900)]
backend/wayland: Remove writable flag from event source

Instead of having a writable flag on event source, it just marks
wayland event source as needing a post-dispatch check. The event loop
will call dispatch function again after all dispatching is done, with
mask = 0.

Change-Id: I183122d602626079137fbd34870dca1844f8ecd5

22 months agoexamples/tinyds: Handle ds_pointer 64/278064/1
Seunghun Lee [Thu, 21 Apr 2022 05:05:11 +0000 (14:05 +0900)]
examples/tinyds: Handle ds_pointer

This adds listeners of ds_pointer and prints logs.

Change-Id: I2eb47fc87958859fad5ad3b10d6a0608e7c2bce5

22 months agoexamples/tinyds: Enhance readability 63/278063/1
Seunghun Lee [Wed, 20 Apr 2022 11:16:37 +0000 (20:16 +0900)]
examples/tinyds: Enhance readability

No functional changes

- Use a first argument of function as a prefix of function name.
- Rename some of function name more clearly.
- Remove forward declaration of event handlers.

Change-Id: I73bc409fe7d33233cf7d5482923ea52ea142ee4e

22 months agoexamples/tinyds: Clean up all views when finish server 62/278062/1
Seunghun Lee [Wed, 20 Apr 2022 11:11:59 +0000 (20:11 +0900)]
examples/tinyds: Clean up all views when finish server

Even though all view would have been cleaned up by an destroy event of
xdg_surface, this is just to clean up views explicitly just in case.

No functional changes.

Change-Id: If92f6ee73d1b8a4043f93105478b8fc3e7e78c68

22 months agoexamples/tinyds: Clarify single output support 61/278061/1
Seunghun Lee [Wed, 20 Apr 2022 10:54:19 +0000 (19:54 +0900)]
examples/tinyds: Clarify single output support

tinyds doesn't support multiple outputs for now, so don't pretend to
support multiple outputs.

Change-Id: Icf8dcdeb89ff256d5d827f3dc67cb3d08b4f9a2a

22 months agoexamples/tinyds: Remove redundant referencing ds_buffer 60/278060/1
Seunghun Lee [Wed, 20 Apr 2022 09:10:04 +0000 (18:10 +0900)]
examples/tinyds: Remove redundant referencing ds_buffer

ds_buffer is supposed to be referenced by ds_output while using it, so
tinyds doesn't have any reasons to reference a ds_buffer for the output.

Change-Id: I7f4aacd9263f4b70c57d269f118605b743d5b847

22 months agoAdd ds_touch 59/278059/1
Duna Oh [Wed, 20 Apr 2022 11:57:38 +0000 (20:57 +0900)]
Add ds_touch

Change-Id: I8236a20c3b29dfcca82e8d5734858dce94bb17ad

22 months agoxdg_shell: Destroy ds_xdg_surfaces when cleaning up client 58/278058/1
Seunghun Lee [Wed, 20 Apr 2022 06:45:55 +0000 (15:45 +0900)]
xdg_shell: Destroy ds_xdg_surfaces when cleaning up client

This patch fixes memory corruption caused by removing
ds_xdg_surfaces's link in destroy_xdg_surface().

When wl_client is destroyed, ds_xdg_shell_client can be destroyed
before its own ds_xdg_surfaces. This led to memory corruption because of
illegal access to a freed memory when trying to remove list of
ds_xdg_surface.link.

Change-Id: I2558e445af25e85a84f761f845dae22eb10eeab4

22 months agoexamples/tinyds: Handle ds_keyboard 57/278057/1
Seunghun Lee [Wed, 20 Apr 2022 02:29:17 +0000 (11:29 +0900)]
examples/tinyds: Handle ds_keyboard

tinyds now handles ds_keyboard, and it may be terminated by pressing
Alt + Ctrl + Shift + BackSapce.

Change-Id: I06ba652cd4103df9bc7a60fdc6d7b3a8fca56621

22 months agopackaging: Add missing file mistakenly unpacked 56/278056/1
Seunghun Lee [Mon, 18 Apr 2022 04:27:17 +0000 (13:27 +0900)]
packaging:  Add missing file mistakenly unpacked

Change-Id: Ib2a1b45b4dc9a7d3fdeeb47cfce74d0bb552f48c

22 months agoEnable user to get keyboard modifiers 55/278055/1
Seunghun Lee [Mon, 18 Apr 2022 01:37:06 +0000 (10:37 +0900)]
Enable user to get keyboard modifiers

input-device-test take modifiers into account when handling key.

Change-Id: Iec87c300323d891e18873afcf9b1eabf886ee068

22 months agoexamples: Rename pointer-test to input-device-test 54/278054/1
Seunghun Lee [Mon, 18 Apr 2022 01:35:14 +0000 (10:35 +0900)]
examples: Rename pointer-test to input-device-test

This patch also adds code for ds_keyboard in input-device-test.

Change-Id: I0e37a9a11beca9c38afc51e6841a08330e4852ab

22 months agobackend/wayland: Support ds_keyboard 53/278053/1
Seunghun Lee [Mon, 18 Apr 2022 01:33:19 +0000 (10:33 +0900)]
backend/wayland: Support ds_keyboard

Change-Id: I30a6a86e79f34abb22b789dee9ffe50d9d121a88

22 months agoAdd ds_keyboard 52/278052/1
Seunghun Lee [Mon, 18 Apr 2022 01:29:23 +0000 (10:29 +0900)]
Add ds_keyboard

A ds_keyboard is for abstracting phisical keyboard device.

Change-Id: I382ea96db01679f036283b213c4e540e36687c9d

22 months agoAdd missing header for alloca 51/278051/1
Seunghun Lee [Fri, 15 Apr 2022 07:11:57 +0000 (16:11 +0900)]
Add missing header for alloca

Change-Id: I87ff3dbbfe27a387c835ca2602b011e3dd866733

22 months agoAdd ds_input_device, and ds_pointer. 50/278050/1
Seunghun Lee [Thu, 7 Apr 2022 01:46:48 +0000 (10:46 +0900)]
Add ds_input_device, and ds_pointer.

This patch is just the beginning of ds_input_device.

Currently, a ds_input_device is created only on the wayland backend, and
it only supports a ds_pointer.
Other devices like keyboard and touch, and other backends like libinput
will be supported in future patches.

Change-Id: Ib0714d81b1083e063992848444517759aa7efadd

22 months agoUpdate CODEOWNERS 49/278049/1
임수찬/Tizen Platform Lab(SR)/삼성전자 [Mon, 11 Apr 2022 00:27:52 +0000 (09:27 +0900)]
Update CODEOWNERS

Change-Id: I6fef91c7a648346b2cdbd3da77f7dfbbb30d3803

22 months agoUpdate CODEOWNERS 48/278048/1
임수찬/Tizen Platform Lab(SR)/삼성전자 [Mon, 11 Apr 2022 00:27:40 +0000 (09:27 +0900)]
Update CODEOWNERS

Change-Id: I1c8886c715c1fbf276cee3f3bf01ac6b3bf86641

22 months agoadd ws_members as reviewers 47/278047/1
SooChan Lim [Wed, 30 Mar 2022 10:57:41 +0000 (19:57 +0900)]
add ws_members as reviewers

Change-Id: I6e027ad8496c66d91de0edfa5cd9a9c8ed2bb712

22 months agoadd extern 'C' at tbm_server.h 46/278046/1
SooChan Lim [Wed, 30 Mar 2022 07:44:45 +0000 (16:44 +0900)]
add extern 'C' at tbm_server.h

Change-Id: Ida5b0215bcfd753f124c9b3d3102caeb881f5160

22 months agoAdd ds_tbm_server 45/278045/1
Seunghun Lee [Mon, 28 Mar 2022 11:03:20 +0000 (20:03 +0900)]
Add ds_tbm_server

ds_tbm_server initializes wayland_tbm to allow wl_client to use
tbm_surface as a wl_buffer.

Change-Id: Ic3a450b6d450bad94388eeca5e9433b5dc799513

22 months agoFix typo on a word of header guard 44/278044/1
Seunghun Lee [Thu, 17 Mar 2022 10:52:29 +0000 (19:52 +0900)]
Fix typo on a word of header guard

Change-Id: Ie18d91a7868efa6b13175693d4f9a99c2481d09e

22 months agoAdd an example of using ds_tdm_buffer_queue 43/278043/1
Seunghun Lee [Thu, 17 Mar 2022 07:40:37 +0000 (16:40 +0900)]
Add an example of using ds_tdm_buffer_queue

Dependeing on the declaration of USE_TDM_BUFFER_QUEUE macro, tinyds-tdm
may be run with ds_tbm_buffer_queue.

Change-Id: I1d221d2d5eb94024902eea66d08f5973f1914771

22 months agolibds-tizen: Add ds_tdm_buffer_queue 42/278042/1
Seunghun Lee [Wed, 16 Mar 2022 04:18:21 +0000 (13:18 +0900)]
libds-tizen: Add ds_tdm_buffer_queue

A ds_tdm_buffer_queue is a buffer queue that is able to be acquired from
ds_tdm_output.

A ds_tdm_buffer_queue provides a handle of native queue to a user and
the user may pass it to a renderer. The renderer then should think of
native queue as tbm_surface_queue_h. With the tbm_surface_queue_h, the
renderer may dequeue a surface from it and draw on the dequeued buffer.
After finish drawing on the buffer, the renderer should enqueue it to
the tbm_surface_queue_h.

As soon as the renderer enqueues buffer to the tbm_surface_queue_h, the
user can recieve a notification that the buffer can be acquired from the
ds_tbm_buffer_queue using ds_tdm_buffer_queue_add_acquirable_listener().
Then user may acquire a buffer from the ds_tdm_buffer_queue and attach
it to a ds_output.

Note that although the renderer may enqueue a buffer on different thread
from the thread working on libds, but libds will call a callback
function which is registered using
ds_tdm_buffer_queue_add_acquirable_listener() on the thread working on
libds.

Change-Id: Ia5c477ceabda7e85f6441a73e76884b95eafa6fb

22 months agoAdd directories for tizen features 41/278041/1
Seunghun Lee [Wed, 16 Mar 2022 02:43:49 +0000 (11:43 +0900)]
Add directories for tizen features

Change-Id: Ia3a389e793d6ecb3a20e783059fd301e432f73bc

22 months agoBuild 'include' subdir after 'src' 40/278040/1
Seunghun Lee [Tue, 8 Mar 2022 07:21:28 +0000 (16:21 +0900)]
Build 'include' subdir after 'src'

A variable 'features' referred from 'include' subdir is set during build
of 'src'.

Change-Id: I541215320de7100e22d9c0a1a7eed4100c021397

22 months agooutput: Add ds_output_enable/disable APIs 39/278039/1
Seunghun Lee [Fri, 4 Mar 2022 07:27:16 +0000 (16:27 +0900)]
output: Add ds_output_enable/disable APIs

Change-Id: I0e267ad8e411462487529bfde3d732a845903773

22 months agoRemove too noisy logs 38/278038/1
Seunghun Lee [Fri, 4 Mar 2022 05:49:34 +0000 (14:49 +0900)]
Remove too noisy logs

Change-Id: I8e4051464641323a3d08bfa230c2f09f3ccd9bf7

22 months agoFix formatting 37/278037/1
Seunghun Lee [Fri, 4 Mar 2022 05:25:20 +0000 (14:25 +0900)]
Fix formatting

Change-Id: I5df4c04cbd50c3f7b4065dfd5b9084f3919c3d3e

22 months agobackend/tdm: Remove prefix tdm from static functions 36/278036/1
Seunghun Lee [Fri, 4 Mar 2022 01:49:50 +0000 (10:49 +0900)]
backend/tdm: Remove prefix tdm from static functions

It's to avoid confusion with tdm api.
For static functions, the names chosen aren't as important.

Change-Id: I8e952eac5dfdba304896a8f3d7f6a56f9ed00332

22 months agobackend/tdm: Split commit function into small functions 35/278035/1
Seunghun Lee [Fri, 4 Mar 2022 01:44:57 +0000 (10:44 +0900)]
backend/tdm: Split commit function into small functions

No functional changes. It improves readability.

Change-Id: I0b95360f5dc54e7023ab3f54c3b9cf2057a82686

22 months agooutput: Rename function more explicitly 34/278034/1
Seunghun Lee [Thu, 3 Mar 2022 10:03:50 +0000 (19:03 +0900)]
output: Rename function more explicitly

Change-Id: I58c743aafd6c9b610056391ff9f4ac69e9d90f54

22 months agobackend/tdm: Get buffer only if it's necessary 33/278033/1
Seunghun Lee [Thu, 3 Mar 2022 10:01:28 +0000 (19:01 +0900)]
backend/tdm: Get buffer only if it's necessary

Change-Id: I8c4fcc67b316c5eae0c11ad817632319d17fb2aa

22 months agoexamples: Use output mode instead of arbitrary size 32/278032/1
Seunghun Lee [Thu, 3 Mar 2022 09:03:25 +0000 (18:03 +0900)]
examples: Use output mode instead of arbitrary size

Change-Id: I973e052a2a32eb3fc62c02014af4e2cb3ede1380

22 months agobackend/tdm: Update output mode 31/278031/1
Seunghun Lee [Thu, 3 Mar 2022 09:02:49 +0000 (18:02 +0900)]
backend/tdm: Update output mode

Change-Id: I42e206491db375e4d420e24b9010f3828a87aec3

22 months agoAnnotate a refresh variable 30/278030/1
Seunghun Lee [Thu, 3 Mar 2022 09:01:14 +0000 (18:01 +0900)]
Annotate a refresh variable

Change-Id: I19205ea185c82a51c4d7eeb8e410a1efacd38fc5

22 months agoadd CODEOWNERS 29/278029/1
SooChan Lim [Sun, 6 Mar 2022 23:28:59 +0000 (08:28 +0900)]
add CODEOWNERS

which allow the members to be addded as reviewers when the PR is
uploaded.

Change-Id: Id495ae84b626211ee5826ec0844b8f4dfad1fbb7

22 months agoPut the extern "C" 28/278028/1
SooChan Lim [Sun, 6 Mar 2022 23:10:09 +0000 (08:10 +0900)]
Put the extern "C"

Without this extern "C", C++ program which uses libds does not recognize
the symbols in libds header files.

Change-Id: Id6e79c68472af9e8e1616aca6d37a4feaea75450

22 months agochange the version into 0.1.2 27/278027/1
SooChan Lim [Sun, 6 Mar 2022 23:09:00 +0000 (08:09 +0900)]
change the version into 0.1.2

Change-Id: I2318426a79b98caa36938e431ba284f43b51ef70