Tizen 2.0 Release
[apps/home/settings.git] / setting-memory / include / setting-memory-status.h
1 /*
2  * setting
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Flora License, Version 1.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
8  *
9  *     http://floralicense.org/license/
10  *
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.
16  */
17 #ifndef __SETTING_MEMORY_STATUS_H__
18 #define __SETTING_MEMORY_STATUS_H__
19
20 #include <setting-memory-common.h>
21 #include <setting-debug.h>
22
23 #ifndef _A_PROJECT_
24 #define _A_PROJECT_
25 #endif
26
27 #include <sys/statvfs.h>
28 #include <sys/stat.h>
29 #include <sys/mount.h>
30
31 #define SETTING_MEMORY_EMAIL_MAX "5000"
32 #define SETTING_MEMORY_MSG_SMS_MAX "2600"
33 #define SETTING_MEMORY_MSG_MMS_MAX "800"
34 #define SETTING_MEMORY_CONTACT_MAX "100"
35 #define SETTING_MEMORY_CAL_APPOINT_MAX "500"
36 #define SETTING_MEMORY_CAL_ANNIVERS_MAX "100"
37 #define SETTING_MEMORY_MEMO_MAX "400"
38
39 #define SETTING_MEMORY_STATUS_EX_SD_CARD_MOUNT_ALREADY_DESC "Already mount"
40 #define SETTING_MEMORY_STATUS_EX_SD_CARD_DESC "IDS_ST_BODY_SD_CARD"
41 #define SETTING_MEMORY_STATUS_TOTAL_SPACE_DESC _("IDS_ST_BODY_TOTAL_SPACE")
42 #define SETTING_MEMORY_STATUS_AVAILABLE_SPACE_DESC _("IDS_ST_BODY_AVAILABLE_SPACE")
43 #define SETTING_MEMORY_STATUS_MOUNT_SD_CARD_DESC "IDS_ST_BODY_MOUNT_SD_CARD"
44 #define SETTING_MEMORY_STATUS_UNMOUNT_SD_CARD_DESC "IDS_ST_BODY_UNMOUNT_SD_CARD"
45 #define SETTING_MEMORY_STATUS_FORMAT_SD_CARD_DESC "IDS_ST_BODY_FORMAT_SD_CARD"
46 #define SETTING_MEMORY_STATUS_INTERNAL_SD_CARD_DESC "Internal SD card"
47 #define SETTING_MEMORY_STATUS_MAIN_STORAGE_DESC "Main storage"
48
49 #define SETTING_MEMORY_STATUS_SYSTEM_SPACE_DESC "IDS_COM_BODY_SYSTEM_STORAGE"
50
51 #define SETTING_MEMORY_STATUS_FORMAT_ASK_MSG "This action will erase the<br>external storage in the phone.<br>You will lost ALL data on the card!<br>Format?"
52
53 #define SETTING_MEMORY_STATUS_PROGRESSBAR_TIMEOUT 10
54
55 enum {
56         SETTING_MEMORY_STATUS_SYSMAN_REQUEST_MOUNT_ALREADY = -2,
57         SETTING_MEMORY_STATUS_SYSMAN_REQUEST_SUCCESS = 0
58 };
59
60 static int __fs_stat(double* pdTotal, double* pdAvail, const char* szPath);
61
62 static void setting_memory_status_click_softkey_back(void *data,
63                                                      Evas_Object *obj,
64                                                      void *event_info);
65 static void setting_memory_status_ex_sd_card_info(char *ex_total_space,
66                                                   char *ex_available_space,
67                                                   char *ex_mount_desc,
68                                                   int *ex_mmc_status);
69 static int setting_memory_status_ex_sd_card_detail(char *ex_total_space,
70                                                    char *ex_available_space);
71 static void setting_memory_status_mouse_up_Gendial_list_cb(void *data,
72                                                            Evas_Object *obj,
73                                                            void *event_info);
74 static void setting_memory_status_ex_sd_card_format_promt_popup_create(void
75                                                                        *data);
76 static void setting_memory_status_ex_sd_card_ask_format_resp_cb(void *data,
77                                                                 Evas_Object *
78                                                                 obj,
79                                                                 void
80                                                                 *event_info);
81 static void setting_memory_status_ex_sd_card_format_promt_popup_left_btn_cb(void
82                                                                             *data,
83                                                                             Evas_Object
84                                                                             *
85                                                                             obj,
86                                                                             void
87                                                                             *event_info);
88 static void
89 setting_memory_status_ex_sd_card_format_promt_popup_right_btn_cb(void *data,
90                                                                  Evas_Object *
91                                                                  obj,
92                                                                  void
93                                                                  *event_info);
94 static void setting_memory_status_ex_sd_card_mount_unmount(void *data);
95 static void setting_memory_status_ex_sd_card_refresh_card_details_cb(void *data,
96                                                                      Evas_Object
97                                                                  *obj,
98                                                                      void
99                                                                      *event_info);
100 static void setting_memory_status_ex_sd_card_operate_complete(void *data,
101                                                               char *desc,
102                                                               bool popup_flag);
103 static void setting_memory_status_list_item_enable_set_by_mmc_status(void *data,
104                                                                      int
105                                                                      ex_mmc_status);
106 static void setting_memory_status_list_item_data_set(Setting_GenGroupItem_Data *
107                                                      item, char *data);
108 static void setting_memory_status_get_phone_storage_available_size(void *data,
109                                                                    char
110                                                                    *phone_storage_available);
111 static int setting_memory_status_size_transition(double size,
112                                                  char *size_desc);
113 static void setting_memory_status_ex_sd_card_format_cb(int val, void *data);
114 static void setting_memory_status_ex_sd_card_mount_cb(int val, void *data);
115 static void setting_memory_status_ex_sd_card_unmount_cb(int val, void *data);
116
117 #endif                          /* __SETTING_MEMORY_STATUS_H__ */