extern mgr_app_view_t mgr_app_view_app_list;
extern mgr_app_view_t mgr_app_view_app_info;
-extern mgr_app_view_t mgr_app_view_app_cert;
-extern mgr_app_view_t mgr_app_view_app_cert_sub;
-extern mgr_app_view_t mgr_app_view_app_cert_detail;
extern mgr_app_view_t mgr_app_view_app_current;
void _app_info_back_cb(void *data, Evas_Object *obj, void *event_info);
BuildRequires: pkgconfig(capi-appfw-app-manager)
BuildRequires: pkgconfig(appcore-efl)
BuildRequires: pkgconfig(appsvc)
-BuildRequires: pkgconfig(cert-svc)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(edje)
BuildRequires: pkgconfig(eina)
#include <Elementary.h>
#include <ui-gadget.h>
#include <ui-gadget-module.h>
-#include <libintl.h>
#include <glib.h>
-#include <cert-service.h>
#include <package-manager.h>
#define IMAGE_PATH PREFIX"/res/images"
typedef struct _mgr_app_app_info_t mgr_app_app_info_t;
-typedef struct _mgr_app_cert_t mgr_app_cert_t;
struct _mgr_app_app_info_t {
char *app_id;
Eina_Bool taskmanage;
};
-struct _mgr_app_cert_t {
- int suite_id;
- CERT_CONTEXT *ctx;
- char *title;
-};
-
struct ug_data {
Evas_Object *win_main;
Evas_Object *bg;
if (arg && !strncmp(arg, STR_MANAGE_APPLICATIONS, strlen(STR_MANAGE_APPLICATIONS))) {
mgr_app_view_create(&mgr_app_view_app_list, (void*)ugd);
} else {
- mgr_app_view_create(&mgr_app_view_app_cert, (void*)ugd);
+ MGR_APP_DEBUG_ERR("argument has an error.");
}
MGR_APP_END();
SET(SRCS
src/mgr-app-view-app-list.c
src/mgr-app-view-app-info.c
-src/mgr-app-view-app-cert.c
-src/mgr-app-view-app-cert-sub.c
-src/mgr-app-view-app-cert-detail.c
)
IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../ug/include)
INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs_view REQUIRED appcore-efl elementary dlog glib-2.0 evas edje eina ail pkgmgr appsvc cert-svc icu-i18n capi-appfw-application capi-appfw-app-manager ui-gadget-1)
+pkg_check_modules(pkgs_view REQUIRED appcore-efl elementary dlog glib-2.0 evas edje eina ail pkgmgr appsvc icu-i18n capi-appfw-application capi-appfw-app-manager ui-gadget-1)
FOREACH(flag ${pkgs_view_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+++ /dev/null
-/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-\r
-#include "mgr-app-common-debug.h"\r
-#include "mgr-app-common-error.h"\r
-#include "mgr-app-view-manager.h"\r
-#include "mgr-app-widget.h"\r
-#include "mgr-app-view-factory.h"\r
-#include "mgr-app-common-util.h"\r
-#include "mgr-app-uigadget.h"\r
-\r
-#include <cert-service.h>\r
-#include <openssl/sha.h>\r
-#include <time.h>\r
-#include <unistd.h>\r
-#include <stdbool.h>\r
-#include <sys/types.h>\r
-#include <unicode/udatpg.h>\r
-#include <unicode/udat.h>\r
-#include <unicode/ustring.h>\r
-#include <unicode/uloc.h>\r
-#include <appcore-common.h>\r
-\r
-\r
-#define NO_INFORMATION "no information"\r
-#define STR_ERROR "ERROR"\r
-\r
-#define MAX_BUF_SIZE 128\r
-#define CERT_MAX_DATA_SIZE 256\r
-#define BUF_SIZE_LOCALE 24\r
-#define BUF_SIZE_STRING 64\r
-#define BUF_SIZE_PATTERN 128\r
-#define BUF_SIZE_SKELETON 256\r
-\r
-#define ELM_TEXT_1 "elm.text.1"\r
-#define ELM_TEXT_2 "elm.text.2"\r
-#define ELM_TEXT "elm.text"\r
-#define ELM_TITLE "elm.title"\r
-\r
-#define ELM_ITC_DETAIL_ITEM_STYLE "2text.2" //"dialogue/2text.2"\r
-#define ELM_ITC_DETAIL_ITEM_MULTI_STYLE "multiline/2text"\r
-#define ELM_ITC_ITEM_SEPERATOR_21 "dialogue/separator/21/with_line"\r
-\r
-#define GENLIST_BLOCK_CNT 15\r
-\r
-enum _TITLE {\r
- ISSUER = 0,\r
- SUBJECT,\r
- VALID_FROM,\r
- VALID_UNTIL,\r
- SERIAL_NUMBER,\r
- THUMBPRINT,\r
- CERT_DETAIL_TITLE_COUNT\r
-};\r
-\r
-struct cert_detail {\r
- char *title;\r
- char *context;\r
-};\r
-\r
-static struct cert_detail itc_detail_val[CERT_DETAIL_TITLE_COUNT] = {\r
- {"IDS_ST_BODY_ISSUER", NULL},\r
- {"IDS_COM_BODY_SUBJECT", NULL},\r
- {"IDS_ST_BODY_VALID_FROM", NULL},\r
- {"IDS_ST_BODY_VALID_UNTIL", NULL},\r
- {"IDS_COM_BODY_SERIAL_NUMBER", NULL},\r
- {"IDS_ST_BODY_THUMBPRINT", NULL}\r
-};\r
-\r
-typedef struct _app_cert_detail_view_data_t app_cert_detail_view_data_t;\r
-\r
-struct _app_cert_detail_view_data_t {\r
- Evas_Object *genlist;\r
- Elm_Object_Item *cbar_item;\r
- mgr_app_cert_t *prev_cert;\r
- Ecore_Animator *animator;\r
-};\r
-\r
-static Evas_Object *mgr_app_view_app_cert_detail_create(void *data);\r
-static Evas_Object *mgr_app_view_app_cert_detail_set_cbar(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_set_navibar(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_destory(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_update(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_cleanup(void *data);\r
-\r
-static Evas_Object *__create_genlist_app_cert_detail(Evas_Object *parent, void *data);\r
-static void __ug_certi_slash2cr(char *cert);\r
-static mgr_app_result_e __ug_certi_detail_data_init();\r
-\r
-\r
-mgr_app_view_t mgr_app_view_app_cert_detail = {\r
- .create = mgr_app_view_app_cert_detail_create,\r
- .setcbar = mgr_app_view_app_cert_detail_set_cbar,\r
- .setnavibar = mgr_app_view_app_cert_detail_set_navibar,\r
- .destroy = mgr_app_view_app_cert_detail_destory,\r
- .update = mgr_app_view_app_cert_detail_update,\r
-};\r
-\r
-static Elm_Genlist_Item_Class *itc_detail = NULL;\r
-static Elm_Genlist_Item_Class *itc_detail_multi = NULL;\r
-static Elm_Genlist_Item_Class *itc_sep_21 = NULL;\r
-\r
-\r
-static void _app_cert_detail_next_cb(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
- mgr_app_view_create(&mgr_app_view_app_cert_detail, data);\r
- MGR_APP_END();\r
-}\r
-\r
-static void _app_cert_detail_back_cb(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- ret_if(mgr_app_view_app_cert_detail.view_common_data == NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- ret_if(view_common_data->user_view_data == NULL);\r
- app_cert_detail_view_data_t *app_cert_detail_view_data = view_common_data->user_view_data;\r
-\r
- if (app_cert_detail_view_data->animator) {\r
- ecore_animator_del(app_cert_detail_view_data->animator);\r
- }\r
- app_cert_detail_view_data->animator = NULL;\r
-\r
- mgr_app_view_common_back_cb(data, EINA_FALSE);\r
-\r
- elm_genlist_item_class_free(itc_detail);\r
- elm_genlist_item_class_free(itc_detail_multi);\r
- elm_genlist_item_class_free(itc_sep_21);\r
-\r
- MGR_APP_END();\r
-}\r
-\r
-/* callback for 'deletion' */\r
-static void _gl_del(void *data, Evas_Object *obj)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
-}\r
-\r
-static char *_gl_detail_label_get(void *data, Evas_Object *obj, const char *part)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- enum _TITLE index = (enum _TITLE)data;\r
- char *label = NULL;\r
-\r
- MGR_APP_DEBUG("part: %s", part);\r
-\r
- if (!strncmp(part, ELM_TEXT_1, strlen(ELM_TEXT_1)) || !strncmp(part, ELM_TITLE, strlen(ELM_TITLE))) {\r
- MGR_APP_DEBUG("detail elm.text.1 -> %s\n", itc_detail_val[index].title);\r
- label = strdup(dgettext(PACKAGE, itc_detail_val[index].title));\r
- } else if (!strncmp(part, ELM_TEXT_2, strlen(ELM_TEXT_2))) {\r
- MGR_APP_DEBUG("detail elm.text.2 -> %s\n", itc_detail_val[index].context);\r
- label = strdup(itc_detail_val[index].context);\r
- } else {\r
- label = strdup(STR_ERROR);\r
- }\r
-\r
- MGR_APP_END();\r
- return label;\r
-}\r
-\r
-static void __ug_certi_slash2cr(char *cert)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- char *strp = NULL;\r
- strp = cert;\r
-\r
- while (strp != NULL) {\r
- strp = strstr(cert, "/");\r
- if (strp != NULL) {\r
- *strp = ' ';\r
- }\r
- }\r
-\r
- MGR_APP_END();\r
-}\r
-\r
-static mgr_app_result_e __ug_certi_detail_data_init()\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- itc_detail_val[ISSUER].context = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(itc_detail_val[ISSUER].context == NULL, MGR_APP_ERROR);\r
- itc_detail_val[SUBJECT].context = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(itc_detail_val[SUBJECT].context == NULL, MGR_APP_ERROR);\r
- itc_detail_val[VALID_FROM].context = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(itc_detail_val[VALID_FROM].context == NULL, MGR_APP_ERROR);\r
- itc_detail_val[VALID_UNTIL].context = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(itc_detail_val[VALID_UNTIL].context == NULL, MGR_APP_ERROR);\r
- itc_detail_val[SERIAL_NUMBER].context = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(itc_detail_val[SERIAL_NUMBER].context == NULL, MGR_APP_ERROR);\r
- itc_detail_val[THUMBPRINT].context = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(itc_detail_val[THUMBPRINT].context == NULL, MGR_APP_ERROR);\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-static Eina_Bool _textblock_item_append_cb(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, ECORE_CALLBACK_CANCEL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, ECORE_CALLBACK_CANCEL);
- app_cert_detail_view_data_t *app_cert_detail_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(data == NULL, ECORE_CALLBACK_CANCEL);\r
- int index = (int)data;\r
- Elm_Object_Item *item = NULL;\r
-\r
- item = elm_genlist_item_append(app_cert_detail_view_data->genlist, itc_detail_multi, (void*)index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
- if (item) {\r
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
- } else {\r
- MGR_APP_DEBUG_ERR("itc_detail_multi item is null");\r
- }\r
-\r
- MGR_APP_END();\r
-\r
- //return ECORE_CALLBACK_RENEW;\r
- return ECORE_CALLBACK_CANCEL;\r
-}\r
-\r
-static time_t __convert_time_to_sec(int year, int mon, int day, int hour, int min, int sec)\r
-{\r
- struct tm tm_ptr = {0, };\r
-\r
- tm_ptr.tm_year = year - 1900;\r
- tm_ptr.tm_mon = mon - 1;\r
- tm_ptr.tm_mday = day;\r
- tm_ptr.tm_hour = hour;\r
- tm_ptr.tm_min = min;\r
- tm_ptr.tm_sec = sec;\r
-\r
- printf("time sec: %d\n", mktime(&tm_ptr));\r
- MGR_APP_END();\r
-\r
- return mktime(&tm_ptr);\r
-}\r
-\r
-static mgr_app_result_e __get_i18n_time_string(enum appcore_time_format time_format, time_t time_sec, char **p_formatted_date, char **p_formatted_time)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- char g_locale[BUF_SIZE_LOCALE] = {0, };\r
- enum appcore_time_format g_time_format = APPCORE_TIME_FORMAT_24;\r
- UDateTimePatternGenerator *g_pattern_gen = NULL;\r
- UChar g_best_pattern[BUF_SIZE_STRING] = {0, };\r
- UDateFormat *g_formatter_date = NULL;\r
- UDateFormat *g_formatter_time = NULL;\r
-\r
- bool is_locale_changed = FALSE;\r
- bool is_skeleton_changed = FALSE;\r
-\r
- char buf_date[BUF_SIZE_STRING] = {0, };\r
- char buf_time[BUF_SIZE_STRING] = {0, };\r
-\r
- const char *locale_str = NULL;\r
- UChar custom_skeleton[BUF_SIZE_SKELETON] = {0, };\r
- UErrorCode status = U_ZERO_ERROR;\r
- char best_pattern_string_time[BUF_SIZE_PATTERN] = {0, };\r
- int32_t best_pattern_capacity_time = 0;\r
- int32_t best_pattern_len = 0;\r
-\r
- UDate date = 0;\r
- UChar formatted_date[BUF_SIZE_STRING] = {0, };\r
- UChar formatted_time[BUF_SIZE_STRING] = {0, };\r
- int32_t formatted_capacity_date = 0;\r
- int32_t formatted_length_date = 0;\r
- int32_t formatted_capacity_time = 0;\r
- int32_t formatted_length_time = 0;\r
-\r
-\r
- /* default locale */\r
- uloc_setDefault(getenv("LC_TIME"), &status);\r
- locale_str = uloc_getDefault();\r
- retv_if(locale_str == NULL, MGR_APP_ERROR);\r
- MGR_APP_DEBUG("Default Locale is %s", locale_str);\r
-\r
-\r
- /* pattern generator */\r
- if (!g_pattern_gen || strncmp(g_locale, locale_str, BUF_SIZE_LOCALE) != 0) {\r
- MGR_APP_DEBUG("Create pattern generator");\r
- if (g_pattern_gen) {\r
- udatpg_close(g_pattern_gen);\r
- }\r
- g_pattern_gen = udatpg_open(locale_str, &status);\r
- strncpy(g_locale, locale_str, sizeof(char)*BUF_SIZE_LOCALE);\r
- is_locale_changed = TRUE;\r
- }\r
- retv_if(g_pattern_gen == NULL, MGR_APP_ERROR);\r
-\r
-\r
- /* best pattern */\r
- if (g_time_format != time_format || u_strlen(g_best_pattern) == 0) {\r
- MGR_APP_DEBUG("Create best pattern");\r
- const char *skeleton_str = NULL;\r
-\r
- if (time_format == APPCORE_TIME_FORMAT_24) {\r
- skeleton_str = "HHmmss";\r
- } else {\r
- skeleton_str = "hhmmss";\r
- }\r
-\r
- u_uastrncpy(custom_skeleton, skeleton_str, strlen(skeleton_str));\r
- best_pattern_capacity_time = (int32_t)(sizeof(g_best_pattern)/sizeof((g_best_pattern)[0]));\r
- best_pattern_len = udatpg_getBestPattern(g_pattern_gen,\r
- custom_skeleton,\r
- u_strlen(custom_skeleton),\r
- g_best_pattern,\r
- best_pattern_capacity_time,\r
- &status);\r
- g_time_format = time_format;\r
- is_skeleton_changed = TRUE;\r
- }\r
- retv_if(u_strlen(g_best_pattern) == 0, MGR_APP_ERROR);\r
-\r
- u_austrncpy(best_pattern_string_time, g_best_pattern, BUF_SIZE_PATTERN-1);\r
- MGR_APP_DEBUG("Best Pattern is %s", best_pattern_string_time);\r
-\r
-\r
- /* formatter date */\r
- if (is_locale_changed || !g_formatter_date) {\r
- MGR_APP_DEBUG("Create formatter date");\r
- if (g_formatter_date) {\r
- udat_close(g_formatter_date);\r
- }\r
- g_formatter_date = udat_open(UDAT_NONE, UDAT_LONG, g_locale, NULL, -1, NULL, -1, &status);\r
- }\r
- retv_if(g_formatter_date == NULL, MGR_APP_ERROR);\r
-\r
-\r
- /* formatter time */\r
- if (is_locale_changed || is_skeleton_changed || !g_formatter_time) {\r
- MGR_APP_DEBUG("Create formatter time");\r
- if (g_formatter_time) {\r
- udat_close(g_formatter_time);\r
- }\r
- g_formatter_time = udat_open(UDAT_IGNORE, UDAT_IGNORE, g_locale, NULL, -1, g_best_pattern, -1, &status);\r
- }\r
- retv_if(g_formatter_time == NULL, MGR_APP_ERROR);\r
-\r
-\r
- /* formatted string */\r
- date = (UDate)time_sec * 1000;\r
-\r
- formatted_capacity_date = (int32_t)(sizeof(formatted_date)/sizeof((formatted_date)[0]));\r
- formatted_length_date = udat_format(g_formatter_date, date, formatted_date, formatted_capacity_date, NULL, &status);\r
- u_austrncpy(buf_date, formatted_date, sizeof(buf_date)-1);\r
-\r
- formatted_capacity_time = (int32_t)(sizeof(formatted_time)/sizeof((formatted_time)[0]));\r
- formatted_length_date = udat_format(g_formatter_time, date, formatted_time, formatted_capacity_time, NULL, &status);\r
- u_austrncpy(buf_time, formatted_time, sizeof(buf_time)-1);\r
-\r
- MGR_APP_MEM_STRDUP(*p_formatted_date, buf_date);\r
- MGR_APP_MEM_STRDUP(*p_formatted_time, buf_time);\r
-\r
- if (!*p_formatted_date || !*p_formatted_time) {\r
- MGR_APP_MEM_FREE(*p_formatted_date);\r
- MGR_APP_MEM_FREE(*p_formatted_time);\r
- return MGR_APP_ERROR;\r
- }\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-static Evas_Object *__create_genlist_app_cert_detail(Evas_Object *parent, void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, NULL);\r
- app_cert_detail_view_data_t *app_cert_detail_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(data == NULL, NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
-\r
- retv_if(ugd_cert->data == NULL, NULL);\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)ugd_cert->data;\r
-\r
- retv_if(cert->ctx == NULL, NULL);\r
- retv_if(cert->ctx->certDesc == NULL, NULL);\r
- cert_svc_cert_descriptor *certDesc = cert->ctx->certDesc;\r
- cert_svc_information_fields *info = &cert->ctx->certDesc->info;\r
- retv_if(info == NULL, NULL);\r
-\r
- if(__ug_certi_detail_data_init() == MGR_APP_ERROR) {\r
- MGR_APP_DEBUG_ERR("__ug_certi_detail_data_init failed");\r
- return;\r
- };\r
-\r
-\r
- char *issuer = itc_detail_val[ISSUER].context;\r
- char *subject = itc_detail_val[SUBJECT].context;\r
- char *valid_from = itc_detail_val[VALID_FROM].context;\r
- char *valid_to = itc_detail_val[VALID_UNTIL].context;\r
- char *serial = itc_detail_val[SERIAL_NUMBER].context;\r
- char *fingerprint_txt = itc_detail_val[THUMBPRINT].context;\r
- char fingerprint[20] = {0, };\r
-\r
-\r
- itc_detail = elm_genlist_item_class_new();\r
- retv_if(itc_detail == NULL, NULL);\r
- itc_detail_multi = elm_genlist_item_class_new();\r
- retv_if(itc_detail_multi == NULL, NULL);\r
- itc_sep_21 = elm_genlist_item_class_new();\r
- retv_if(itc_sep_21 == NULL, NULL);\r
-\r
- itc_detail->item_style = ELM_ITC_DETAIL_ITEM_STYLE;\r
- itc_detail->func.text_get = _gl_detail_label_get;\r
- itc_detail->func.content_get = NULL;\r
- itc_detail->func.state_get = NULL;\r
- itc_detail->func.del = NULL;\r
-\r
- itc_detail_multi->item_style = ELM_ITC_DETAIL_ITEM_MULTI_STYLE;\r
- itc_detail_multi->func.text_get = _gl_detail_label_get;\r
- itc_detail_multi->func.content_get = NULL;\r
- itc_detail_multi->func.state_get = NULL;\r
- itc_detail_multi->func.del = NULL;\r
-\r
- itc_sep_21->item_style = ELM_ITC_ITEM_SEPERATOR_21;\r
- itc_sep_21->func.text_get = NULL;\r
- itc_sep_21->func.content_get = NULL;\r
- itc_sep_21->func.state_get = NULL;\r
- itc_sep_21->func.del = NULL;\r
-\r
-\r
- Evas_Object *genlist_detail = elm_genlist_add(parent);\r
- retv_if(genlist_detail == NULL, NULL);\r
- evas_object_size_hint_weight_set(genlist_detail, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(genlist_detail, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- elm_genlist_scroller_policy_set(genlist_detail, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);\r
- elm_genlist_block_count_set(genlist_detail, GENLIST_BLOCK_CNT);\r
- elm_genlist_select_mode_set(genlist_detail, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
- elm_genlist_mode_set(genlist_detail, ELM_LIST_COMPRESS);\r
- evas_object_show(genlist_detail);\r
- app_cert_detail_view_data->genlist = genlist_detail;\r
-\r
-\r
- /* issure */\r
- if ((strlen((char*)info->issuerStr) > 0)) {\r
- snprintf(issuer, CERT_MAX_DATA_SIZE, "%s", info->issuerStr);\r
- __ug_certi_slash2cr(issuer);\r
- } else {\r
- snprintf(issuer, CERT_MAX_DATA_SIZE, "%s", NO_INFORMATION);\r
- }\r
-\r
-\r
- /* subject */\r
- if ((strlen((char*)info->subjectStr) > 0)) {\r
- snprintf(subject, CERT_MAX_DATA_SIZE, "%s", info->subjectStr);\r
- __ug_certi_slash2cr(subject);\r
- } else {\r
- snprintf(subject, CERT_MAX_DATA_SIZE, "%s", NO_INFORMATION);\r
- }\r
-\r
-\r
- /* valid from & valid to */\r
- time_t t_valid_from = 0;\r
- time_t t_valid_to = 0;\r
- char *valid_from_date = NULL;\r
- char *valid_from_time = NULL;\r
- char *valid_to_date = NULL;\r
- char *valid_to_time = NULL;\r
- mgr_app_result_e ret = MGR_APP_ERROR;\r
-\r
- t_valid_from = __convert_time_to_sec(info->validPeriod.firstYear,\r
- info->validPeriod.firstMonth,\r
- info->validPeriod.firstDay,\r
- info->validPeriod.firstHour,\r
- info->validPeriod.firstMinute,\r
- info->validPeriod.firstSecond);\r
-\r
- t_valid_to = __convert_time_to_sec(info->validPeriod.secondYear,\r
- info->validPeriod.secondMonth,\r
- info->validPeriod.secondDay,\r
- info->validPeriod.secondHour,\r
- info->validPeriod.secondMinute,\r
- info->validPeriod.secondSecond);\r
-\r\r
-\r
- ret = __get_i18n_time_string(APPCORE_TIME_FORMAT_24, t_valid_from, &valid_from_date, &valid_from_time);\r
- if (ret == MGR_APP_OK) {\r
- snprintf(valid_from, CERT_MAX_DATA_SIZE, "%s %s", valid_from_date, valid_from_time);\r
- MGR_APP_MEM_FREE(valid_from_date);\r
- MGR_APP_MEM_FREE(valid_from_time);\r
- } else {\r
- valid_from = STR_ERROR;\r
- }\r
-\r
- ret = __get_i18n_time_string(APPCORE_TIME_FORMAT_24, t_valid_to, &valid_to_date, &valid_to_time);\r
- if (ret == MGR_APP_OK) {\r
- snprintf(valid_to, CERT_MAX_DATA_SIZE, "%s %s", valid_to_date, valid_to_time);\r
- MGR_APP_MEM_FREE(valid_to_date);\r
- MGR_APP_MEM_FREE(valid_to_time);\r
- } else {\r
- valid_to = STR_ERROR;\r
- }\r
-\r
-\r
- /* serial number */\r
- if (info->serialNumber) {\r
- snprintf(serial, CERT_MAX_DATA_SIZE, "%x", info->serialNumber);\r
- } else {\r
- snprintf(serial, CERT_MAX_DATA_SIZE, "%s", NO_INFORMATION);\r
- }\r
-\r
- SHA1(certDesc->signatureData, certDesc->signatureLen, fingerprint);\r
-\r
-\r
- /* thumbprint */\r
- int i = 0;\r
- for (i = 0; i < 20; i++) {\r
- if (fingerprint[i] < 0x10) {\r
- snprintf(fingerprint_txt + (i*3), CERT_MAX_DATA_SIZE, "0%X ", fingerprint[i]);\r
- } else {\r
- snprintf(fingerprint_txt + (i*3), CERT_MAX_DATA_SIZE, "%X ", fingerprint[i]);\r
- }\r
- }\r
- fingerprint_txt[i*3] = '\0';\r
-\r
- enum _TITLE index = ISSUER;\r
- Elm_Object_Item *item = NULL;\r
-\r
- for (index = ISSUER; index < CERT_DETAIL_TITLE_COUNT; index++) {\r
- MGR_APP_DEBUG("title %s index %d", itc_detail_val[index].title, index);\r
-\r
- if (/*index == ISSUER || index == SUBJECT || */index == THUMBPRINT) {\r
- app_cert_detail_view_data->animator = ecore_animator_add(_textblock_item_append_cb, (void*)index);\r
- } else {\r
- item = elm_genlist_item_append(genlist_detail, itc_detail, (void*)index, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
- }\r
-\r
- if (item) {\r
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
- } else {\r
- MGR_APP_DEBUG_ERR("itc_detail item is null");\r
- }\r
- }\r
-\r
- if (elm_genlist_first_item_get(genlist_detail)) {\r
- item = elm_genlist_item_prepend(genlist_detail, itc_sep_21, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
- if (item) {\r
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
- } else {\r
- MGR_APP_DEBUG_ERR("itc_sep_21 item is null");\r
- }\r
- }\r
-\r
- MGR_APP_END();\r
- return genlist_detail;\r
-}\r
-\r
-static Evas_Object *mgr_app_view_app_cert_detail_create(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- MGR_APP_MEM_MALLOC(view_common_data->user_view_data, 1, app_cert_detail_view_data_t);\r
- retv_if(view_common_data->user_view_data == NULL, NULL);\r
- app_cert_detail_view_data_t *app_cert_detail_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(data == NULL, NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
- retv_if(ugd_cert->data == NULL, NULL);\r
- app_cert_detail_view_data->prev_cert = (mgr_app_cert_t*)ugd_cert->data;\r
-\r
- app_cert_detail_view_data->genlist = __create_genlist_app_cert_detail(view_common_data->common_navibar, (void*)ugd_cert);\r
-\r
- /* if there is no list */\r
- if (elm_genlist_first_item_get(app_cert_detail_view_data->genlist) == NULL) {\r
- MGR_APP_DEBUG("there are no history lists\n");\r
- Evas_Object *no_content = elm_layout_add(view_common_data->common_navibar);\r
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");\r
- elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_COM_BODY_NO_CONTENTS"));\r
- evas_object_size_hint_weight_set (no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_show(no_content);\r
- MGR_APP_END();\r
- return no_content;\r
- } else {\r
- MGR_APP_END();\r
- return app_cert_detail_view_data->genlist;\r
- }\r
-}\r
-\r
-static Evas_Object *mgr_app_view_app_cert_detail_set_cbar(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
- return NULL;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_set_navibar(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- char title[MAX_BUF_SIZE] = {0, };\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_detail_view_data_t *app_cert_detail_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(app_cert_detail_view_data->prev_cert == NULL, MGR_APP_ERROR);\r
- retv_if(app_cert_detail_view_data->prev_cert->title == NULL, MGR_APP_ERROR);\r
-\r
- snprintf(title, MAX_BUF_SIZE, "%s", app_cert_detail_view_data->prev_cert->title);\r
- _strupr(title);\r
-\r
- mgr_app_view_manager_set_navibar(mgr_app_view_app_cert_detail.view_common_data, title, NULL, _app_cert_detail_back_cb, NULL, NULL);\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_destory(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = (mgr_app_view_common_data_t*)mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_detail_view_data_t *app_cert_detail_view_data = (app_cert_detail_view_data_t*)view_common_data->user_view_data;\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_app_cert_detail.view_common_data->view_layout = NULL;\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_update(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert_detail.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_detail.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_detail_view_data_t *app_cert_detail_view_data = (app_cert_detail_view_data_t*)view_common_data->user_view_data;\r
-\r
- if (app_cert_detail_view_data->genlist == NULL) {\r
- MGR_APP_DEBUG("there are no history lists\n");\r
-\r
- elm_object_item_disabled_set(app_cert_detail_view_data->cbar_item, EINA_TRUE);\r
-\r
- Evas_Object *no_content = elm_layout_add(view_common_data->common_navibar);\r
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");\r
- elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_COM_BODY_NO_CONTENTS"));\r
- evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(no_content, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- evas_object_show(no_content);\r
- } else {\r
- elm_genlist_realized_items_update(app_cert_detail_view_data->genlist);\r
- }\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-static mgr_app_result_e mgr_app_view_app_cert_detail_cleanup(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-\r
+++ /dev/null
-/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-\r
-#include "mgr-app-common-debug.h"\r
-#include "mgr-app-common-error.h"\r
-#include "mgr-app-view-manager.h"\r
-#include "mgr-app-widget.h"\r
-#include "mgr-app-view-factory.h"\r
-#include "mgr-app-common-util.h"\r
-#include "mgr-app-uigadget.h"\r
-\r
-#include <cert-service.h>\r
-#include <openssl/sha.h>\r
-\r
-#define NO_INFORMATION "no information"\r
-\r
-#define STR_ERROR "ERROR"\r
-#define STR_UGD_CERT "ugd_cert"\r
-\r
-#define MAX_BUF_SIZE 128\r
-#define CERT_MAX_DATA_SIZE 256\r
-#define CERT_MAX_PATH_SIZE 1024\r
-\r
-#define PATH_USR_MANUFACTURE "/usr/share/cert-svc/ca-certs/code-signing/java/manufacture"\r
-#define PATH_USR_OPERATOR "/usr/share/cert-svc/ca-certs/code-signing/java/operator"\r
-#define PATH_USR_THIRDPARTY "/usr/share/cert-svc/ca-certs/code-signing/java/thirdparty"\r
-#define PATH_OPT_MANUFACTURE "/opt/share/cert-svc/certs/code-signing/java/manufacture"\r
-#define PATH_OPT_OPERATOR "/opt/share/cert-svc/certs/code-signing/java/operator"\r
-#define PATH_OPT_THIRDPARTH "/opt/share/cert-svc/certs/code-signing/java/thirdparty"\r
-\r
-#define ELM_TEXT_1 "elm.text.1"\r
-#define ELM_TEXT_2 "elm.text.2"\r
-#define ELM_TEXT "elm.text"\r
-\r
-#define ELM_ITC_ITEM_STYLE "dialogue/1text"\r
-#define ELM_ITC_ITEM_SEPERATOR_21 "dialogue/separator/21/with_line"\r
-\r
-#define GENLIST_BLOCK_CNT 15\r
-\r
-\r
-typedef struct _app_cert_sub_view_data_t app_cert_sub_view_data_t;\r
-\r
-struct _app_cert_sub_view_data_t {\r
- Evas_Object *genlist;\r
- Elm_Object_Item *cbar_item;\r
- mgr_app_cert_t *prev_cert;\r
-};\r
-\r
-static Evas_Object *mgr_app_view_app_cert_sub_create(void *data);\r
-static Evas_Object *mgr_app_view_app_cert_sub_set_cbar(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_set_navibar(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_destory(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_update(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_cleanup(void *data);\r
-\r
-static Evas_Object *__create_genlist_app_cert_sub(Evas_Object *parent, void *data);\r
-static void __ug_certi_list(Evas_Object *genlist, const char *certi_folder_path);\r
-static char *__ug_certi_parse_title(const char *subject);\r
-\r
-\r
-mgr_app_view_t mgr_app_view_app_cert_sub = {\r
- .create = mgr_app_view_app_cert_sub_create,\r
- .setcbar = mgr_app_view_app_cert_sub_set_cbar,\r
- .setnavibar = mgr_app_view_app_cert_sub_set_navibar,\r
- .destroy = mgr_app_view_app_cert_sub_destory,\r
- .update = mgr_app_view_app_cert_sub_update,\r
-};\r
-\r
-static Elm_Genlist_Item_Class *itc = NULL;\r
-static Elm_Genlist_Item_Class *itc_sep_21 = NULL;\r
-\r
-static void _app_cert_sub_next_cb(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
- mgr_app_view_create(&mgr_app_view_app_cert_sub, data);\r
- MGR_APP_END();\r
-}\r
-\r
-static void _app_cert_sub_back_cb(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- ret_if(mgr_app_view_app_cert_sub.view_common_data == NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_sub.view_common_data;\r
-\r
- ret_if(view_common_data->user_view_data == NULL);\r
- app_cert_sub_view_data_t *app_cert_sub_view_data = view_common_data->user_view_data;\r
-\r
- ret_if(data == NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
-\r
- ugd_cert->data = (void*)app_cert_sub_view_data->prev_cert;\r
-\r
- mgr_app_view_common_back_cb(data, EINA_FALSE);\r
-\r
- elm_genlist_item_class_free(itc);\r
- elm_genlist_item_class_free(itc_sep_21);\r
-\r
- MGR_APP_END();\r
-}\r
-\r
-/* callback for 'deletion' */\r
-static void _gl_del(void *data, Evas_Object *obj)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)data;\r
-\r
- if (cert) {\r
- if (cert->title) {\r
- free(cert->title);\r
- cert->title = NULL;\r
- }\r
- if (cert->ctx) {\r
- if (cert_svc_cert_context_final(cert->ctx) < 0) {\r
- MGR_APP_DEBUG_ERR("cert_svc_cert_context_final(cert->ctx) failed");\r
- }\r
- cert->ctx = NULL;\r
- }\r
- free(cert);\r
- cert = NULL;\r
- }\r
-\r
- MGR_APP_END();\r
-}\r
-\r
-/* callback for 'selection' */\r
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- ret_if(data == NULL);\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)data;\r
-\r
- ret_if(event_info == NULL);\r
- Elm_Object_Item *item = (Elm_Object_Item*)event_info;\r
-\r
- struct ug_data *ugd_cert = (struct ug_data*)evas_object_data_get(obj, STR_UGD_CERT);\r
- ugd_cert->data = (void*)cert;\r
-\r
- elm_genlist_item_selected_set(item, EINA_FALSE);\r
-\r
- /* create app cert detail view */\r
- mgr_app_view_create(&mgr_app_view_app_cert_detail, (void*)ugd_cert);\r
- MGR_APP_END();\r
-}\r
-\r
-static char *_gl_label_get(void *data, Evas_Object *obj, const char *part)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_DEBUG("the part is %s", part);\r
-\r
- char *title = (char*)data;\r
- char *label = NULL;\r
-\r
- if (!strncmp(part, ELM_TEXT, strlen(ELM_TEXT))) {\r
- MGR_APP_DEBUG("elm.text -> %s\n", title);\r
- label = strdup(dgettext(PACKAGE, title));\r
- } else {\r
- MGR_APP_DEBUG("the part isn't 'elm.text'");\r
- label = NULL;\r
- }\r
-\r
- MGR_APP_END();\r
- return label;\r
-}\r
-\r
-static char *__ug_certi_parse_title(const char *subject)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- char *title = NULL;\r
- char *start = NULL;\r
- char *end = NULL;\r
- int len = 0;\r
-\r
- if (start = strstr(subject, "CN=")) {\r
- start += 3;\r
- } else if (start = strstr(subject, "O=")) {\r
- start += 2;\r
- } else if (start = strstr(subject, "OU=")) {\r
- start += 3;\r
- }\r
-\r
- title = (char*)malloc(sizeof(char)*CERT_MAX_DATA_SIZE);\r
- retv_if(title == NULL, NULL);\r
- memset(title, 0, sizeof(char)*CERT_MAX_DATA_SIZE);\r
-\r
- if (start) {\r
- end = strstr(start, "/");\r
-\r
- if (end) {\r
- len = end - start;\r
- strncpy(title, start, len);\r
- title[len] = '\0';\r
- } else {\r
- strncpy(title, start, CERT_MAX_DATA_SIZE);\r
- }\r
- } else {\r
- strncpy(title, NO_INFORMATION, sizeof(char)*CERT_MAX_DATA_SIZE);\r
- }\r
-\r
- MGR_APP_END();\r
- return title;\r
-}\r
-\r
-static void __ug_certi_list(Evas_Object *genlist, const char *certi_folder_path)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- ret_if(certi_folder_path == NULL);\r
-\r
- DIR *dir = NULL;\r
- struct dirent *ent = NULL;\r
- char certi_path[CERT_MAX_PATH_SIZE] = {0, };\r
-\r
- if (dir = opendir(certi_folder_path)) {\r
- while (ent = readdir(dir)) {\r
- if (!strncmp(ent->d_name, ".", strlen(".")) || !strncmp(ent->d_name, "..", strlen(".."))) {\r
- continue;\r
- }\r
-\r
- memset(certi_path, 0, sizeof(char)*CERT_MAX_PATH_SIZE);\r
- strncpy(certi_path, certi_folder_path, strlen(certi_folder_path));\r
- strncat(certi_path, "/", strlen("/"));\r
- strncat(certi_path, ent->d_name, strlen(ent->d_name));\r
-\r
- MGR_APP_DEBUG("certi_path : %s\n", certi_path);\r
-\r
- CERT_CONTEXT *ctx = NULL;\r
- if (!(ctx = cert_svc_cert_context_init())) {\r
- MGR_APP_DEBUG_ERR("cert_svc_cert_context_init failed");\r
- closedir(dir);\r
- dir = NULL;\r
- MGR_APP_END();\r
- return;\r
- }\r
- if (cert_svc_load_file_to_context(ctx, certi_path) < 0) {\r
- MGR_APP_DEBUG_ERR("cert_svc_load_file_to_context failed");\r
- closedir(dir);\r
- dir = NULL;\r
- if (cert_svc_cert_context_final(ctx) < 0) {\r
- MGR_APP_DEBUG_ERR("cert_svc_cert_context_final(cert->ctx) failed");\r
- }\r
- ctx = NULL;\r
- MGR_APP_END();\r
- return;\r
- }\r
- if (cert_svc_extract_certificate_data(ctx) < 0) {\r
- MGR_APP_DEBUG_ERR("cert_svc_extract_certificate_data failed");\r
- closedir(dir);\r
- dir = NULL;\r
- if (cert_svc_cert_context_final(ctx) < 0) {\r
- MGR_APP_DEBUG_ERR("cert_svc_cert_context_final(cert->ctx) failed");\r
- }\r
- ctx = NULL;\r
- MGR_APP_END();\r
- return;\r
- }\r
-\r
- ret_if(ctx->certDesc == NULL);\r
- ret_if(ctx->certDesc->info.subjectStr == NULL);\r
-\r
- MGR_APP_DEBUG("subject string : %s\n", ctx->certDesc->info.subjectStr);\r
-\r
- char *title = __ug_certi_parse_title((char*)ctx->certDesc->info.subjectStr);\r
-\r
- MGR_APP_DEBUG("title : %s\n", title);\r
-\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)malloc(sizeof(mgr_app_cert_t));\r
- ret_if(cert == NULL);\r
- memset(cert, 0, sizeof(mgr_app_cert_t));\r
-\r
- if (title) {\r
- cert->title = title;\r
- } else {\r
- cert->title = NULL;\r
- }\r
- cert->ctx = ctx;\r
- elm_genlist_item_append(genlist, itc, title, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, (void*)cert);\r
- }\r
-\r
- closedir(dir);\r
- dir = NULL;\r
- } else {\r
- MGR_APP_DEBUG_ERR("can not open dir = [%s] \n", certi_folder_path);\r
- MGR_APP_END();\r
- return;\r
- }\r
-\r
- MGR_APP_END();\r
-}\r
-\r
-static Evas_Object *__create_genlist_app_cert_sub(Evas_Object *parent, void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(data == NULL, NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
-\r
- retv_if(ugd_cert->data == NULL, NULL);\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)ugd_cert->data;\r
-\r
- itc = elm_genlist_item_class_new();\r
- retv_if(itc == NULL, NULL);\r
- itc_sep_21 = elm_genlist_item_class_new();\r
- retv_if(itc_sep_21 == NULL, NULL);\r
-\r
- /* set the genlist item style */\r
- itc->item_style = ELM_ITC_ITEM_STYLE;\r
- itc->func.text_get = _gl_label_get;\r
- itc->func.content_get = NULL;\r
- itc->func.state_get = NULL;\r
- itc->func.del = NULL;\r
-\r
- itc_sep_21->item_style = ELM_ITC_ITEM_SEPERATOR_21;\r
- itc_sep_21->func.text_get = NULL;\r
- itc_sep_21->func.content_get = NULL;\r
- itc_sep_21->func.state_get = NULL;\r
- itc_sep_21->func.del = NULL;\r
-\r
-\r
- /* add a genlist */\r
- Evas_Object *genlist = elm_genlist_add(parent);\r
- retv_if(genlist == NULL, NULL);\r
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- elm_genlist_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);\r
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);\r
- elm_genlist_block_count_set(genlist, GENLIST_BLOCK_CNT);\r
- evas_object_data_set(genlist, STR_UGD_CERT, (void*)ugd_cert);\r
- evas_object_show(genlist);\r
-\r
- if (!strncmp(cert->title, dgettext(PACKAGE, "IDS_ST_BODY_MANUFACTURER"), strlen(dgettext(PACKAGE, "IDS_ST_BODY_MANUFACTURER")))) {\r
- __ug_certi_list(genlist, PATH_USR_MANUFACTURE);\r
- __ug_certi_list(genlist, PATH_OPT_MANUFACTURE);\r
- } else if (!strncmp(cert->title, dgettext(PACKAGE, "IDS_ST_BODY_OPERATOR"), strlen(dgettext(PACKAGE, "IDS_ST_BODY_OPERATOR")))) {\r
- __ug_certi_list(genlist, PATH_USR_OPERATOR);\r
- __ug_certi_list(genlist, PATH_OPT_OPERATOR);\r
- } else if (!strncmp(cert->title, dgettext(PACKAGE, "IDS_ST_BODY_THIRD_PARTIES"), strlen(dgettext(PACKAGE, "IDS_ST_BODY_THIRD_PARTIES")))) {\r
- __ug_certi_list(genlist, PATH_USR_THIRDPARTY);\r
- __ug_certi_list(genlist, PATH_OPT_THIRDPARTH);\r
- } else {\r
- MGR_APP_DEBUG_ERR("cert->title has an error");\r
- }\r
-\r
- if (elm_genlist_first_item_get(genlist)) {\r
- elm_genlist_item_prepend(genlist, itc_sep_21, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
- }\r
-\r
- MGR_APP_END();\r
- return genlist;\r
-}\r
-\r
-static Evas_Object *mgr_app_view_app_cert_sub_create(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert_sub.view_common_data == NULL, NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_sub.view_common_data;\r
-\r
- MGR_APP_MEM_MALLOC(view_common_data->user_view_data, 1, app_cert_sub_view_data_t);\r
- retv_if(view_common_data->user_view_data == NULL, NULL);\r
- app_cert_sub_view_data_t *app_cert_sub_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(data == NULL, NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
- retv_if(ugd_cert->data == NULL, NULL);\r
- app_cert_sub_view_data->prev_cert = (mgr_app_cert_t*)ugd_cert->data;\r
-\r
- app_cert_sub_view_data->genlist = __create_genlist_app_cert_sub(view_common_data->common_navibar, (void*)ugd_cert);\r
-\r
- /* if there is no history. display no_contents widget on screen. */\r
- if (elm_genlist_first_item_get(app_cert_sub_view_data->genlist) == NULL) {\r
- MGR_APP_DEBUG("there are no certificate lists\n");\r
- Evas_Object *no_content = elm_layout_add(view_common_data->common_navibar);\r
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");\r
- elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_COM_BODY_NO_CONTENTS"));\r
- evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_show(no_content);\r
- MGR_APP_END();\r
- return no_content;\r
- } else {\r
- MGR_APP_END();\r
- return app_cert_sub_view_data->genlist;\r
- }\r
-}\r
-\r
-static Evas_Object *mgr_app_view_app_cert_sub_set_cbar(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
- return NULL;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_set_navibar(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- char title[MAX_BUF_SIZE] = {0, };\r
-\r
- retv_if(mgr_app_view_app_cert_sub.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert_sub.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_sub_view_data_t *app_cert_sub_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(app_cert_sub_view_data->prev_cert == NULL, MGR_APP_ERROR);\r
- retv_if(app_cert_sub_view_data->prev_cert->title == NULL, MGR_APP_ERROR);\r
-\r
- snprintf(title, MAX_BUF_SIZE, "%s", app_cert_sub_view_data->prev_cert->title);\r
- _strupr(title);\r
-\r
- mgr_app_view_manager_set_navibar(mgr_app_view_app_cert_sub.view_common_data, title, NULL, _app_cert_sub_back_cb, NULL, NULL);\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_destory(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_sub_view_data_t *app_cert_sub_view_data = (app_cert_sub_view_data_t*)view_common_data->user_view_data;\r
-\r
- retv_if(mgr_app_view_app_cert_sub.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_app_cert_sub.view_common_data->view_layout = NULL;\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_update(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_sub_view_data_t *app_cert_sub_view_data = (app_cert_sub_view_data_t*)view_common_data->user_view_data;\r
-\r
- if (app_cert_sub_view_data->genlist == NULL) {\r
- MGR_APP_DEBUG("there are no history lists\n");\r
-\r
- elm_object_item_disabled_set(app_cert_sub_view_data->cbar_item, EINA_TRUE);\r
-\r
- Evas_Object *no_content = elm_layout_add(view_common_data->common_navibar);\r
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");\r
- elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_COM_BODY_NO_CONTENTS"));\r
- evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(no_content, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- evas_object_show(no_content);\r
- } else {\r
- elm_genlist_realized_items_update(app_cert_sub_view_data->genlist);\r
- }\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_sub_cleanup(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-\r
+++ /dev/null
-/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-\r
-#include "mgr-app-common-debug.h"\r
-#include "mgr-app-common-error.h"\r
-#include "mgr-app-view-manager.h"\r
-#include "mgr-app-widget.h"\r
-#include "mgr-app-view-factory.h"\r
-#include "mgr-app-common-util.h"\r
-#include "mgr-app-uigadget.h"\r
-\r
-\r
-#define NO_INFORMATION "no information"\r
-#define STR_TITLE_CERTIFICATES "CERTIFICATES"\r
-\r
-#define CERT_MAX_DATA_SIZE 256\r
-#define CNT_CERT_LIST 3\r
-#define STR_UGD_CERT "ugd_cert"\r
-\r
-#define ELM_TEXT "elm.text"\r
-#define ELM_ITC_ITEM_STYLE "dialogue/1text"\r
-#define ELM_ITC_ITEM_SEPERATOR_21 "dialogue/separator/21/with_line"\r
-#define GENLIST_BLOCK_CNT 15\r
-\r
-\r
-typedef struct _app_cert_view_data_t app_cert_view_data_t;\r
-\r
-struct _app_cert_view_data_t {\r
- Evas_Object *genlist;\r
- Elm_Object_Item *cbar_item;\r
- mgr_app_cert_t *prev_cert;\r
-};\r
-\r
-static Evas_Object *mgr_app_view_app_cert_create(void *data);\r
-static Evas_Object *mgr_app_view_app_cert_set_cbar(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_set_navibar(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_destory(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_update(void *data);\r
-static mgr_app_result_e mgr_app_view_app_cert_cleanup(void *data);\r
-\r
-static Evas_Object *__create_genlist_app_cert(Evas_Object *parent, void *data);\r
-\r
-\r
-mgr_app_view_t mgr_app_view_app_cert = {\r
- .create = mgr_app_view_app_cert_create,\r
- .setcbar = mgr_app_view_app_cert_set_cbar,\r
- .setnavibar = mgr_app_view_app_cert_set_navibar,\r
- .destroy = mgr_app_view_app_cert_destory,\r
- .update = mgr_app_view_app_cert_update,\r
-};\r
-\r
-static Elm_Genlist_Item_Class *itc = NULL;\r
-static Elm_Genlist_Item_Class *itc_sep_21 = NULL;\r
-\r
-static void _app_list_next_cb(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
- mgr_app_view_create(&mgr_app_view_app_cert, data);\r
- MGR_APP_END();\r
-}\r
-\r
-static void _app_cert_back_cb(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
- mgr_app_view_common_back_cb(data, EINA_FALSE);\r
-\r
- elm_genlist_item_class_free(itc);\r
- elm_genlist_item_class_free(itc_sep_21);\r
-\r
- /* bg must delete before starting on_destroy */\r
- evas_object_del(ugd_cert->bg);\r
- ugd_cert->bg = NULL;\r
- ug_destroy_me(ugd_cert->ug);\r
- MGR_APP_END();\r
-}\r
-\r
-/* callback for 'deletion' */\r
-static void _gl_del(void *data, Evas_Object *obj)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
-}\r
-\r
-/* callback for 'selection' */\r
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- ret_if(event_info == NULL);\r
- Elm_Object_Item *item = (Elm_Object_Item *)event_info;\r
-\r
- ret_if(data == NULL);\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)data;\r
-\r
- Evas_Object *genlist = elm_object_item_widget_get(item);\r
- ret_if(genlist == NULL);\r
-\r
- struct ug_data *ugd_cert = evas_object_data_get(genlist, STR_UGD_CERT);\r
- ret_if(ugd_cert == NULL);\r
-\r
- elm_genlist_item_selected_set(item, 0);\r
-\r
- ugd_cert->data = (void*)cert;\r
-\r
- /* create app cert detail view */\r
- mgr_app_view_create(&mgr_app_view_app_cert_sub, (void*)ugd_cert);\r
- MGR_APP_END();\r
-}\r
-\r
-static char *_gl_label_get(void *data, Evas_Object *obj, const char *part)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_DEBUG("the part is %s", part);\r
-\r
- char *title = (char*)data;\r
- char *label = NULL;\r
-\r
- if (!strncmp(part, ELM_TEXT, strlen(ELM_TEXT))) {\r
- MGR_APP_DEBUG("elm.text -> %s\n", title);\r
- label = strdup(dgettext(PACKAGE, title));\r
- } else {\r
- MGR_APP_DEBUG("the part isn't 'elm.text'");\r
- label = NULL;\r
- }\r
-\r
- MGR_APP_END();\r
- return label;\r
-}\r
-\r
-static char *__get_cert_title(int index)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- char *title = NULL;\r
-\r
- switch (index) {\r
- case 0:\r
- title = dgettext(PACKAGE, "IDS_ST_BODY_OPERATOR");\r
- break;\r
- case 1:\r
- title = dgettext(PACKAGE, "IDS_ST_BODY_MANUFACTURER");\r
- break;\r
- case 2:\r
- title = dgettext(PACKAGE, "IDS_ST_BODY_THIRD_PARTIES");\r
- break;\r
- default:\r
- MGR_APP_DEBUG_ERR("index has an error");\r
- break;\r
- }\r
-\r
- MGR_APP_END();\r
- return title;\r
-}\r
-\r
-static Evas_Object *__create_genlist_app_cert(Evas_Object *parent, void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, NULL);\r
- app_cert_view_data_t *app_cert_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(data == NULL, NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
-\r
-\r
- /* add a genlist */\r
- Evas_Object *genlist = elm_genlist_add(parent);\r
- retv_if(genlist == NULL, NULL);\r
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- elm_genlist_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);\r
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);\r
- elm_genlist_block_count_set(genlist, GENLIST_BLOCK_CNT);\r
- evas_object_data_set(genlist, STR_UGD_CERT, ugd_cert);\r
- evas_object_show(genlist);\r
-\r
-\r
- /* set the genlist item style */\r
- itc = elm_genlist_item_class_new();\r
- retv_if(itc == NULL, NULL);\r
- itc_sep_21 = elm_genlist_item_class_new();\r
- retv_if(itc_sep_21 == NULL, NULL);\r
-\r
- itc->item_style = ELM_ITC_ITEM_STYLE;\r
- itc->func.text_get = _gl_label_get;\r
- itc->func.content_get = NULL;\r
- itc->func.state_get = NULL;\r
- itc->func.del = NULL;\r
-\r
- itc_sep_21->item_style = ELM_ITC_ITEM_SEPERATOR_21;\r
- itc_sep_21->func.text_get = NULL;\r
- itc_sep_21->func.content_get = NULL;\r
- itc_sep_21->func.state_get = NULL;\r
- itc_sep_21->func.del = NULL;\r
-\r
-\r
- int i = 0;\r
- for (i = 0; i < CNT_CERT_LIST; i++) {\r
- mgr_app_cert_t *cert = (mgr_app_cert_t*)malloc(sizeof(mgr_app_cert_t));\r
- retv_if(cert == NULL, NULL);\r
- memset(cert, 0, sizeof(mgr_app_cert_t));\r
- cert->title = __get_cert_title(i);\r
- ugd_cert->data = (void*)cert;\r
- elm_genlist_item_append(genlist, itc, cert->title, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, (void*)cert);\r
- }\r
-\r
- if (elm_genlist_first_item_get(genlist)) {\r
- elm_genlist_item_prepend(genlist, itc_sep_21, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
- }\r
-\r
- app_cert_view_data->genlist = genlist;\r
-\r
- MGR_APP_END();\r
- return genlist;\r
-}\r
-\r
-static Evas_Object *mgr_app_view_app_cert_create(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, NULL);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert.view_common_data;\r
-\r
- MGR_APP_MEM_MALLOC(view_common_data->user_view_data, 1, app_cert_view_data_t);\r
- retv_if(view_common_data->user_view_data == NULL, NULL);\r
- app_cert_view_data_t *app_cert_view_data = view_common_data->user_view_data;\r
-\r
- retv_if(data == NULL, NULL);\r
- struct ug_data *ugd_cert = (struct ug_data*)data;\r
-\r
- app_cert_view_data->genlist = __create_genlist_app_cert(view_common_data->common_navibar, (void*)ugd_cert);\r
-\r
- /* if there is no history. display no_contents widget on screen. */\r
- if (!app_cert_view_data->genlist) {\r
- MGR_APP_DEBUG("there are no history lists\n");\r
- Evas_Object *no_content = elm_layout_add(view_common_data->common_navibar);\r
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");\r
- elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_COM_BODY_NO_CONTENTS"));\r
- evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(no_content, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- evas_object_show(no_content);\r
- MGR_APP_END();\r
- return no_content;\r
- } else {\r
- MGR_APP_END();\r
- return app_cert_view_data->genlist;\r
- }\r
-}\r
-\r
-static Evas_Object *mgr_app_view_app_cert_set_cbar(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
- return NULL;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_set_navibar(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- mgr_app_view_manager_set_navibar(mgr_app_view_app_cert.view_common_data, /*dgettext(PACKAGE, "IDS_ST_HEADER_CERTIFICATES")*/STR_TITLE_CERTIFICATES, NULL, _app_cert_back_cb, NULL, NULL);\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-\r
-static mgr_app_result_e mgr_app_view_app_cert_destory(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_view_data_t *app_cert_view_data = (app_cert_view_data_t*)view_common_data->user_view_data;\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_app_cert.view_common_data->view_layout = NULL;\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-static mgr_app_result_e mgr_app_view_app_cert_update(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
-\r
- retv_if(mgr_app_view_app_cert.view_common_data == NULL, MGR_APP_ERROR);\r
- mgr_app_view_common_data_t *view_common_data = mgr_app_view_app_cert.view_common_data;\r
-\r
- retv_if(view_common_data->user_view_data == NULL, MGR_APP_ERROR);\r
- app_cert_view_data_t *app_cert_view_data = (app_cert_view_data_t*)view_common_data->user_view_data;\r
-\r
- if (app_cert_view_data->genlist == NULL) {\r
- MGR_APP_DEBUG("there are no history lists\n");\r
-\r
- elm_object_item_disabled_set(app_cert_view_data->cbar_item, EINA_TRUE);\r
-\r
- Evas_Object *no_content = elm_layout_add(view_common_data->common_navibar);\r
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");\r
- elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_COM_BODY_NO_CONTENTS"));\r
- evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
- evas_object_size_hint_align_set(no_content, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
- evas_object_show(no_content);\r
- } else {\r
- elm_genlist_realized_items_update(app_cert_view_data->genlist);\r
- }\r
-\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r
-static mgr_app_result_e mgr_app_view_app_cert_cleanup(void *data)\r
-{\r
- MGR_APP_BEGIN();\r
- MGR_APP_END();\r
- return MGR_APP_OK;\r
-}\r