4 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
6 * Contact: Tomasz Olszak <t.olszak@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
22 #include "setting-accessibility.h"
23 #include <setting-cfg.h>
24 #include <setting-debug.h>
27 #define UG_MODULE_API __attribute__ ((visibility("default")))
30 static void *setting_accessibility_ug_on_create(ui_gadget_h ug,
31 enum ug_mode mode, app_control_h service,
35 setting_retvm_if((NULL == priv), NULL, "NULL == priv");
36 SettingAccessibilityUG *accessibilityUG = priv;
37 accessibilityUG->ug = ug;
38 accessibilityUG->win_main_layout = (Evas_Object *) ug_get_parent_layout(ug);
39 accessibilityUG->win_get = (Evas_Object *) ug_get_window();
40 evas_object_show(accessibilityUG->win_main_layout);
41 accessibilityUG->evas = evas_object_evas_get(accessibilityUG->win_main_layout);
43 setting_retvm_if(accessibilityUG->win_main_layout == NULL, NULL,
44 "cannot get main window ");
45 setting_set_i18n(SETTING_PACKAGE, SETTING_LOCALEDIR);
47 /* register view node table */
48 setting_view_node_table_intialize();
49 setting_view_node_table_register(&setting_view_accessibility_main, NULL);
52 setting_view_node_set_cur_view(&setting_view_accessibility_main);
53 setting_view_create(&setting_view_accessibility_main, (void *)accessibilityUG);
55 return accessibilityUG->ly_main;
58 void setting_accessibility_ug_on_start(ui_gadget_h ug, app_control_h app_control, void *priv)
64 void setting_accessibility_ug_on_pause(ui_gadget_h ug, app_control_h app_control, void *priv)
70 void setting_accessibility_ug_on_resume(ui_gadget_h ug, app_control_h app_control, void *priv)
76 void setting_accessibility_ug_on_destroy(ui_gadget_h ug, app_control_h app_control, void *priv)
82 void setting_accessibility_ug_on_message(ui_gadget_h ug, app_control_h msg, app_control_h app_control, void *priv)
87 void setting_accessibility_ug_on_event(ui_gadget_h ug, enum ug_event event, app_control_h app_control, void *priv)
93 void setting_accessibility_ug_on_key_event(ui_gadget_h ug, enum ug_key_event event,
94 app_control_h app_control, void *priv)
100 UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
104 SettingAccessibilityUG *accessibilityUG =
105 calloc(1, sizeof(SettingAccessibilityUG));
106 setting_retvm_if(!accessibilityUG, -1,
107 "Create SettingAccessibilityUG obj failed");
109 ops->create = setting_accessibility_ug_on_create;
110 ops->start = setting_accessibility_ug_on_start;
111 ops->pause = setting_accessibility_ug_on_pause;
112 ops->resume = setting_accessibility_ug_on_resume;
113 ops->destroy = setting_accessibility_ug_on_destroy;
114 ops->message = setting_accessibility_ug_on_message;
115 ops->event = setting_accessibility_ug_on_event;
116 ops->key_event = setting_accessibility_ug_on_key_event;
117 ops->priv = accessibilityUG;
118 ops->opt = UG_OPT_INDICATOR_ENABLE;
124 UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
128 struct SettingAccessibilityUG *accessibilityUG;
129 setting_retm_if(!ops, "ops == NULL");
131 accessibilityUG = ops->priv;
132 if (accessibilityUG) {
133 FREE(accessibilityUG);
139 UG_MODULE_API int setting_plugin_search_init(app_control_h service, void *priv,
144 Setting_Cfg_Node_T *node;
145 Eina_List **pplist = priv;
146 const Setting_Cfg_Node_T search_configs[] = {
147 {_(DEVOPTION_STR_ACCESSIBILITY_MAGNIFIER), NULL, NULL, 0, Cfg_Item_unResetable, 0, Cfg_Item_View_Node, NULL, NULL, NULL, NULL},
148 {_(DEVOPTION_STR_ACCESSIBILITY_SCREENREADER), NULL, NULL, 0, Cfg_Item_unResetable, 0, Cfg_Item_View_Node, NULL, NULL, NULL, NULL},
151 retv_if(NULL == priv, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
152 retv_if(NULL == applocale, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
154 *applocale = strdup("setting:/usr/apps/org.tizen.setting/res/locale");
156 size = sizeof(search_configs) / sizeof(Setting_Cfg_Node_T);
158 for (i = 0; i < size; i++) {
159 node = setting_plugin_search_item_subindex_add(
160 search_configs[i].key_name,
161 "viewtype:accessibility",
163 search_configs[i].item_type,
164 search_configs[i].data,
167 *pplist = eina_list_append(*pplist, node);