3 * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 #include <ode/external-encryption.h>
20 #include "ode-password.h"
22 static popup_data_s popup_data = {0,};
24 void on_create_password_popup(Evas_Object *parent)
26 popup_data.parent = parent;
27 popup_data.mode = CREATE_PASSWORD;
28 create_password_message_popup(&popup_data);
32 void on_change_password_popup(Evas_Object *parent)
34 popup_data.parent = parent;
35 popup_data.mode = CHANGE_PASSWORD;
36 create_confirm_password_popup(&popup_data);
40 void on_delete_password_popup(Evas_Object *parent)
42 popup_data.parent = parent;
43 popup_data.mode = DELETE_PASSWORD;
44 create_password_message_popup(&popup_data);
48 void on_insert_sdcard_popup(Evas_Object *parent)
50 popup_data.parent = parent;
51 popup_data.mode = INSERT_SD_CARD;
52 popup_data.callback = NULL;
53 create_insert_sdcard_popup(&popup_data);
57 void password_popup_set_result_callback(void (*callback)(void *), void *user_data)
59 popup_data.callback = callback;
60 popup_data.callback_data = user_data;
63 void password_result_callback(popup_data_s *data, const char *result)
68 if (!strcmp(result, "fail")) {
72 if (data->callback_data)
73 ad = (appdata_s *)data->callback_data;
77 ret = ode_external_encryption_init_password(data->entry_data);
78 if (ret != ODE_ERROR_NONE) {
79 dlog_print(DLOG_ERROR, LOG_TAG, "failed to create external data");
82 ad->entry_data = data->entry_data;
83 ad->device_info.sdcard_pw_status = 1;
86 ret = ode_external_encryption_change_password(data->entry_data_old, data->entry_data);
87 if (ret != ODE_ERROR_NONE) {
88 dlog_print(DLOG_ERROR, LOG_TAG, "failed to change external data");
91 ad->entry_data = data->entry_data;
92 ad->device_info.sdcard_pw_status = 1;
95 ret = ode_external_encryption_clean_password(data->entry_data);
96 if (ret != ODE_ERROR_NONE) {
97 dlog_print(DLOG_ERROR, LOG_TAG, "failed to delete external data");
100 ad->entry_data = NULL;
101 ad->device_info.sdcard_pw_status = 0;
104 ret = ode_external_encryption_mount(data->entry_data);
105 if (ret != ODE_ERROR_NONE) {
106 dlog_print(DLOG_ERROR, LOG_TAG, "failed to mount external storage");
115 data->callback(data->callback_data);