From: Youngjae Cho Date: Mon, 20 Jan 2020 04:18:17 +0000 (+0900) Subject: Add internal api for touchscreen control X-Git-Tag: submit/tizen_4.0/20200128.020239^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d375d33398280c22185f34d51cec6edaecd61264;p=platform%2Fcore%2Fapi%2Fdevice.git Add internal api for touchscreen control Change-Id: I3dc5d2d6cda301fcf7a627229275ce997b339cba Signed-off-by: Youngjae Cho --- diff --git a/include/touchscreen-internal.h b/include/touchscreen-internal.h new file mode 100644 index 0000000..6e2a7c2 --- /dev/null +++ b/include/touchscreen-internal.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TIZEN_SYSTEM_TOUCHSCREEN_INTERNAL_H__ +#define __TIZEN_SYSTEM_TOUCHSCREEN_INTERNAL_H__ + +#include + +typedef void (*dbus_pending_cb)(void *data, GVariant *result, GError *err); + +int device_touchscreen_enable(dbus_pending_cb cb); +int device_touchscreen_disable(dbus_pending_cb cb); + +#endif diff --git a/src/dbus.h b/src/dbus.h index 11d13ce..51a40db 100644 --- a/src/dbus.h +++ b/src/dbus.h @@ -34,7 +34,7 @@ #define DEVICED_PATH_BATTERY DEVICED_OBJECT_PATH"/Battery" #define DEVICED_INTERFACE_BATTERY DEVICED_INTERFACE_NAME".Battery" -/* Haptic service: operatioins about haptic */ +/* Haptic service: operations about haptic */ #define VIBRATOR_BUS_NAME "org.tizen.system.vibrator" #define VIBRATOR_OBJECT_PATH "/Org/Tizen/System/Vibrator" #define VIBRATOR_INTERFACE_NAME VIBRATOR_BUS_NAME @@ -58,6 +58,10 @@ #define DEVICED_PATH_IR DEVICED_OBJECT_PATH"/Ir" #define DEVICED_INTERFACE_IR DEVICED_INTERFACE_NAME".ir" +/* Touchscreen service: operations about touchscreen */ +#define DEVICED_PATH_TOUCH DEVICED_OBJECT_PATH"/Touch" +#define DEVICED_INTERFACE_TOUCH DEVICED_INTERFACE_NAME".touch" + struct dbus_int { int *list; int size; diff --git a/src/touchscreen-internal.c b/src/touchscreen-internal.c new file mode 100644 index 0000000..6160c8d --- /dev/null +++ b/src/touchscreen-internal.c @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "common.h" +#include "dbus.h" +#include "touchscreen-internal.h" + +#define METHOD_TOUCHSCREEN_ENABLE "Enable" +#define METHOD_TOUCHSCREEN_DISABLE "Disable" + +int device_touchscreen_enable(dbus_pending_cb cb) +{ + int ret; + ret = dbus_method_async_with_reply(DEVICED_BUS_NAME, + DEVICED_PATH_TOUCH, DEVICED_INTERFACE_TOUCH, + METHOD_TOUCHSCREEN_ENABLE, NULL, NULL, cb, -1, NULL); + + return errno_to_device_error(ret); +} + +int device_touchscreen_disable(dbus_pending_cb cb) +{ + int ret; + ret = dbus_method_async_with_reply(DEVICED_BUS_NAME, + DEVICED_PATH_TOUCH, DEVICED_INTERFACE_TOUCH, + METHOD_TOUCHSCREEN_DISABLE, NULL, NULL, cb, -1, NULL); + + return errno_to_device_error(ret); +}