build: get doxygen generating selective
[platform/core/uifw/aurum.git] / libaurum / src / Accessibility / AccessibleUtils.cc
1 #include "AccessibleUtils.h"
2 #include <loguru.hpp>
3 #include <string.h>
4
5 char* state_to_char(AtspiStateType state)
6 {
7    switch (state) {
8    case ATSPI_STATE_INVALID:
9       return strdup("ATSPI_STATE_INVALID");
10    case ATSPI_STATE_ACTIVE:
11       return strdup("ATSPI_STATE_ACTIVE");
12    case ATSPI_STATE_ARMED:
13       return strdup("ATSPI_STATE_ARMED");
14    case ATSPI_STATE_BUSY:
15       return strdup("ATSPI_STATE_BUSY");
16    case ATSPI_STATE_CHECKED:
17       return strdup("ATSPI_STATE_CHECKED");
18    case ATSPI_STATE_COLLAPSED:
19       return strdup("ATSPI_STATE_COLLAPSED");
20    case ATSPI_STATE_DEFUNCT:
21       return strdup("ATSPI_STATE_DEFUNCT");
22    case ATSPI_STATE_EDITABLE:
23       return strdup("ATSPI_STATE_EDITABLE");
24    case ATSPI_STATE_ENABLED:
25       return strdup("ATSPI_STATE_ENABLED");
26    case ATSPI_STATE_EXPANDABLE:
27       return strdup("ATSPI_STATE_EXPANDABLE");
28    case ATSPI_STATE_EXPANDED:
29       return strdup("ATSPI_STATE_EXPANDED");
30    case ATSPI_STATE_FOCUSABLE:
31       return strdup("ATSPI_STATE_FOCUSABLE");
32    case ATSPI_STATE_FOCUSED:
33       return strdup("ATSPI_STATE_FOCUSED");
34    case ATSPI_STATE_HAS_TOOLTIP:
35       return strdup("ATSPI_STATE_HAS_TOOLTIP");
36    case ATSPI_STATE_HORIZONTAL:
37       return strdup("ATSPI_STATE_HORIZONTAL");
38    case ATSPI_STATE_ICONIFIED:
39       return strdup("ATSPI_STATE_ICONIFIED");
40    case ATSPI_STATE_MULTI_LINE:
41       return strdup("ATSPI_STATE_MULTI_LINE");
42    case ATSPI_STATE_MULTISELECTABLE:
43       return strdup("ATSPI_STATE_MULTISELECTABLE");
44    case ATSPI_STATE_OPAQUE:
45       return strdup("ATSPI_STATE_OPAQUE");
46    case ATSPI_STATE_PRESSED:
47       return strdup("ATSPI_STATE_PRESSED");
48    case ATSPI_STATE_RESIZABLE:
49       return strdup("ATSPI_STATE_RESIZABLE");
50    case ATSPI_STATE_SELECTABLE:
51       return strdup("ATSPI_STATE_SELECTABLE");
52    case ATSPI_STATE_SELECTED:
53       return strdup("ATSPI_STATE_SELECTED");
54    case ATSPI_STATE_SENSITIVE:
55       return strdup("ATSPI_STATE_SENSITIVE");
56    case ATSPI_STATE_SHOWING:
57       return strdup("ATSPI_STATE_SHOWING");
58    case ATSPI_STATE_SINGLE_LINE:
59       return strdup("ATSPI_STATE_SINGLE_LINE");
60    case ATSPI_STATE_STALE:
61       return strdup("ATSPI_STATE_STALE");
62    case ATSPI_STATE_TRANSIENT:
63       return strdup("ATSPI_STATE_TRANSIENT");
64    case ATSPI_STATE_VERTICAL:
65       return strdup("ATSPI_STATE_VERTICAL");
66    case ATSPI_STATE_VISIBLE:
67       return strdup("ATSPI_STATE_VISIBLE");
68    case ATSPI_STATE_MANAGES_DESCENDANTS:
69       return strdup("ATSPI_STATE_MANAGES_DESCENDANTS");
70    case ATSPI_STATE_INDETERMINATE:
71       return strdup("ATSPI_STATE_INDETERMINATE");
72    case ATSPI_STATE_REQUIRED:
73       return strdup("ATSPI_STATE_REQUIRED");
74    case ATSPI_STATE_TRUNCATED:
75       return strdup("ATSPI_STATE_TRUNCATED");
76    case ATSPI_STATE_ANIMATED:
77       return strdup("ATSPI_STATE_ANIMATED");
78    case ATSPI_STATE_INVALID_ENTRY:
79       return strdup("ATSPI_STATE_INVALID_ENTRY");
80    case ATSPI_STATE_SUPPORTS_AUTOCOMPLETION:
81       return strdup("ATSPI_STATE_SUPPORTS_AUTOCOMPLETION");
82    case ATSPI_STATE_SELECTABLE_TEXT:
83       return strdup("ATSPI_STATE_SELECTABLE_TEXT");
84    case ATSPI_STATE_IS_DEFAULT:
85       return strdup("ATSPI_STATE_IS_DEFAULT");
86    case ATSPI_STATE_VISITED:
87       return strdup("ATSPI_STATE_VISITED");
88    case ATSPI_STATE_CHECKABLE:
89       return strdup("ATSPI_STATE_CHECKABLE");
90    case ATSPI_STATE_HAS_POPUP:
91       return strdup("ATSPI_STATE_HAS_POPUP");
92    case ATSPI_STATE_READ_ONLY:
93       return strdup("ATSPI_STATE_READ_ONLY");
94    case ATSPI_STATE_LAST_DEFINED:
95       return strdup("ATSPI_STATE_LAST_DEFINED");
96    case ATSPI_STATE_MODAL:
97       return strdup("ATSPI_STATE_MODAL");
98    default:
99       return strdup("\0");
100    }
101 }
102
103 static void _print_stateset_debug( AtspiStateSet *stateSet)
104 {
105    if (!stateSet) return;
106    GArray *states = atspi_state_set_get_states(stateSet);
107    if (!states) return;
108
109    char *state_name = NULL;
110    AtspiStateType stat;
111    LOG_F(INFO, "check ss:%p s:%p, len:%d", stateSet, states, states->len);
112    for (int i = 0; states && (i < states->len); ++i) {
113       stat = g_array_index(states, AtspiStateType, i);
114       state_name = state_to_char(stat);
115       LOG_SCOPE_F(INFO, "state: %s", state_name);
116       free(state_name);
117    }
118    g_array_free(states, 1);
119 }