2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.tizenopensource.org/license
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef __SETTING_NETWORK_H__
19 #define __SETTING_NETWORK_H__
24 #include <appcore-efl.h>
25 #include <Elementary.h>
26 #include <Ecore_IMF.h>
29 #include <glib-object.h>
30 #include <ui-gadget.h>
31 #include <ui-gadget-module.h>
34 #include <network-pm-config.h>
35 #include <network-cm-intf.h>
36 #include <network-pm-intf.h>
39 #include <setting-common-draw-widget.h>
40 #include <setting-common-view.h>
46 #include <TapiEvent.h>
48 #include <ITapiNetwork.h>
53 #include <Ecore_IMF.h>
55 #define SETTING_ADD_PROFILE_INDEX -1
56 #define Invoking_TAPI_Timeout 8
57 #define COUNTRY_CODE_LEN 3
58 #define NETWORK_CODE_LEN 3
59 #define PRE_NETWORK_NAME_MAX 256
61 #define SETTING_NETWORK_POP_RESPONSE_ACTION_CANCEL 10 /* the popupresponse action ID */
62 #define SETTING_NETWORK_SUBS_ID_NET_LEN 7
65 SETTING_NETWORK_PREFERRED_NETWORK_NONE,
66 SETTING_NETWORK_PREFERRED_NETWORK_NEW,
67 SETTING_NETWORK_PREFERRED_NETWORK_EDIT,
68 SETTING_NETWORK_PREFERRED_NETWORK_LIST,
69 SETTING_NETWORK_PREFERRED_NETWORK_DELETE,
71 } setting_network_preferred_network_operation_type_t;
73 typedef struct _SettingNetworkUG SettingNetworkUG;
75 struct gl_network_data {
77 char name[PRE_NETWORK_NAME_MAX];
81 * Setting Network UG context
82 * all UG function has void* as an agument. this is casted back to SettingNetworkUG
83 * and the functions access app context.
85 struct _SettingNetworkUG {
88 /* add more variables here (move your appdata to here) */
90 Evas_Object *win_main_layout;
93 Evas_Object *navi_bar;
94 Elm_Object_Item *navi_it;
95 bool has_form_changed;
96 Evas_Object *genlist_sel_network;
98 Evas_Object *network_ug_pop;
99 Evas_Object *controllbar;
101 Evas_Object *ly_main;
102 unsigned int subs_id_net[SETTING_NETWORK_SUBS_ID_NET_LEN];
104 Setting_GenGroupItem_Data* data_selected_network_item;
105 Setting_GenGroupItem_Data* data_auto_network_item;
106 Setting_GenGroupItem_Data* data_search_network_item;
107 bool b_searching_network;
108 bool b_set_auto_network;
109 bool b_set_manul_network;
111 Setting_GenGroupItem_Data *data_sel_net;
112 Setting_GenGroupItem_Data *data_net_mode;
113 Setting_GenGroupItem_Data *data_use_packet;
115 unsigned int sel_net_plmn_id;
117 Evas_Object *chk_sel;
118 Evas_Object *chk_mode;
119 Evas_Object *pop_gsm;
120 Evas_Object *chk_3gcon;
122 int sel_net; /* like vconf key */
123 int net_mode; /* like vconf key */
125 Evas_Object *pop_sch;
126 TelNetworkPlmnList_t plmn_info;
127 Evas_Object *pop_reg;
130 net_service_type_t con_type;
131 net_profile_info_t *prof_list;
135 Evas_Object *chk_type;
137 const char *ed_acs_name_desc;
138 const char *ed_user_name_desc;
139 const char *ed_pwd_desc;
140 const char *ed_pxy_addr_desc;
141 const char *ed_pxy_port_desc;
142 const char *ed_hm_url_desc;
144 Elm_Object_Item *item_above_user_name;
145 Elm_Object_Item *item_above_proxy_add;
146 Setting_GenGroupItem_Data *data_user_name;
147 Setting_GenGroupItem_Data *data_pwd;
148 Setting_GenGroupItem_Data *data_acs_name;
149 Setting_GenGroupItem_Data *data_pxy_addr;
150 Setting_GenGroupItem_Data *data_pxy_port;
151 Setting_GenGroupItem_Data *data_hm_url;
152 Setting_GenGroupItem_Data *data_auth_type;
153 Setting_GenGroupItem_Data *data_type_nor;
154 Setting_GenGroupItem_Data *data_type_sec;
155 Setting_GenGroupItem_Data *data_type_none;
157 Evas_Object *scl_edit;
159 /* Preferred network common */
160 Evas_Object *pop_save;
161 Evas_Object *pop_del;
162 TelNetworkPrefferedPlmnList_t pref_list;
164 setting_network_preferred_network_operation_type_t op_type;
166 Ecore_Idler *add_view_timer;
167 char search_text[MAX_SEARCH_STR_LEN + 1];
168 Evas_Object *nw_search_bar;
170 Evas_Object *scl_pref;
171 Evas_Object *chk_new_type;
172 Setting_GenGroupItem_Data *data_edit_mcc;
173 Setting_GenGroupItem_Data *data_edit_mnc;
174 Setting_GenGroupItem_Data *data_new_mcc;
175 Setting_GenGroupItem_Data *data_new_mnc;
176 Evas_Object *chk_edit_type;
177 Evas_Object *scl_pref_del;
178 Evas_Object *gl_sel_all;
180 Evas_Object *popup_label;
182 Eina_List *checked_data_list;
183 Eina_List *item_check_list;
185 /* Preferred network network list for genlist */
186 Evas_Object *gl_network;
187 Elm_Genlist_Item_Class itc;
188 struct gl_network_data *cur_sel_mem;
190 Elm_Genlist_Item_Class itc_1text_1icon_2;
191 Elm_Genlist_Item_Class itc_seperator;
192 Elm_Genlist_Item_Class itc_variable_height;
193 Elm_Genlist_Item_Class itc_bg_1icon;
194 Elm_Genlist_Item_Class itc_2text_3_parent;
195 Elm_Genlist_Item_Class itc_1icon_1text_sub;
196 Elm_Genlist_Item_Class itc_2text_2;
197 Elm_Genlist_Item_Class itc_1text;
198 Elm_Genlist_Item_Class itc_group_item;
199 Elm_Genlist_Item_Class itc_1text_1icon;
200 Elm_Genlist_Item_Class itc_sel_all;
201 Elm_Genlist_Item_Class itc_1icon_1text;
202 Elm_Genlist_Item_Class itc_1text_2icon;
203 Elm_Genlist_Item_Class itc_2text_2icon_3;
205 Setting_GenGroupItem_Data *data_cl_select_all;
206 Evas_Object *sub_clear_layout;
207 Evas_Object *selInfoPop;
208 Evas_Object *selInfoPop_layout;
212 extern setting_view setting_view_network_main;
213 extern setting_view setting_view_network_select_network;
214 extern setting_view setting_view_network_main_help;
215 extern setting_view setting_view_network_connection_create;
216 extern setting_view setting_view_network_3gcon;
218 extern setting_view setting_view_network_preferred_network;
219 extern setting_view setting_view_network_preferred_network_new;
220 extern setting_view setting_view_network_preferred_network_list;
221 extern setting_view setting_view_network_preferred_network_edit;
222 extern setting_view setting_view_network_preferred_network_delete;
224 void setting_network_tapi_event_callback(TelTapiEvent_t *event, void *data);
225 void setting_network_select_network_chk_changed(void *data, Evas_Object *obj,
227 void setting_network_Gendial_select_plmn_cb(void *data, Evas_Object *obj,
229 void setting_network_register_network(Setting_GenGroupItem_Data *list_item);
232 void setting_network_popup_create(void *data, char *str_content, bool keep);
233 void setting_network_popup_update(void *data, char *str_content, bool keep);
234 void setting_network_popup_delete(void *data);
235 Evas_Object *setting_network_create_register_popup(void *data);
236 Evas_Object *setting_network_preferred_network_create_save_popup(void *data);
237 Evas_Object *setting_network_preferred_network_create_delete_popup(void *data);
238 void setting_network_preferred_network_create_isf(Evas_Object *entry);
240 #endif /* __SETTING_NETWORK_H__ */