4 * Copyright 2012 Samsung Electronics Co., Ltd
6 * Contact: Hocheol Seo <hocheol.seo@samsung.com>
7 * Injun Yang <injun.yang@samsung.com>
8 * Seungyoun Ju <sy39.ju@samsung.com>
10 * Licensed under the Flora License, Version 1.1 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.tizenopensource.org/license
16 * Unless required by applicable law or agreed to in writing,
17 * software distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
24 #include <dbus/dbus.h>
25 #include <dbus/dbus-glib-bindings.h>
27 #include "bt-connection-main.h"
28 #include "bt-connection-view.h"
29 #include "bt-connection-handler.h"
31 #define DBUS_SENSOR_PATH "/org/tizen/sensor/context/gesture"
32 #define DBUS_SENSOR_INTERFACE "org.tizen.sensor.context.gesture"
33 #define DBUS_SENSOR_WAKEUP "wakeup"
34 #define DBUS_CORE_APPS_PATH "/Org/Tizen/Coreapps/home/raise"
35 #define DBUS_CORE_APPS_INTERFACE "org.tizen.coreapps.home.raise"
36 #define DBUS_CORE_APPS_MEMBER "homeraise"
38 static void __handle_dbus_signal(void *data, DBusMessage *msg)
43 retm_if(data == NULL, "Invalid argument: data is NULL");
44 retm_if(msg == NULL, "Invalid argument: msg is NULL");
46 ad = (bt_app_data_t *)data;
47 member = dbus_message_get_member(msg);
48 retm_if(member == NULL, "member value is NULL");
50 if (dbus_message_get_type(msg) != DBUS_MESSAGE_TYPE_SIGNAL)
53 if (!dbus_message_has_interface(msg, DBUS_SENSOR_INTERFACE) &&
54 !dbus_message_has_interface(msg, DBUS_CORE_APPS_INTERFACE))
57 if (!dbus_message_has_path(msg, DBUS_SENSOR_PATH) &&
58 !dbus_message_has_path(msg, DBUS_CORE_APPS_PATH))
61 DBG("Received signal : %s", member);
63 if ((strcasecmp(member, DBUS_SENSOR_WAKEUP) == 0) ||
64 (strcasecmp(member, DBUS_CORE_APPS_MEMBER) == 0)) {
69 void _bt_dbus_signal_init(bt_app_data_t *ad)
73 E_DBus_Connection *conn = NULL;
74 E_DBus_Signal_Handler *sh = NULL;
78 conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
79 retm_if(conn == NULL, "conn is NULL");
81 sh = e_dbus_signal_handler_add(conn,
84 DBUS_SENSOR_INTERFACE,
86 __handle_dbus_signal, ad);
87 retm_if(sh == NULL, "Connect Event register failed");
90 sh = e_dbus_signal_handler_add(conn,
93 DBUS_CORE_APPS_INTERFACE,
94 DBUS_CORE_APPS_MEMBER,
95 __handle_dbus_signal, ad);
96 retm_if(sh == NULL, "Connect Event register failed");
104 void _bt_dbus_signal_deinit(bt_app_data_t *ad)
109 e_dbus_signal_handler_del(ad->dbus_conn, ad->gesture_sh);
110 e_dbus_signal_handler_del(ad->dbus_conn, ad->app_core_sh);