test: enhance accessible tree information 12/156212/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 17 Oct 2017 12:02:32 +0000 (21:02 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Tue, 17 Oct 2017 12:05:09 +0000 (21:05 +0900)
Enhance node information using eo address expression

Change-Id: I02e057013812073e7b7484cf3d87516f6a9d9053

test/at_spi2_tool.c

index 08c2af5..c391003 100644 (file)
@@ -6,6 +6,7 @@
 #include <stdbool.h>
 #include <gio/gio.h>
 #include <assert.h>
+#include <stdint.h>
 
 #define ERROR_STATE -1
 #define SAFE_BUFFER_SIZE 2048
@@ -300,6 +301,9 @@ static char *_get_info(AtspiAccessible *node, int length_limit, bool *attributes
        char *node_name = atspi_accessible_get_name(node, NULL);
        char *node_role_name = atspi_accessible_get_role_name(node, NULL);
        char *unique_id = atspi_accessible_get_unique_id(node, NULL);
+       char *path = atspi_accessible_get_path(node, NULL);
+       unsigned long long eo_ptr = 0;
+       sscanf(path, "%llu", &eo_ptr);
 
        char *attributes = _get_attributes(node, length_limit, attributes_are_too_long);
        Box_Size *box_size = _get_box_size(node);
@@ -309,8 +313,8 @@ static char *_get_info(AtspiAccessible *node, int length_limit, bool *attributes
        bool current_node_has_relations = (relations && relations->len);
 
        char result[SAFE_BUFFER_SIZE];
-       int ret = snprintf(result, SAFE_BUFFER_SIZE, "[[%s],[%s],[%s],[%s,%s,%s,%s],[%s],[%s],[%s]]",
-                                               unique_id,
+       int ret = snprintf(result, SAFE_BUFFER_SIZE, "[[%s(%p)],[%s],[%s],[%s,%s,%s,%s],[%s],[%s],[%s]]",
+                                               unique_id, (uintptr_t)eo_ptr,
                                                node_role_name,
                                                attributes,
                                                box_size->x,
@@ -330,6 +334,7 @@ static char *_get_info(AtspiAccessible *node, int length_limit, bool *attributes
        free(node_name);
        free(node_role_name);
        free(unique_id);
+       free(path);
        free(attributes);
        if (box_size) {
                free(box_size->width);