4 * Copyright 2012 Samsung Electronics Co., Ltd
6 * Contact: Hocheol Seo <hocheol.seo@samsung.com>
7 * GirishAshok Joshi <girish.joshi@samsung.com>
8 * DoHyun Pyun <dh79.pyun@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 #ifndef __BT_MAIN_UG_H__
25 #define __BT_MAIN_UG_H__
33 #include <appcore-efl.h>
34 #include <Elementary.h>
35 #include <efl_extension.h>
36 #include <ui-gadget-module.h>
41 #include "bt-type-define.h"
42 #include "bt-profile-view.h"
45 #define UG_MODULE_API __attribute__ ((visibility("default")))
48 #define PKGNAME "ug-setting-bluetooth-efl"
53 #define PREFIX "/usr/ug/"
55 #define LOCALEDIR PREFIX"/res/locale"
57 #define BT_EDJ_PATH PREFIX"/res/edje/ug-setting-bluetooth-efl"
59 #define _EDJ(o) elm_layout_edje_get(o)
60 #define BT_ICON_EDJ BT_EDJ_PATH"/bluetooth_images.edj"
61 #define BT_GENLIST_EDJ BT_EDJ_PATH"/bluetooth_genlist.edj"
66 #define _(s) dgettext(PKGNAME, s)
68 #define dgettext_noop(s) (s)
73 #define N_(s) dgettext_noop(s)
75 #define BT_UG_VCONF_PRINTSETTING "memory/bluetooth/printsetting"
81 Evas_Object *win_main;
84 bt_launch_mode_t bt_launch_mode;
87 Ecore_Timer *request_timer;
89 /*************************
91 ************************ */
92 Evas_Object *navi_bar;
93 Evas_Object *main_layout;
94 Elm_Object_Item *navi_it;
95 Elm_Object_Item *service_navi_it;
97 Evas_Object *main_genlist;
100 /* Paired / Searched devices */
101 Evas_Object *paired_dlggrp;
102 Evas_Object *searched_dlggrp;
104 /* Selected device's genlist items */
105 Elm_Object_Item *paired_item;
106 Elm_Object_Item *searched_item;
109 Evas_Object *help_more_popup;
110 Evas_Object *help_popup;
112 /* Rename Device object*/
113 Evas_Object *rename_popup;
114 Evas_Object *rename_entry;
115 Evas_Object *rename_button;
117 /* Paired / Searched device list */
118 Eina_List *paired_device;
119 Eina_List *searched_device;
121 /* Network profile list */
122 Eina_List *net_profile_list;
125 Evas_Object *onoff_btn;
126 Evas_Object *scan_btn;
128 /* Genlist Item class */
129 Elm_Genlist_Item_Class *device_name_itc;
130 Elm_Genlist_Item_Class *rename_entry_itc;
131 Elm_Genlist_Item_Class *rename_desc_itc;
132 Elm_Genlist_Item_Class *paired_title_itc;
133 Elm_Genlist_Item_Class *searched_title_itc;
134 Elm_Genlist_Item_Class *searched_device_itc;
135 Elm_Genlist_Item_Class *no_device_itc;
136 Elm_Genlist_Item_Class *paired_device_itc;
137 Elm_Genlist_Item_Class *on_itc;
138 Elm_Genlist_Item_Class *off_itc;
141 Elm_Object_Item *onoff_item;
142 Elm_Object_Item *device_name_item;
143 Elm_Object_Item *paired_title;
144 Elm_Object_Item *searched_title;
145 Elm_Object_Item *no_device_item;
146 Elm_Object_Item *visible_exp_item[BT_MAX_TIMEOUT_ITEMS + 1];
147 Elm_Object_Item *empty_status_item;
148 Elm_Object_Item *rename_entry_item;
150 /*************************
152 ************************ */
154 bt_popup_data popup_data;
155 Evas_Object *popup_menu;
157 /*************************
159 ************************ */
160 bool waiting_service_response;
163 bool aul_launching_req;
164 bool aul_pairing_req;
165 bool is_discovery_started;
166 bool is_le_discovery_started;
167 unsigned int op_status;
168 unsigned int ug_status;
169 unsigned int help_status;
170 unsigned int search_type;
172 /*************************
174 ************************ */
175 app_control_h service;
176 bundle *popup_bundle;
178 char phone_name[BT_GLOBALIZATION_STR_LENGTH];
181 bt_dev_t *pick_device;
185 GDBusConnection *g_conn;
186 guint gdbus_owner_id;
188 /* End key callback */
189 bt_app_back_cb back_cb;
192 Ecore_Timer *network_timer;
193 /*************************
195 ************************ */
196 bt_profile_view_data *profile_vd;
197 bt_confirm_req_t confirm_req;
204 typedef enum _bt_cfg_item_reset_type {
205 BT_CFG_ITEM_UNRESETABLE = 0,
206 BT_CFG_ITEM_RESETABLE = 1,
207 } bt_cfg_item_reset_type;
209 typedef enum _bt_cfg_item_type {
210 BT_CFG_ITEM_NODE_ERROR = 0, /** Error */
211 BT_CFG_ITEM_UG_NODE = 1, /** general UG */
212 BT_CFG_ITEM_UI_NODE = 2, /** no UG, no app launching, just menu name */
213 BT_CFG_ITEM_TITLE_NODE = 3, /** view name */
214 BT_CFG_ITEM_APP_NODE = 4, /** app type - by launcher - read doc '4' */
215 BT_CFG_ITEM_VIEW_NODE = 5, /** view name - 2depth search */
219 char *key_name; /** key name */
220 char *icon_path; /** icon path */
221 char *ug_args; /** UG path or hyperlink */
222 int pos; /** position : 1st, 2st -- deprecated */
223 bt_cfg_item_reset_type reset_type; /** if ug supports Reset function */
224 int click_times; /** UG menu need to check */
225 bt_cfg_item_type item_type; /** 0:item 1:header title */
227 } bt_setting_cfg_node_t;
229 void _bt_ug_destroy(void *data, void *result);
234 #endif /* __BT_MAIN_UG_H__ */