#define GESTURE_DETECTED "GestureDetected"
#define FOCUS_EVENT "object:state-changed:focused"
-#define BUS "com.samsung.e17"
-#define INTERFACE "com.samsung.e17"
-#define PATH "/com/samsung/e17"
+#define BUS "com.samsung.EModule"
+#define INTERFACE "com.samsung.GestureNavigation"
+#define PATH "/com/samsung/GestureNavigation"
+
+#define A11Y_BUS "org.a11y.Bus"
+#define A11Y_INTERFACE "org.a11y.Bus"
+#define A11Y_PATH "/org/a11y/bus"
+#define A11Y_GET_ADDRESS "GetAddress"
+
#define N_ELEMS(x) (sizeof(x) / sizeof(x[0]))
};
static Eldbus_Connection *connection = NULL;
+static Eldbus_Connection *a11y_connection = NULL;
+static Eldbus_Object *a11y_obj = NULL;
static Eldbus_Object *obj = NULL;
static Eldbus_Proxy *proxy = NULL;
+static Eldbus_Proxy *a11y_proxy = NULL;
static void _unpack_gestures(const Eldbus_Message *msg);
static bool check_gestures(const char* a[], const char* value);
static void gesture_detected_signal_handler(void *context EINA_UNUSED, const Eldbus_Message *msg)
{
- printf("GESTURE DETECTED!!!");
+ fprintf(stderr, "GESTURE DETECTED!!!");
const char *error_name, *error_msg;
const char *target_bus;
const char *gesture_name;
if (!eldbus_message_arguments_get(msg, "ssv", &target_bus, &gesture_name, &data))
{
- printf("Error on eldbus_message_arguments_get()\n");
+ fprintf(stderr, "Error on eldbus_message_arguments_get()\n");
return;
}
- printf("Detected signal on %s bus, gesture name: %s", target_bus, gesture_name);
+ fprintf(stderr, "Detected signal on %s bus, gesture name: %s", target_bus, gesture_name);
}
static bool check_gestures(const char* a[], const char* value)
{
Eldbus_Message_Iter *array;
const char *txt;
- printf("Received Gestures");
+ fprintf(stderr, "unpack gestures");
if (!eldbus_message_arguments_get(msg, "as", &array))
{
- printf("Error on eldbus_message_arguments_get()\n");
+ fprintf(stderr, "Error on eldbus_message_arguments_get()\n");
return;
}
+ int i = 0;
while (eldbus_message_iter_get_and_next(array, 's', &txt))
{
- if(!check_gestures(supported_gestures, txt))
- return;
+ fprintf(stderr, "gest%d:%s", ++i, txt);
+// if(!check_gestures(supported_gestures, txt))
+// return;
}
- printf("Supported gestures matched!");
+ fprintf(stderr, "Supported gestures matched!");
}
static void _get_gestures(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
{
- printf("Gesture detected!");
+ fprintf(stderr, "get_gestures cb!");
const char *error_name, *error_msg;
if (eldbus_message_error_get(msg, &error_name, &error_msg))
{
- printf("%s - %s", error_name, error_msg);
+ fprintf(stderr, "%s - %s\n", error_name, error_msg);
return;
}
_unpack_gestures(msg);
}
+static void _get_address(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
+{
+ fprintf(stderr, "Address bus!");
+ Eldbus_Message *msg1 = NULL;
+ const char *error_name, *error_msg;
+ const char *a11y_bus_address = NULL;
+
+ if (eldbus_message_error_get(msg, &error_name, &error_msg))
+ {
+ printf("%s - %s", error_name, error_msg);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "s", &a11y_bus_address))
+ {
+ fprintf(stderr, "Error on eldbus_message_arguments_get()\n");
+ return;
+ }
+ fprintf(stderr, "BUS_ADDRESS:%s\n", a11y_bus_address);
+
+ connection = eldbus_address_connection_get(a11y_bus_address);
+
+ if (!connection)
+ {
+ fprintf(stderr, "Error: could not get system a11y bus\n");
+ return ;
+ }
+ else
+ fprintf(stderr, "a11y: Connection established!");
+
+ obj = eldbus_object_get(connection, BUS, PATH);
+
+ // get atspi bus address//
+
+ if (!obj)
+ {
+ fprintf(stderr, "Error: could not get object\n");
+ return;
+ }
+ else
+ fprintf(stderr, "Object received!\n");
+
+ proxy = eldbus_proxy_get(obj, INTERFACE);
+ if (!proxy)
+ {
+ fprintf(stderr, "Error: could not get proxy\n");
+ return;
+ }
+ else
+ fprintf(stderr, "Proxy received!");
+
+
+ msg1 = eldbus_message_method_call_new(BUS, PATH, INTERFACE, GESTURES_GET);
+ if(!msg1)
+ {
+ fprintf(stderr, "Dbus method call GetAddress failed!");
+ return;
+ }
+
+ eldbus_connection_send(connection, msg1, _get_gestures, NULL, -1);
+
+ eldbus_proxy_signal_handler_add(proxy, GESTURE_DETECTED, gesture_detected_signal_handler, NULL);
+
+}
+
static bool create_dbus_connection(void *data)
{
-/**
+
Eldbus_Message *msg = NULL;
eldbus_init();
printf("Eldbus initialized!");
- connection = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SESSION);
+ a11y_connection = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SESSION);
- if (!connection)
+ if (!a11y_connection)
{
printf("Error: could not get system bus\n");
return 0;
else
printf("Connection established!");
- obj = eldbus_object_get(connection, BUS, PATH);
+ a11y_obj = eldbus_object_get(a11y_connection, A11Y_BUS, A11Y_PATH);
- if (!obj)
+ // get atspi bus address//
+
+ if (!a11y_obj)
{
printf("Error: could not get object\n");
return 0;
else
printf("Object received!");
- proxy = eldbus_proxy_get(obj, INTERFACE);
- if (!proxy)
+ a11y_proxy = eldbus_proxy_get(a11y_obj, A11Y_INTERFACE);
+ if (!a11y_proxy)
{
printf("Error: could not get proxy\n");
return 0;
printf("Proxy received!");
- msg = eldbus_message_method_call_new(BUS, PATH, INTERFACE, GESTURES_GET);
+ msg = eldbus_message_method_call_new(A11Y_BUS, A11Y_PATH, A11Y_INTERFACE, A11Y_GET_ADDRESS);
if(!msg)
{
- printf("Dbus method call GetSupportedGestures failed!");
+ printf("Dbus method call GetAddress failed!");
return 0;
}
-
- eldbus_connection_send(connection, msg, _get_gestures, NULL, -1);
-
- eldbus_proxy_signal_handler_add(proxy, GESTURE_DETECTED, gesture_detected_signal_handler, NULL);
+ eldbus_connection_send(a11y_connection, msg, _get_address, NULL, -1);
+ // end
_detector_initialize();
-**/
+
border_init();
border_set_on_event(FOCUS_EVENT);
return 1;