4 * Copyright 2012 Samsung Electronics Co., Ltd
6 * Licensed under the Flora License, Version 1.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.tizenopensource.org/license
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
25 #include <Elementary.h>
27 #include <ui-gadget-module.h>
28 #include <wifi-direct.h>
31 #include "wfd_ug_view.h"
32 #include "wfd_client.h"
34 Elm_Gen_Item_Class head_itc;
35 Elm_Gen_Item_Class name_itc;
36 Elm_Gen_Item_Class title_itc;
37 Elm_Gen_Item_Class peer_itc;
38 Elm_Gen_Item_Class noitem_itc;
39 Elm_Gen_Item_Class button_itc;
41 Elm_Gen_Item_Class title_conn_itc;
42 Elm_Gen_Item_Class peer_conn_itc;
44 Elm_Gen_Item_Class title_busy_itc;
45 Elm_Gen_Item_Class peer_busy_itc;
47 Elm_Gen_Item_Class title_multi_connect_itc;
48 Elm_Gen_Item_Class peer_multi_connect_itc;
50 Elm_Gen_Item_Class title_conn_failed_itc;
51 Elm_Gen_Item_Class peer_conn_failed_itc;
54 * This function let the ug get the label of header
55 * @return the label of header
56 * @param[in] data the pointer to the main data structure
57 * @param[in] obj the pointer to the evas object
58 * @param[in] part the pointer to the part of item
60 static char *_gl_header_label_get(void *data, Evas_Object *obj, const char *part)
62 __WDUG_LOG_FUNC_ENTER__;
63 struct ug_data *ugd = (struct ug_data *) data;
64 WDUG_LOGI("%s", part);
67 WDUG_LOGE("Incorrect parameter(NULL)\n");
71 if (!strcmp(part, "elm.text.1")) {
72 WDUG_LOGI("Current text mode [%d]\n", ugd->head_text_mode);
73 switch (ugd->head_text_mode) {
74 case HEAD_TEXT_TYPE_DIRECT:
75 case HEAD_TEXT_TYPE_ACTIVATED:
76 case HEAD_TEXT_TYPE_SCANING:
77 return strdup(dgettext("sys_string", "IDS_COM_OPT1_WI_FI_DIRECT"));
79 case HEAD_TEXT_TYPE_DEACTIVATING:
80 return strdup(_("IDS_WFD_BODY_DEACTIVATING"));
82 case HEAD_TEXT_TYPE_ACTIVATING:
83 return strdup(_("IDS_WFD_BODY_ACTIVATING"));
88 } else if (!strcmp(part, "elm.text.1")) {
89 return strdup(dgettext("sys_string", "IDS_COM_OPT1_WI_FI_DIRECT"));
90 } else if (!strcmp(part, "elm.text.2")) {
91 return strdup(ugd->dev_name);
94 __WDUG_LOG_FUNC_EXIT__;
99 * This function let the ug get the icon of header
100 * @return the icon of header
101 * @param[in] data the pointer to the main data structure
102 * @param[in] obj the pointer to the evas object
103 * @param[in] part the pointer to the part of item
105 static Evas_Object *_gl_header_icon_get(void *data, Evas_Object *obj, const char *part)
107 __WDUG_LOG_FUNC_ENTER__;
108 struct ug_data *ugd = (struct ug_data *) data;
109 Evas_Object *onoff = NULL;
112 WDUG_LOGE("Incorrect parameter(NULL)\n");
116 if (ugd->head_text_mode == HEAD_TEXT_TYPE_ACTIVATING ||
117 ugd->head_text_mode == HEAD_TEXT_TYPE_DEACTIVATING) {
121 if (!strcmp(part, "elm.icon")) {
122 onoff = elm_check_add(obj);
123 elm_object_style_set(onoff, "on&off");
124 elm_check_state_set(onoff, ugd->wfd_onoff);
125 evas_object_show(onoff);
128 __WDUG_LOG_FUNC_EXIT__;
133 * This function let the ug get the label of about item
134 * @return the label of about item
135 * @param[in] data the pointer to the main data structure
136 * @param[in] obj the pointer to the evas object
137 * @param[in] part the pointer to the part of item
139 static char *_gl_name_label_get(void *data, Evas_Object *obj, const char *part)
141 __WDUG_LOG_FUNC_ENTER__;
142 struct ug_data *ugd = (struct ug_data *) data;
145 WDUG_LOGE("Incorrect parameter(NULL)\n");
149 WDUG_LOGI("%s", part);
151 if (!strcmp(part, "elm.text")) {
152 return strdup(IDS_WFD_TITLE_ABOUT_WIFI_DIRECT);
153 } else if (!strcmp(part, "elm.text.2")) {
154 return strdup(ugd->dev_name);
157 __WDUG_LOG_FUNC_EXIT__;
162 * This function let the ug get the label of titile
163 * @return the label of titile
164 * @param[in] data the pointer to the main data structure
165 * @param[in] obj the pointer to the evas object
166 * @param[in] part the pointer to the part of item
168 static char *_gl_title_label_get(void *data, Evas_Object *obj, const char *part)
170 __WDUG_LOG_FUNC_ENTER__;
171 struct ug_data *ugd = (struct ug_data *) data;
174 WDUG_LOGE("Incorrect parameter(NULL)\n");
178 if (!strcmp(part, "elm.text")) {
179 if (ugd->multiconn_view_genlist != NULL) {
180 // It's called at Multi connect view...
181 if (ugd->gl_available_dev_cnt_at_multiconn_view > 0) {
182 return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES"));
184 return strdup(_("IDS_WFD_BODY_WIFI_DIRECT_DEVICES"));
187 // It's called at Main View
188 if (ugd->gl_available_peer_cnt > 0) {
189 return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES"));
191 return strdup(_("IDS_WFD_BODY_WIFI_DIRECT_DEVICES"));
196 __WDUG_LOG_FUNC_EXIT__;
201 * This function let the ug get the content of titile
202 * @return the content of titile
203 * @param[in] data the pointer to the main data structure
204 * @param[in] obj the pointer to the evas object
205 * @param[in] part the pointer to the part of item
207 static Evas_Object *_gl_title_content_get(void *data, Evas_Object *obj, const char *part)
209 Evas_Object *progressbar = NULL;
210 struct ug_data *ugd = (struct ug_data *) data;
213 WDUG_LOGE("Incorrect parameter(NULL)\n");
217 if (!strcmp(part, "elm.icon")) {
218 if (HEAD_TEXT_TYPE_SCANING == ugd->head_text_mode) {
219 progressbar = elm_progressbar_add(obj);
220 elm_object_style_set(progressbar, "list_process_small");
221 elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
222 elm_progressbar_pulse(progressbar, EINA_TRUE);
223 evas_object_show(progressbar);
233 * This function let the ug get the label of peer item
234 * @return the label of peer item
235 * @param[in] data the pointer to the main data structure
236 * @param[in] obj the pointer to the evas object
237 * @param[in] part the pointer to the part of item
239 static char *_gl_peer_label_get(void *data, Evas_Object *obj, const char *part)
241 __WDUG_LOG_FUNC_ENTER__;
242 assertm_if(NULL == obj, "NULL!!");
243 assertm_if(NULL == part, "NULL!!");
244 device_type_s *peer = (device_type_s *) data;
245 char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, };
246 WDUG_LOGI("%s", part);
249 WDUG_LOGE("Incorrect parameter(NULL)\n");
253 if (!strcmp(part, "elm.text.1")) {
254 __WDUG_LOG_FUNC_EXIT__;
255 return strdup(peer->ssid);
256 } else if (!strcmp(part, "elm.text.2")) {
257 switch (peer->conn_status) {
258 case PEER_CONN_STATUS_DISCONNECTED:
259 g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH);
261 case PEER_CONN_STATUS_CONNECTING:
262 g_strlcpy(buf, _("IDS_WFD_CONNECTING"), WFD_GLOBALIZATION_STR_LENGTH);
264 case PEER_CONN_STATUS_CONNECTED:
265 if (peer->is_group_owner == FALSE) {
266 g_strlcpy(buf, _("IDS_WFD_CONNECTED"), WFD_GLOBALIZATION_STR_LENGTH);
268 g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH);
271 case PEER_CONN_STATUS_FAILED_TO_CONNECT:
272 g_strlcpy(buf, _("IDS_WFD_FAILED_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH);
274 case PEER_CONN_STATUS_WAIT_FOR_CONNECT:
275 g_strlcpy(buf, _("IDS_WFD_WAITING_FOR_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH);
278 g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH);
282 __WDUG_LOG_FUNC_EXIT__;
286 __WDUG_LOG_FUNC_EXIT__;
291 * This function let the ug get the icon of peer item
292 * @return the icon of peer item
293 * @param[in] data the pointer to the main data structure
294 * @param[in] obj the pointer to the evas object
295 * @param[in] part the pointer to the part of item
297 static Evas_Object *_gl_peer_icon_get(void *data, Evas_Object *obj, const char *part)
299 __WDUG_LOG_FUNC_ENTER__;
300 assertm_if(NULL == obj, "NULL!!");
301 assertm_if(NULL == part, "NULL!!");
302 device_type_s *peer = (device_type_s *) data;
303 Evas_Object *icon = NULL;
304 struct ug_data *ugd = wfd_get_ug_data();
307 WDUG_LOGE("Incorrect parameter(NULL)\n");
311 if (!strcmp(part, "elm.icon.2")) {
312 WDUG_LOGI("elm.icon.2 - connection status [%d]\n", peer->conn_status);
313 if (peer->conn_status == PEER_CONN_STATUS_CONNECTING) {
314 icon = elm_progressbar_add(obj);
315 elm_object_style_set(icon, "list_process");
316 elm_progressbar_pulse(icon, EINA_TRUE);
317 } else if (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
321 evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
322 elm_icon_resizable_set(icon, 1, 1);
323 evas_object_show(icon);
324 } else if (!strcmp(part, "elm.icon.1")) {
325 WDUG_LOGI("elm.icon.1 - category [%d]\n", peer->category);
326 char *img_path = NULL;
329 status = wfd_get_device_status(ugd, peer);
332 * the icon of connected device is
333 * different from available and busy device
335 switch (peer->category) {
336 case WFD_DEVICE_TYPE_COMPUTER:
338 img_path = WFD_ICON_DEVICE_COMPUTER_CONNECT;
340 img_path = WFD_ICON_DEVICE_COMPUTER;
343 case WFD_DEVICE_TYPE_INPUT_DEVICE:
345 img_path = WFD_ICON_DEVICE_INPUT_DEVICE_CONNECT;
347 img_path = WFD_ICON_DEVICE_INPUT_DEVICE;
350 case WFD_DEVICE_TYPE_PRINTER:
352 img_path = WFD_ICON_DEVICE_PRINTER_CONNECT;
354 img_path = WFD_ICON_DEVICE_PRINTER;
357 case WFD_DEVICE_TYPE_CAMERA:
359 img_path = WFD_ICON_DEVICE_CAMERA_CONNECT;
361 img_path = WFD_ICON_DEVICE_CAMERA;
364 case WFD_DEVICE_TYPE_STORAGE:
366 img_path = WFD_ICON_DEVICE_STORAGE_CONNECT;
368 img_path = WFD_ICON_DEVICE_STORAGE;
371 case WFD_DEVICE_TYPE_NW_INFRA:
373 img_path = WFD_ICON_DEVICE_NETWORK_INFRA_CONNECT;
375 img_path = WFD_ICON_DEVICE_NETWORK_INFRA;
378 case WFD_DEVICE_TYPE_DISPLAYS:
380 img_path = WFD_ICON_DEVICE_DISPLAY_CONNECT;
382 img_path = WFD_ICON_DEVICE_DISPLAY;
385 case WFD_DEVICE_TYPE_MM_DEVICES:
387 img_path = WFD_ICON_DEVICE_MULTIMEDIA_DEVICE_CONNECT;
389 img_path = WFD_ICON_DEVICE_MULTIMEDIA_DEVICE;
392 case WFD_DEVICE_TYPE_GAME_DEVICES:
394 img_path = WFD_ICON_DEVICE_GAMING_DEVICE_CONNECT;
396 img_path = WFD_ICON_DEVICE_GAMING_DEVICE;
399 case WFD_DEVICE_TYPE_TELEPHONE:
401 img_path = WFD_ICON_DEVICE_TELEPHONE_CONNECT;
403 img_path = WFD_ICON_DEVICE_TELEPHONE;
406 case WFD_DEVICE_TYPE_AUDIO:
408 img_path = WFD_ICON_DEVICE_AUDIO_DEVICE_CONNECT;
410 img_path = WFD_ICON_DEVICE_AUDIO_DEVICE;
415 img_path = WFD_ICON_DEVICE_COMPUTER_CONNECT;
417 img_path = WFD_ICON_DEVICE_COMPUTER;
422 if (img_path != NULL) {
423 icon = elm_icon_add(obj);
424 elm_icon_file_set(icon, img_path, NULL);
425 evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
426 elm_icon_resizable_set(icon, 1, 1);
427 evas_object_show(icon);
433 __WDUG_LOG_FUNC_EXIT__;
438 * This function let the ug get the text of no device item
439 * @return the text of no device item
440 * @param[in] data the pointer to the main data structure
441 * @param[in] obj the pointer to the evas object
442 * @param[in] part the pointer to the part of item
444 static char *_gl_noitem_text_get(void *data, Evas_Object *obj, const char *part)
446 __WDUG_LOG_FUNC_ENTER__;
449 WDUG_LOGE("Incorrect parameter(NULL)\n");
453 __WDUG_LOG_FUNC_EXIT__;
454 return strdup(_("IDS_WFD_NOCONTENT"));
458 * This function let the ug get the multi connect button
459 * @return the multi connect button
460 * @param[in] data the pointer to the main data structure
461 * @param[in] obj the pointer to the evas object
462 * @param[in] part the pointer to the part of item
464 static Evas_Object *_gl_button_get(void *data, Evas_Object *obj, const char *part)
466 __WDUG_LOG_FUNC_ENTER__;
467 struct ug_data *ugd = (struct ug_data *) data;
469 WDUG_LOGI("%s", part);
470 ugd->multi_btn = elm_button_add(obj);
471 wfd_refresh_wifi_direct_state(ugd);
473 if (ugd->wfd_status == WIFI_DIRECT_STATE_CONNECTING) {
474 elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_CANCEL"));
475 WDUG_LOGI("button: Cancel connect\n");
477 if (ugd->gl_connected_peer_cnt > 1) {
478 elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT_ALL"));
479 WDUG_LOGI("button: Disconnect All\n");
480 } else if (ugd->gl_connected_peer_cnt == 1) {
481 elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT"));
482 WDUG_LOGI("button: Disconnect\n");
484 elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_MULTI"));
485 WDUG_LOGI("button: Multi connect\n");
489 evas_object_smart_callback_add(ugd->multi_btn, "clicked", _wifid_create_multibutton_cb, ugd);
490 evas_object_show(ugd->multi_btn);
492 __WDUG_LOG_FUNC_EXIT__;
493 return ugd->multi_btn;
497 * This function let the ug get the title label of connected device list
498 * @return the title label of connected device list
499 * @param[in] data the pointer to the main data structure
500 * @param[in] obj the pointer to the evas object
501 * @param[in] part the pointer to the part of item
503 static char *_gl_conn_dev_title_label_get(void *data, Evas_Object *obj, const char *part)
505 __WDUG_LOG_FUNC_ENTER__;
508 WDUG_LOGE("Incorrect parameter(NULL)\n");
512 if (!strcmp(part, "elm.text")) {
513 return strdup(_("IDS_WFD_BODY_CONNECTED_DEVICES"));
516 __WDUG_LOG_FUNC_EXIT__;
521 * This function let the ug get the label of connected device
522 * @return the label of connected device
523 * @param[in] data the pointer to the main data structure
524 * @param[in] obj the pointer to the evas object
525 * @param[in] part the pointer to the part of item
527 static char *_gl_peer_conn_dev_label_get(void *data, Evas_Object *obj, const char *part)
529 __WDUG_LOG_FUNC_ENTER__;
530 assertm_if(NULL == obj, "NULL!!");
531 assertm_if(NULL == part, "NULL!!");
532 device_type_s *peer = (device_type_s *) data;
533 char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, };
534 WDUG_LOGI("%s", part);
537 WDUG_LOGE("Incorrect parameter(NULL)\n");
541 if (!strcmp(part, "elm.text.1")) {
542 return strdup(peer->ssid);
544 g_strlcpy(buf, _("IDS_WFD_CONNECTED"), WFD_GLOBALIZATION_STR_LENGTH);
545 __WDUG_LOG_FUNC_EXIT__;
551 * This function let the ug get the title label of connected failed device list
552 * @return the label of connected device
553 * @param[in] data the pointer to the main data structure
554 * @param[in] obj the pointer to the evas object
555 * @param[in] part the pointer to the part of item
557 static char *_gl_conn_failed_dev_title_label_get(void *data, Evas_Object *obj,
560 __WDUG_LOG_FUNC_ENTER__;
563 WDUG_LOGE("Incorrect parameter(NULL)\n");
567 if (!strcmp(part, "elm.text")) {
568 return strdup(IDS_WFD_BODY_FAILED_DEVICES);
571 __WDUG_LOG_FUNC_EXIT__;
576 * This function let the ug get the label of connected failed device
577 * @return the label of connected device
578 * @param[in] data the pointer to the main data structure
579 * @param[in] obj the pointer to the evas object
580 * @param[in] part the pointer to the part of item
582 static char *_gl_peer_conn_failed_dev_label_get(void *data, Evas_Object *obj, const char *part)
584 __WDUG_LOG_FUNC_ENTER__;
585 assertm_if(NULL == obj, "NULL!!");
586 assertm_if(NULL == part, "NULL!!");
587 device_type_s *peer = (device_type_s *) data;
588 char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, };
589 WDUG_LOGI("%s", part);
592 WDUG_LOGE("Incorrect parameter(NULL)\n");
596 if (!strcmp(part, "elm.text.1")) {
597 return strdup(peer->ssid);
599 g_strlcpy(buf, _("IDS_WFD_FAILED_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH);
600 __WDUG_LOG_FUNC_EXIT__;
606 * This function let the ug get the title label of multi connect list
607 * @return the label of connected device
608 * @param[in] data the pointer to the main data structure
609 * @param[in] obj the pointer to the evas object
610 * @param[in] part the pointer to the part of item
612 static char *_gl_multi_connect_dev_title_label_get(void *data, Evas_Object *obj, const char *part)
614 __WDUG_LOG_FUNC_ENTER__;
615 struct ug_data *ugd = wfd_get_ug_data();
618 WDUG_LOGE("Incorrect parameter(NULL)\n");
622 if (!strcmp(part, "elm.text")) {
623 if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_IN_PROGRESS) {
624 return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES"));
625 } else if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_COMPLETED) {
626 return strdup(IDS_WFD_BODY_FAILED_DEVICES);
630 __WDUG_LOG_FUNC_EXIT__;
635 * This function let the ug get the title label of busy device list
636 * @return the label of connected device
637 * @param[in] data the pointer to the main data structure
638 * @param[in] obj the pointer to the evas object
639 * @param[in] part the pointer to the part of item
641 static char *_gl_busy_dev_title_label_get(void *data, Evas_Object *obj,
644 __WDUG_LOG_FUNC_ENTER__;
647 WDUG_LOGE("Incorrect parameter(NULL)\n");
651 if (!strcmp(part, "elm.text")) {
652 return strdup(_("IDS_WFD_BODY_BUSY_DEVICES"));
655 __WDUG_LOG_FUNC_EXIT__;
660 * This function let the ug get the label of busy device
661 * @return the label of connected device
662 * @param[in] data the pointer to the main data structure
663 * @param[in] obj the pointer to the evas object
664 * @param[in] part the pointer to the part of item
666 static char *_gl_peer_busy_dev_label_get(void *data, Evas_Object *obj, const char *part)
668 __WDUG_LOG_FUNC_ENTER__;
669 assertm_if(NULL == obj, "NULL!!");
670 assertm_if(NULL == part, "NULL!!");
671 device_type_s *peer = (device_type_s *) data;
672 char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, };
673 WDUG_LOGI("%s", part);
676 WDUG_LOGE("Incorrect parameter(NULL)\n");
680 WDUG_LOGI("peer->ssid = %s", peer->ssid);
682 if (!strcmp(part, "elm.text.1")) {
683 return strdup(peer->ssid);
685 g_strlcpy(buf, _("IDS_WFD_CONNECTED_WITH_OTHER_DEVICE"), WFD_GLOBALIZATION_STR_LENGTH);
686 __WDUG_LOG_FUNC_EXIT__;
692 * This function let the ug delete the peer item
694 * @param[in] data the pointer to the main data structure
695 * @param[in] obj the pointer to the evas object
697 static void _gl_peer_del(void *data, Evas_Object *obj)
699 __WDUG_LOG_FUNC_ENTER__;
700 assertm_if(NULL == obj, "NULL!!");
701 assertm_if(NULL == data, "NULL!!");
703 __WDUG_LOG_FUNC_EXIT__;
708 * This function let the ug initialize the items of genlist
711 void initialize_gen_item_class()
713 __WDUG_LOG_FUNC_ENTER__;
714 head_itc.item_style = "dialogue/2text.1icon.10";
715 head_itc.func.text_get = _gl_header_label_get;
716 head_itc.func.content_get = _gl_header_icon_get;
717 head_itc.func.state_get = NULL;
719 name_itc.item_style = "dialogue/1text";
720 name_itc.func.text_get = _gl_name_label_get;
721 name_itc.func.content_get = NULL;
722 name_itc.func.state_get = NULL;
723 name_itc.func.del = NULL;
725 title_itc.item_style = "dialogue/title";
726 title_itc.func.text_get = _gl_title_label_get;
727 title_itc.func.content_get = _gl_title_content_get;
728 title_itc.func.state_get = NULL;
729 title_itc.func.del = NULL;
731 peer_itc.item_style = "dialogue/2text.2icon.3";
732 peer_itc.func.text_get = _gl_peer_label_get;
733 peer_itc.func.content_get = _gl_peer_icon_get;
734 peer_itc.func.state_get = NULL;
735 peer_itc.func.del = _gl_peer_del;
737 noitem_itc.item_style = "dialogue/1text";
738 noitem_itc.func.text_get = _gl_noitem_text_get;
739 noitem_itc.func.content_get = NULL;
740 noitem_itc.func.state_get = NULL;
741 noitem_itc.func.del = NULL;
743 button_itc.item_style = "1icon";
744 button_itc.func.text_get = NULL;
745 button_itc.func.content_get = _gl_button_get;
746 button_itc.func.state_get = NULL;
747 button_itc.func.del = NULL;
749 title_conn_itc.item_style = "dialogue/title";
750 title_conn_itc.func.text_get = _gl_conn_dev_title_label_get;
751 title_conn_itc.func.content_get = NULL;
752 title_conn_itc.func.state_get = NULL;
753 title_conn_itc.func.del = NULL;
755 peer_conn_itc.item_style = "dialogue/2text.2icon.3";
756 peer_conn_itc.func.text_get = _gl_peer_conn_dev_label_get;
757 peer_conn_itc.func.content_get = _gl_peer_icon_get;
758 peer_conn_itc.func.state_get = NULL;
759 peer_conn_itc.func.del = _gl_peer_del;
761 title_conn_failed_itc.item_style = "dialogue/title";
762 title_conn_failed_itc.func.text_get = _gl_conn_failed_dev_title_label_get;
763 title_conn_failed_itc.func.content_get = NULL;
764 title_conn_failed_itc.func.state_get = NULL;
765 title_conn_failed_itc.func.del = NULL;
767 peer_conn_failed_itc.item_style = "dialogue/2text.2icon.3";
768 peer_conn_failed_itc.func.text_get = _gl_peer_conn_failed_dev_label_get;
769 peer_conn_failed_itc.func.content_get = _gl_peer_icon_get;
770 peer_conn_failed_itc.func.state_get = NULL;
771 peer_conn_failed_itc.func.del = _gl_peer_del;
773 title_busy_itc.item_style = "dialogue/title";
774 title_busy_itc.func.text_get = _gl_busy_dev_title_label_get;
775 title_busy_itc.func.content_get = NULL;
776 title_busy_itc.func.state_get = NULL;
777 title_busy_itc.func.del = NULL;
779 peer_busy_itc.item_style = "dialogue/2text.2icon.3";
780 peer_busy_itc.func.text_get = _gl_peer_busy_dev_label_get;
781 peer_busy_itc.func.content_get = _gl_peer_icon_get;
782 peer_busy_itc.func.state_get = NULL;
783 peer_busy_itc.func.del = _gl_peer_del;
785 title_multi_connect_itc.item_style = "dialogue/title";
786 title_multi_connect_itc.func.text_get = _gl_multi_connect_dev_title_label_get;
787 title_multi_connect_itc.func.content_get = NULL;
788 title_multi_connect_itc.func.state_get = NULL;
789 title_multi_connect_itc.func.del = NULL;
791 __WDUG_LOG_FUNC_EXIT__;