tizen 2.3 release
[apps/home/ug-nfc-efl.git] / ug-nfc-setting-efl / include / ug-nfc-setting-main.h
1 /*
2   * Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd.
3   *
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
7
8   *     http://floralicense.org/license/
9   *
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.
15   */
16
17
18 #ifndef __UG_NFC_SETTING_MAIN_H__
19 #define __UG_NFC_SETTING_MAIN_H__
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24
25 #include <stdio.h>
26 #include <ui-gadget-module.h>
27 #include <Evas.h>
28 #include <Ecore.h>
29 #include <Ecore_X.h>
30 #include <Elementary.h>
31 #include <bundle.h>
32 #include <dlog.h>
33 #include <vconf.h>
34 #include <nfc.h>
35 #include <app_manager.h>
36 #include <app_info.h>
37 #include <glib.h>
38
39
40
41 #define LOCALE_PATH     LOCALEDIR
42 #define ICON_PATH       ICONDIR
43 #define EDJ_PATH        EDJDIR
44 #define EDJ_FILE        EDJ_PATH"/"PACKAGE".edj"
45
46 #define PREDEFINED_ITEM_FILE_PATH       \
47         "/usr/apps/org.tizen.57r43275q7/share"
48 #define SECURE_STORAGE_FIRST_TIME_POPUP_SHOW_KEY        \
49         "db/private/ug-nfc-setting-efl/first_time_secure_storage_popup_show"
50
51 #ifdef LOG_TAG
52 #undef LOG_TAG
53 #endif
54
55 #define LOG_TAG "UG_NFC_SETTING"
56
57 #define NFCUG_TEXT_DOMAIN       PACKAGE
58 #define NFCUG_LOCALEDIR LOCALE_PATH
59
60 #define POPUP_TEXT_SIZE 1024
61
62
63 /* Registered string in STMS NFC */
64 #define IDS_NFC_NFC     \
65         dgettext(PACKAGE, "IDS_NFC_BODY_NFC")
66 #define IDS_NFC_DESCRIPTION_MSG \
67         dgettext(PACKAGE, "IDS_NFC_BODY_WHEN_NFC_IS_ON_YOU_CAN_SEND_OR_RECEIVE_DATA_WHEN_YOUR_DEVICE_TOUCHES_OTHER_NFC_CAPABLE_DEVICES_OR_NFC_TAGS")
68 #define IDS_NFC_S_BEAM  \
69         dgettext(PACKAGE, "IDS_NFC_OPT_S_BEAM")
70 #define IDS_USE_NFC_IN_HOME     \
71         dgettext(PACKAGE, "IDS_NFC_OPT_USE_NFC_IN_HOME_ABB")
72 #define IDS_NFC_TURNED_ON       \
73         dgettext(PACKAGE, "IDS_NFC_BODY_NFC_TURNED_ON")
74 #define IDS_NFC_SECURE_STORAGE_HEADER   \
75         dgettext(PACKAGE, "IDS_NFC_HEADER_NFC_SECURE_STORAGE_ABB")
76 #define IDS_NFC_SECURE_STORAGE_BODY     \
77         dgettext(PACKAGE, "IDS_NFC_MBODY_NFC_SECURE_STORAGE")
78 #define IDS_NFC_SECURE_STORAGE_ITEM_MAN \
79         dgettext(PACKAGE, "IDS_NFC_OPT_MANUAL")
80 #define IDS_NFC_SECURE_STORAGE_ITEM_AUTO        \
81         dgettext(PACKAGE, "IDS_NFC_OPT_AUTOMATIC")
82 #define IDS_NFC_DO_NOT_SHOW_AGAIN       \
83         dgettext(PACKAGE, "IDS_NFC_BODY_DO_NOT_SHOW_AGAIN_ABB2")
84 #define IDS_FAILED_TO_TURN_ON_NFC       \
85         dgettext(PACKAGE, "IDS_NFC_HEADER_FAILED_TO_TURN_ON_NFC_ABB")
86 #define IDS_AN_ERROR_OCCURRED_WHILE_TURNING_ON_NFC_TRY_AGAIN    \
87         dgettext(PACKAGE, "IDS_NFC_POP_AN_ERROR_OCCURRED_WHILE_TURNING_ON_NFC_TRY_AGAIN")
88
89 #define IDS_SECURITY_POLICY_RESTRICTS_USE_OF_PS \
90         dgettext(PACKAGE, "IDS_COM_BODY_SECURITY_POLICY_RESTRICTS_USE_OF_PS")
91 #define IDS_NONE        \
92         dgettext(PACKAGE, "IDS_COM_BODY_NONE")
93 #define IDS_CLOSE       \
94         dgettext(PACKAGE, "IDS_COM_POP_CLOSE")
95 #define IDS_OK  \
96         dgettext(PACKAGE, "IDS_COM_SK_OK")
97
98 #define IDS_PREDEFINED_ITEM_DESCRIPTION_MSG     \
99         dgettext(PACKAGE, "IDS_TAGS_BODY_WHEN_THIS_FEATURE_IS_ENABLED_YOU_CAN_SEND_PREDEFINED_ITEMS_VIA_NFC_WHILE_YOU_ARE_ON_THE_HOME_SCREEN")
100 #define IDS_NFC_S_BEAM_DESCRIPTION_MSG  \
101         dgettext(PACKAGE, "IDS_TAGS_BODY_WHEN_S_BEAM_IS_TURNED_ON_YOU_CAN_SEND_OR_RECEIVE_FILES_WHEN_YOUR_DEVICE_IS_CLOSE_TO_OTHER_NFC_AND_WI_FI_DIRECT_DEVICES_MSG")
102 #define IDS_NFC_SERVICE_IS_NOT_SUPPORTED        \
103         dgettext(PACKAGE, "IDS_TAGS_POP_NFC_SERVICE_IS_NOT_SUPPORTED")
104
105 #define IDS_NFC_SECURE_STORAGE_ITEM_MAN_DSC     \
106         dgettext(PACKAGE, "IDS_ST_BODY_USE_YOUR_SIM_CARD_FOR_SECURE_STORAGE")
107 #define IDS_NFC_SECURE_STORAGE_ITEM_AUTO_DSC    \
108         dgettext(PACKAGE, "IDS_ST_BODY_SWITCH_AUTOMATICALLY_BETWEEN_USING_YOUR_SIM_CARD_AND_THE_ON_DEVICE_SECURE_STORAGE")
109 #define IDS_NFC_SECURE_STORAGE_TIPS     \
110         dgettext(PACKAGE, "IDS_ST_BODY_SELECTING_MANUAL_WILL_DISABLE_SOME_SECURE_FEATURES_SUCH_AS_NFC_PAYMENT_THAT_STORE_DATA_IN_THE_ON_DEVICE_SECURE_STORAGE")
111
112 /* The following texts will be used by NFC Manager */
113 // IDS_NFC_TPOP_TAG_TYPE_NOT_SUPPORTED
114
115
116 typedef enum {
117         MENU_NFC = 0,
118 #ifdef _SBEAM_SUPPORT_
119         MENU_SBEAM,
120 #endif
121         MENU_MAX
122 } NFCSettingMenuType;
123
124 typedef enum {
125         NFC_PREDEFINED_ITEM = 0,
126         NFC_SECURE_STORAGE,
127         NFC_SECURE_STORAGE_MAN,
128         NFC_SECURE_STORAGE_MAN_DES,
129         NFC_SECURE_STORAGE_AUTO,
130         NFC_SECURE_STORAGE_AUTO_DES,
131         NFC_SETTING_MAX
132 } NFCSettingType;
133
134 enum {
135         UG_FONT_LIST = 0,
136         UG_FONT_SBEAM_TITLE,
137         UG_FONT_LIVEBOX,
138         UG_FONT_MAX,
139 };
140
141 enum {
142         UG_ALIGN_LEFT,
143         UG_ALIGN_CENTER,
144         UG_ALIGN_RIGHT,
145 };
146
147 typedef struct {
148         Evas_Object* ug_win_main;
149         ui_gadget_h nfc_setting_ug;
150         Evas_Object* base_layout;
151         Evas_Object *bg;
152         Evas_Object* ns_genlist;
153         Evas_Object* pd_genlist;
154         Evas_Object* ss_genlist;
155         Evas_Object* base_naviframe;
156         Evas_Object* ns_on_off;
157         Evas_Object* pd_on_off;
158         Evas_Object* popup;
159
160         Elm_Object_Item *base_navi_it;
161
162         NFCSettingMenuType menu_type;
163         guint h_ctxpop_res_t;
164         guint h_auto_t;
165         guint onoff_comp_t;
166         Evas_Object* more_bt;
167         Evas_Object* ctxpopup; /* for more button */
168
169         app_control_h service;
170 }ugdata_t;
171
172 typedef struct {
173         NFCSettingType type;
174         ugdata_t *data;
175 } gl_item_data;
176
177 /************************** API **************************/
178 void __change_predefined_item_onoff_setting(void *data);
179 bool _ug_nfc_check_predefined_item_available(void);
180 void _ug_nfc_predefined_item_create(void *data);
181 void _ug_nfc_secure_storage_create(void *data);
182
183 #ifdef __cplusplus
184 }
185 #endif
186
187 #endif /*__UG_NFC_SETTING_MAIN_H__*/