platform/core/uifw/libds.git
2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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>
2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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>
2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

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

Change-Id: I5df4c04cbd50c3f7b4065dfd5b9084f3919c3d3e

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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