tizen 2.3 release
[apps/home/ug-nfc-efl.git] / ug-nfc-setting-efl / include / ug-nfc-setting-main.h
index a37b37e..ac8e612 100644 (file)
@@ -1,7 +1,7 @@
 /*
   * Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd.
   *
-  * Licensed under the Flora License, Version 1.1 (the "License");
+  * Licensed under the Flora License, Version 1.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
 
@@ -32,85 +32,153 @@ extern "C" {
 #include <dlog.h>
 #include <vconf.h>
 #include <nfc.h>
+#include <app_manager.h>
+#include <app_info.h>
+#include <glib.h>
 
-#define LOCALE_PATH            LOCALEDIR
-#define EDJ_PATH               EDJDIR
-#define EDJ_FILE                       EDJ_PATH"/"PACKAGE".edj"
 
-#define PREDEFINED_ITEM_FILE_PATH              "/usr/apps/org.tizen.57r43275q7/share"
+
+#define LOCALE_PATH    LOCALEDIR
+#define ICON_PATH      ICONDIR
+#define EDJ_PATH       EDJDIR
+#define EDJ_FILE       EDJ_PATH"/"PACKAGE".edj"
+
+#define PREDEFINED_ITEM_FILE_PATH      \
+       "/usr/apps/org.tizen.57r43275q7/share"
+#define SECURE_STORAGE_FIRST_TIME_POPUP_SHOW_KEY       \
+       "db/private/ug-nfc-setting-efl/first_time_secure_storage_popup_show"
 
 #ifdef LOG_TAG
 #undef LOG_TAG
 #endif
 
-#define LOG_TAG "UG_NFC_EFL_SETTING"
+#define LOG_TAG "UG_NFC_SETTING"
 
-#define NFCUG_TEXT_DOMAIN              PACKAGE
-#define NFCUG_LOCALEDIR                LOCALE_PATH
+#define NFCUG_TEXT_DOMAIN      PACKAGE
+#define NFCUG_LOCALEDIR        LOCALE_PATH
 
 #define POPUP_TEXT_SIZE        1024
 
+
 /* Registered string in STMS NFC */
-#define IDS_NFC_NFC                                    dgettext(PACKAGE, "IDS_NFC_BODY_NFC")
-#define IDS_NFC_DESCRIPTION_MSG                        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")
-#define IDS_NFC_S_BEAM                                 dgettext(PACKAGE, "IDS_NFC_OPT_S_BEAM")
-#define IDS_NFC_S_BEAM_DESCRIPTION_MSG         dgettext(PACKAGE, "IDS_ST_BODY_WHEN_THIS_FEATURE_IS_TURNED_ON_YOU_CAN_BEAM_FILES_TO_OTHER_NFC_AND_WI_FI_DIRECT_DEVICES_BY_HOLDING_THE_DEVICES_CLOSE_TOGETHER_FOR_EXAMPLE_YOU_CAN_BEAM_IMAGE_VIDEO_FILES_FROM_THE_GALLERY_AND_MORE_MSG")
-#define IDS_PREDEFINED_ITEM                            dgettext(PACKAGE, "IDS_NFC_BODY_PREDEFINED_ITEM_ABB")
-#define IDS_PREDEFINED_ITEM_DESCRIPTION_MSG            dgettext(PACKAGE, "IDS_NFC_BODY_YOU_CAN_BEAM_PREDEFINED_ITEMS_TO_ANOTHER_NFC_DEVICE_JUST_BRING_THE_DEVICES_CLOSE_TOGETHER_MSG")
-#define IDS_SECURITY_POLICY_RESTRICTS_USE_OF_PS        dgettext(PACKAGE, "IDS_COM_BODY_SECURITY_POLICY_RESTRICTS_USE_OF_PS")
-
-#define IDS_NONE                                       dgettext("sys_string", "IDS_COM_BODY_NONE")
-#define IDS_CLOSE                                      dgettext("sys_string", "IDS_COM_POP_CLOSE")
-
-/* will be deleted */
-#define IDS_NFC_SERVICE_IS_NOT_SUPPORTED               _("NFC service is not supported")
-
-typedef enum _NFCSettingType {
-       NFC_ON_OFF = 0,
-       NFC_PREDEFINED_ITEM,
+#define IDS_NFC_NFC    \
+       dgettext(PACKAGE, "IDS_NFC_BODY_NFC")
+#define IDS_NFC_DESCRIPTION_MSG        \
+       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")
+#define IDS_NFC_S_BEAM \
+       dgettext(PACKAGE, "IDS_NFC_OPT_S_BEAM")
+#define IDS_USE_NFC_IN_HOME    \
+       dgettext(PACKAGE, "IDS_NFC_OPT_USE_NFC_IN_HOME_ABB")
+#define IDS_NFC_TURNED_ON      \
+       dgettext(PACKAGE, "IDS_NFC_BODY_NFC_TURNED_ON")
+#define IDS_NFC_SECURE_STORAGE_HEADER  \
+       dgettext(PACKAGE, "IDS_NFC_HEADER_NFC_SECURE_STORAGE_ABB")
+#define IDS_NFC_SECURE_STORAGE_BODY    \
+       dgettext(PACKAGE, "IDS_NFC_MBODY_NFC_SECURE_STORAGE")
+#define IDS_NFC_SECURE_STORAGE_ITEM_MAN        \
+       dgettext(PACKAGE, "IDS_NFC_OPT_MANUAL")
+#define IDS_NFC_SECURE_STORAGE_ITEM_AUTO       \
+       dgettext(PACKAGE, "IDS_NFC_OPT_AUTOMATIC")
+#define IDS_NFC_DO_NOT_SHOW_AGAIN      \
+       dgettext(PACKAGE, "IDS_NFC_BODY_DO_NOT_SHOW_AGAIN_ABB2")
+#define IDS_FAILED_TO_TURN_ON_NFC      \
+       dgettext(PACKAGE, "IDS_NFC_HEADER_FAILED_TO_TURN_ON_NFC_ABB")
+#define IDS_AN_ERROR_OCCURRED_WHILE_TURNING_ON_NFC_TRY_AGAIN   \
+       dgettext(PACKAGE, "IDS_NFC_POP_AN_ERROR_OCCURRED_WHILE_TURNING_ON_NFC_TRY_AGAIN")
+
+#define IDS_SECURITY_POLICY_RESTRICTS_USE_OF_PS        \
+       dgettext(PACKAGE, "IDS_COM_BODY_SECURITY_POLICY_RESTRICTS_USE_OF_PS")
+#define IDS_NONE       \
+       dgettext(PACKAGE, "IDS_COM_BODY_NONE")
+#define IDS_CLOSE      \
+       dgettext(PACKAGE, "IDS_COM_POP_CLOSE")
+#define IDS_OK \
+       dgettext(PACKAGE, "IDS_COM_SK_OK")
+
+#define IDS_PREDEFINED_ITEM_DESCRIPTION_MSG    \
+       dgettext(PACKAGE, "IDS_TAGS_BODY_WHEN_THIS_FEATURE_IS_ENABLED_YOU_CAN_SEND_PREDEFINED_ITEMS_VIA_NFC_WHILE_YOU_ARE_ON_THE_HOME_SCREEN")
+#define IDS_NFC_S_BEAM_DESCRIPTION_MSG \
+       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")
+#define IDS_NFC_SERVICE_IS_NOT_SUPPORTED       \
+       dgettext(PACKAGE, "IDS_TAGS_POP_NFC_SERVICE_IS_NOT_SUPPORTED")
+
+#define IDS_NFC_SECURE_STORAGE_ITEM_MAN_DSC    \
+       dgettext(PACKAGE, "IDS_ST_BODY_USE_YOUR_SIM_CARD_FOR_SECURE_STORAGE")
+#define IDS_NFC_SECURE_STORAGE_ITEM_AUTO_DSC   \
+       dgettext(PACKAGE, "IDS_ST_BODY_SWITCH_AUTOMATICALLY_BETWEEN_USING_YOUR_SIM_CARD_AND_THE_ON_DEVICE_SECURE_STORAGE")
+#define IDS_NFC_SECURE_STORAGE_TIPS    \
+       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")
+
+/* The following texts will be used by NFC Manager */
+// IDS_NFC_TPOP_TAG_TYPE_NOT_SUPPORTED
+
+
+typedef enum {
+       MENU_NFC = 0,
+#ifdef _SBEAM_SUPPORT_
+       MENU_SBEAM,
+#endif
+       MENU_MAX
+} NFCSettingMenuType;
+
+typedef enum {
+       NFC_PREDEFINED_ITEM = 0,
+       NFC_SECURE_STORAGE,
+       NFC_SECURE_STORAGE_MAN,
+       NFC_SECURE_STORAGE_MAN_DES,
+       NFC_SECURE_STORAGE_AUTO,
+       NFC_SECURE_STORAGE_AUTO_DES,
        NFC_SETTING_MAX
 } NFCSettingType;
 
-enum
-{
+enum {
        UG_FONT_LIST = 0,
        UG_FONT_SBEAM_TITLE,
        UG_FONT_LIVEBOX,
-       UG_FONT_HELP,
        UG_FONT_MAX,
 };
 
-enum
-{
+enum {
        UG_ALIGN_LEFT,
        UG_ALIGN_CENTER,
        UG_ALIGN_RIGHT,
 };
 
-typedef struct _ugdata_t
-{
+typedef struct {
        Evas_Object* ug_win_main;
        ui_gadget_h nfc_setting_ug;
        Evas_Object* base_layout;
        Evas_Object *bg;
-
+       Evas_Object* ns_genlist;
+       Evas_Object* pd_genlist;
+       Evas_Object* ss_genlist;
        Evas_Object* base_naviframe;
+       Evas_Object* ns_on_off;
+       Evas_Object* pd_on_off;
+       Evas_Object* popup;
+
        Elm_Object_Item *base_navi_it;
+
+       NFCSettingMenuType menu_type;
+       guint h_ctxpop_res_t;
+       guint h_auto_t;
+       guint onoff_comp_t;
+       Evas_Object* more_bt;
+       Evas_Object* ctxpopup; /* for more button */
+
+       app_control_h service;
 }ugdata_t;
 
-typedef struct _gl_item_data_t
-{
+typedef struct {
        NFCSettingType type;
        ugdata_t *data;
-}gl_item_data;
-
+} gl_item_data;
 
 /************************** API **************************/
-void _change_nfc_predefined_item_setting(void *data);
+void __change_predefined_item_onoff_setting(void *data);
 bool _ug_nfc_check_predefined_item_available(void);
-Evas_Object *_ug_nfc_create_predefined_item_list(void *data);
-void _ug_nfc_destroy_predefined_item_list(void *data, Evas_Object *obj, void *event_info);
-
+void _ug_nfc_predefined_item_create(void *data);
+void _ug_nfc_secure_storage_create(void *data);
 
 #ifdef __cplusplus
 }