apply FSL license
[apps/home/settings.git] / setting-memory / include / setting-memory-status.h
1 /*
2   * Copyright 2012  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://www.tizenopensource.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 __SETTING_MEMORY_STATUS_H__
19 #define __SETTING_MEMORY_STATUS_H__
20
21 #include <setting-memory-common.h>
22
23 #ifndef _A_PROJECT_
24 #define _A_PROJECT_
25 #endif
26 #include <MapiControl.h>
27 #include <MapiStorage.h>
28 #include <MapiMessage.h>
29 #include <calendar-svc-provider.h>
30 #include <memo-db.h>
31 #include <sys/statvfs.h>
32 #include <sys/stat.h>
33 #include <sys/mount.h>
34
35 #include <contacts-svc.h>
36
37 #define SETTING_MEMORY_EMAIL_MAX "5000"
38 #define SETTING_MEMORY_MSG_SMS_MAX "2600"
39 #define SETTING_MEMORY_MSG_MMS_MAX "800"
40 #define SETTING_MEMORY_CONTACT_MAX "100"
41 #define SETTING_MEMORY_CAL_APPOINT_MAX "500"
42 #define SETTING_MEMORY_CAL_ANNIVERS_MAX "100"
43 #define SETTING_MEMORY_MEMO_MAX "400"
44
45 #define SETTING_MEMORY_STATUS_EX_SD_CARD_MOUNT_ALREADY_DESC "Already mount"
46 #define SETTING_MEMORY_STATUS_EX_SD_CARD_DESC "IDS_ST_BODY_SD_CARD"
47 #define SETTING_MEMORY_STATUS_TOTAL_SPACE_DESC _("IDS_ST_BODY_TOTAL_SPACE")
48 #define SETTING_MEMORY_STATUS_AVAILABLE_SPACE_DESC _("IDS_ST_BODY_AVAILABLE_SPACE")
49 #define SETTING_MEMORY_STATUS_MOUNT_SD_CARD_DESC "IDS_ST_BODY_MOUNT_SD_CARD"
50 #define SETTING_MEMORY_STATUS_UNMOUNT_SD_CARD_DESC "IDS_ST_BODY_UNMOUNT_SD_CARD"
51 #define SETTING_MEMORY_STATUS_FORMAT_SD_CARD_DESC "IDS_ST_BODY_FORMAT_SD_CARD"
52 #define SETTING_MEMORY_STATUS_INTERNAL_SD_CARD_DESC "Internal SD card"
53 #define SETTING_MEMORY_STATUS_INTERNAL_PHONE_STORAGE_DESC "IDS_COM_BODY_SYSTEM_STORAGE"
54 #define SETTING_MEMORY_STATUS_MAIN_STORAGE_DESC "Main storage"
55
56 #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?"
57
58 #define SETTING_MEMORY_STATUS_PROGRESSBAR_TIMEOUT 10
59
60 enum {
61         SETTING_MEMORY_STATUS_SYSMAN_REQUEST_MOUNT_ALREADY = -2,
62         SETTING_MEMORY_STATUS_SYSMAN_REQUEST_SUCCESS = 0
63 };
64
65 static int __fs_stat(double* pdTotal, double* pdAvail, const char* szPath);
66
67 static void setting_memory_status_click_softkey_back(void *data,
68                                                      Evas_Object *obj,
69                                                      void *event_info);
70 static void setting_memory_status_ex_sd_card_info(char *ex_total_space,
71                                                   char *ex_available_space,
72                                                   char *ex_mount_desc,
73                                                   int *ex_mmc_status);
74 static int setting_memory_status_ex_sd_card_detail(char *ex_total_space,
75                                                    char *ex_available_space);
76 static void setting_memory_status_mouse_up_Gendial_list_cb(void *data,
77                                                            Evas_Object *obj,
78                                                            void *event_info);
79 static void setting_memory_status_ex_sd_card_format_promt_popup_create(void
80                                                                        *data);
81 static void setting_memory_status_ex_sd_card_ask_format_resp_cb(void *data,
82                                                                 Evas_Object *
83                                                                 obj,
84                                                                 void
85                                                                 *event_info);
86 static void setting_memory_status_ex_sd_card_format_promt_popup_left_btn_cb(void
87                                                                             *data,
88                                                                             Evas_Object
89                                                                             *
90                                                                             obj,
91                                                                             void
92                                                                             *event_info);
93 static void
94 setting_memory_status_ex_sd_card_format_promt_popup_right_btn_cb(void *data,
95                                                                  Evas_Object *
96                                                                  obj,
97                                                                  void
98                                                                  *event_info);
99 static void setting_memory_status_ex_sd_card_mount_unmount(void *data);
100 static void setting_memory_status_ex_sd_card_refresh_card_details_cb(void *data,
101                                                                      Evas_Object
102                                                                  *obj,
103                                                                      void
104                                                                      *event_info);
105 static void setting_memory_status_ex_sd_card_operate_complete(void *data,
106                                                               char *desc,
107                                                               bool popup_flag);
108 static void setting_memory_status_list_item_enable_set_by_mmc_status(void *data,
109                                                                      int
110                                                                      ex_mmc_status);
111 static void setting_memory_status_list_item_data_set(Setting_GenGroupItem_Data *
112                                                      item, char *data);
113 static void setting_memory_status_get_phone_storage_available_size(void *data,
114                                                                    char
115                                                                    *phone_storage_available);
116 static int setting_memory_status_size_transition(double size,
117                                                  char *size_desc);
118 static void setting_memory_status_ex_sd_card_format_cb(int val, void *data);
119 static void setting_memory_status_ex_sd_card_mount_cb(int val, void *data);
120 static void setting_memory_status_ex_sd_card_unmount_cb(int val, void *data);
121
122 #endif                          /* __SETTING_MEMORY_STATUS_H__ */