tizen 2.4 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 #ifdef LOG_TAG
47 #undef LOG_TAG
48 #endif
49
50 #define LOG_TAG "UG_NFC_SETTING"
51
52 #define NFCUG_TEXT_DOMAIN       PACKAGE
53 #define NFCUG_LOCALEDIR LOCALE_PATH
54
55 #define POPUP_TEXT_SIZE 1024
56
57
58 /* Registered string in STMS NFC */
59 #define IDS_NFC_NFC     \
60         dgettext(PACKAGE, "IDS_NFC_BODY_NFC")
61 #define IDS_NFC_DESCRIPTION_MSG \
62         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")
63 #define IDS_NFC_S_BEAM  \
64         dgettext(PACKAGE, "IDS_NFC_OPT_S_BEAM")
65 #define IDS_USE_NFC_IN_HOME     \
66         dgettext(PACKAGE, "IDS_NFC_OPT_USE_NFC_IN_HOME_ABB")
67 #define IDS_NFC_TURNED_ON       \
68         dgettext(PACKAGE, "IDS_NFC_BODY_NFC_TURNED_ON")
69 #define IDS_NFC_SECURE_STORAGE_HEADER   \
70         dgettext(PACKAGE, "IDS_NFC_HEADER_NFC_SECURE_STORAGE_ABB")
71 #define IDS_NFC_SECURE_STORAGE_BODY     \
72         dgettext(PACKAGE, "IDS_NFC_MBODY_NFC_SECURE_STORAGE")
73 #define IDS_NFC_SECURE_STORAGE_ITEM_MAN \
74         dgettext(PACKAGE, "IDS_NFC_OPT_MANUAL")
75 #define IDS_NFC_SECURE_STORAGE_ITEM_AUTO        \
76         dgettext(PACKAGE, "IDS_NFC_OPT_AUTOMATIC")
77 #define IDS_NFC_DO_NOT_SHOW_AGAIN       \
78         dgettext(PACKAGE, "IDS_NFC_BODY_DO_NOT_SHOW_AGAIN_ABB2")
79 #define IDS_FAILED_TO_TURN_ON_NFC       \
80         dgettext(PACKAGE, "IDS_NFC_HEADER_FAILED_TO_TURN_ON_NFC_ABB")
81 #define IDS_AN_ERROR_OCCURRED_WHILE_TURNING_ON_NFC_TRY_AGAIN    \
82         dgettext(PACKAGE, "IDS_NFC_POP_AN_ERROR_OCCURRED_WHILE_TURNING_ON_NFC_TRY_AGAIN")
83
84 #define IDS_SECURITY_POLICY_RESTRICTS_USE_OF_PS \
85         dgettext(PACKAGE, "IDS_COM_BODY_SECURITY_POLICY_RESTRICTS_USE_OF_PS")
86 #define IDS_NONE        \
87         dgettext(PACKAGE, "IDS_COM_BODY_NONE")
88 #define IDS_CLOSE       \
89         dgettext(PACKAGE, "IDS_COM_POP_CLOSE")
90 #define IDS_OK  \
91         dgettext(PACKAGE, "IDS_COM_SK_OK")
92 #define IDS_NFC_SERVICE_IS_NOT_SUPPORTED        \
93         dgettext(PACKAGE, "IDS_TAGS_POP_NFC_SERVICE_IS_NOT_SUPPORTED")
94
95 #define IDS_NFC_SECURE_STORAGE_ITEM_MAN_DSC     \
96         dgettext(PACKAGE, "IDS_ST_BODY_USE_YOUR_SIM_CARD_FOR_SECURE_STORAGE")
97 #define IDS_NFC_SECURE_STORAGE_ITEM_AUTO_DSC    \
98         dgettext(PACKAGE, "IDS_ST_BODY_SWITCH_AUTOMATICALLY_BETWEEN_USING_YOUR_SIM_CARD_AND_THE_ON_DEVICE_SECURE_STORAGE")
99 #define IDS_NFC_SECURE_STORAGE_TIPS     \
100         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")
101
102 /* The following texts will be used by NFC Manager */
103 // IDS_NFC_TPOP_TAG_TYPE_NOT_SUPPORTED
104
105
106 typedef enum {
107         MENU_NFC = 0,
108         MENU_MAX
109 } NFCSettingMenuType;
110
111 typedef enum {
112         NFC_PREDEFINED_ITEM = 0,
113         NFC_SECURE_STORAGE,
114         NFC_SECURE_STORAGE_MAN,
115         NFC_SECURE_STORAGE_MAN_DES,
116         NFC_SECURE_STORAGE_AUTO,
117         NFC_SECURE_STORAGE_AUTO_DES,
118         NFC_SETTING_MAX
119 } NFCSettingType;
120
121 enum {
122         UG_FONT_LIST = 0,
123         UG_FONT_SBEAM_TITLE,
124         UG_FONT_LIVEBOX,
125         UG_FONT_MAX,
126 };
127
128 enum {
129         UG_ALIGN_LEFT,
130         UG_ALIGN_CENTER,
131         UG_ALIGN_RIGHT,
132 };
133
134 typedef struct {
135         Evas_Object* ug_win_main;
136         ui_gadget_h nfc_setting_ug;
137         Evas_Object* base_layout;
138         Evas_Object *bg;
139         Evas_Object* ns_genlist;
140         Evas_Object* pd_genlist;
141         Evas_Object* ss_genlist;
142         Evas_Object* base_naviframe;
143         Evas_Object* ns_on_off;
144         Evas_Object* pd_on_off;
145         Evas_Object* popup;
146
147         Elm_Object_Item *base_navi_it;
148
149         NFCSettingMenuType menu_type;
150         guint h_ctxpop_res_t;
151         guint h_auto_t;
152         guint onoff_comp_t;
153         Evas_Object* more_bt;
154         Evas_Object* ctxpopup; /* for more button */
155
156         app_control_h service;
157 }ugdata_t;
158
159 typedef struct {
160         NFCSettingType type;
161         ugdata_t *data;
162 } gl_item_data;
163
164 /************************** API **************************/
165 void _ug_nfc_secure_storage_create(void *data);
166
167 #ifdef __cplusplus
168 }
169 #endif
170
171 #endif /*__UG_NFC_SETTING_MAIN_H__*/