tizen 2.0beta
[apps/native/ug-wifi-direct.git] / ug-wifidirect / include / wfd_ug_view.h
1 /*
2 *  WiFi-Direct UG
3 *
4 * Copyright 2012  Samsung Electronics Co., Ltd
5
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
9
10 * http://www.tizenopensource.org/license
11
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.
17 *
18 */
19
20 #ifndef __WFD_UG_VIEW_H__
21 #define __WFD_UG_VIEW_H__
22
23 #include <glib.h>
24 #include <syspopup_caller.h>
25
26 #define EDJDIR "/opt/ug/res/edje/ug-setting-wifidirect-efl"
27 #define WFD_UG_EDJ_PATH  EDJDIR"/wfd_ug.edj"
28 #define WFD_IMG_DIR "/opt/ug/res/images/ug-setting-wifidirect-efl"
29 #define TICKERNOTI_SYSPOPUP "tickernoti-syspopup"
30
31
32 /* Define icons */
33
34 #define WFD_ICON_DEVICE_COMPUTER                        WFD_IMG_DIR"/A09_device_computer.png"
35 #define WFD_ICON_DEVICE_INPUT_DEVICE                    WFD_IMG_DIR"/A09_device_input_device.png"
36 #define WFD_ICON_DEVICE_PRINTER                         WFD_IMG_DIR"/A09_device_printer.png"
37 #define WFD_ICON_DEVICE_CAMERA                          WFD_IMG_DIR"/A09_device_camera.png"
38 #define WFD_ICON_DEVICE_STORAGE                         WFD_IMG_DIR"/A09_device_storage.png"
39 #define WFD_ICON_DEVICE_NETWORK_INFRA                   WFD_IMG_DIR"/A09_device_network_infrastructure.png"
40 #define WFD_ICON_DEVICE_DISPLAY                         WFD_IMG_DIR"/A09_device_display.png"
41 #define WFD_ICON_DEVICE_MULTIMEDIA_DEVICE               WFD_IMG_DIR"/A09_device_multimedia_devices.png"
42 #define WFD_ICON_DEVICE_GAMING_DEVICE                   WFD_IMG_DIR"/A09_device_gaming_devices.png"
43 #define WFD_ICON_DEVICE_TELEPHONE                       WFD_IMG_DIR"/A09_device_telephone.png"
44 #define WFD_ICON_DEVICE_AUDIO_DEVICE                    WFD_IMG_DIR"/A09_device_audio_devices.png"
45
46 #define WFD_ICON_DEVICE_COMPUTER_CONNECT                WFD_IMG_DIR"/A09_device_computer_connect.png"
47 #define WFD_ICON_DEVICE_INPUT_DEVICE_CONNECT            WFD_IMG_DIR"/A09_device_input_device_connect.png"
48 #define WFD_ICON_DEVICE_PRINTER_CONNECT                 WFD_IMG_DIR"/A09_device_printer_connect.png"
49 #define WFD_ICON_DEVICE_CAMERA_CONNECT                  WFD_IMG_DIR"/A09_device_camera_connect.png"
50 #define WFD_ICON_DEVICE_STORAGE_CONNECT                 WFD_IMG_DIR"/A09_device_storage_connect.png"
51 #define WFD_ICON_DEVICE_NETWORK_INFRA_CONNECT           WFD_IMG_DIR"/A09_device_network_infrastructure_connect.png"
52 #define WFD_ICON_DEVICE_DISPLAY_CONNECT                 WFD_IMG_DIR"/A09_device_display_connect.png"
53 #define WFD_ICON_DEVICE_MULTIMEDIA_DEVICE_CONNECT       WFD_IMG_DIR"/A09_device_multimedia_devices_connect.png"
54 #define WFD_ICON_DEVICE_GAMING_DEVICE_CONNECT           WFD_IMG_DIR"/A09_device_gaming_devices_connect.png"
55 #define WFD_ICON_DEVICE_TELEPHONE_CONNECT               WFD_IMG_DIR"/A09_device_telephone_connect.png"
56 #define WFD_ICON_DEVICE_AUDIO_DEVICE_CONNECT            WFD_IMG_DIR"/A09_device_audio_devices_connect.png"
57
58 #define WFD_ICON_CONNECTED                              WFD_IMG_DIR"/A09_Connect.png"
59
60
61 enum
62 {
63     HEAD_TEXT_TYPE_DIRECT,
64     HEAD_TEXT_TYPE_DEACTIVATING,
65     HEAD_TEXT_TYPE_ACTIVATING,
66     HEAD_TEXT_TYPE_ACTIVATED,
67     HEAD_TEXT_TYPE_SCANING,
68 };
69
70 enum
71 {
72     /* User confirm */
73     POPUP_TYPE_WIFI_OFF,
74     POPUP_TYPE_HOTSPOT_OFF,
75
76     /* Activation */
77     POPUP_TYPE_ACTIVATE_FAIL,
78     POPUP_TYPE_DEACTIVATE_FAIL,
79
80     /* Connection */
81     POPUP_TYPE_LINK_TIMEOUT,
82     POPUP_TYPE_AUTH_FAIL,
83     POPUP_TYPE_LINK_FAIL,
84     POPUP_TYPE_UNKNOWN_ERROR,
85
86     POPUP_TYPE_TERMINATE,
87
88     /* Disconnect */
89     POP_TYPE_DISCONNECT,
90
91     /* Disconnect All*/
92     POP_TYPE_DISCONNECT_ALL,
93
94     /* Scan again */
95     POP_TYPE_SCAN_AGAIN,
96
97     /* multi connect */
98     POP_TYPE_MULTI_CONNECT_POPUP,
99
100     /* Busy device */
101     POP_TYPE_BUSY_DEVICE_POPUP,
102 };
103
104 struct ug_data *wfd_get_ug_data();
105 void create_wfd_ug_view(void *data);
106 void destroy_wfd_ug_view(void *data);
107 void wfd_ug_view_refresh_glitem(void *obj);
108 void wfd_ug_view_refresh_button(void *obj, const char *text, int enable);
109 void wfd_ug_view_update_peers(void *data);
110 void wfd_ug_view_free_peers(void *data);
111 void wfd_ug_act_popup(void *data, const char *message, int popup_type);
112 void wfg_ug_act_popup_remove(void *data);
113 void wfd_ug_warn_popup(void *data, const char *message, int popup_type);
114 void wfg_ug_warn_popup_remove(void *data);
115 int _create_connected_dev_list(void *data);
116 int _change_multi_button_title(void *data);
117
118 void _wifid_create_about_view(struct ug_data *ugd);
119 void _wifid_create_multiconnect_view(struct ug_data *ugd);
120
121 void _sub_view_back_btn_cb(void *data, Evas_Object * obj, void *event_info);
122 void _back_btn_cb(void *data, Evas_Object * obj, void *event_info);
123 void _scan_btn_cb(void *data, Evas_Object * obj, void *event_info);
124
125 void _wfd_onoff_btn_cb(void *data, Evas_Object *obj, void *event_info);
126 void _wifid_create_multibutton_cb(void *data, Evas_Object * obj, void *event_info);
127
128 int wfd_ug_get_discovered_peers(struct ug_data *ugd);
129 int wfd_ug_get_connected_peers(struct ug_data *ugd);
130 int wfd_refresh_wifi_direct_state(void* data);
131
132 int wfd_multi_connect_next(void* data);
133 int wfd_stop_multi_connect(void *data);
134
135 gboolean wfd_multi_connect_next_cb(void* data);
136
137 void wfd_ug_tickernoti_popup(char *msg);
138
139 #endif  /* __WFD_UG_VIEW_H__ */