apply string IDs in code
[apps/core/preloaded/settings.git] / setting-storage / include / setting-storage.h
1 /*
2  * setting
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
5  *
6  * Contact: MyoungJune Park <mj2004.park@samsung.com>
7  * 
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #ifndef __SETTING_STORAGE_H__
22 #define __SETTING_STORAGE_H__
23
24 #include <stdio.h>
25 #include <Elementary.h>
26
27 #include <glib-object.h>
28
29 #include <setting-common-draw-widget.h>
30 #include <setting-common-view.h>
31
32 #define SETTING_STORAGE_PROGRESSBAR_TIMEOUT 10
33 #define SETTING_STORAGE_POPUP_TIMER     2
34
35 #define SETTING_STORAGE_MAX_STR_LEN                     30
36
37 #define SETTING_STORAGE_DIR_PATH_LEN_MAX                4096
38 #define SETTING_STORAGE_FILE_NAME_LEN_MAX               256
39 #define SETTING_STORAGE_CHILDPATH_LEN                   512
40
41 #define SETTING_STORAGE_KILOBYTE_VALUE                  1024
42 #define SETTING_STORAGE_MEGABYTE_VALUE                  1048576
43 #define SETTING_STORAGE_GIGABYTE_VALUE                  1073741824
44
45 #define SETTING_STORAGE_FORMAT_ASK_MSG "This action will erase the external storage in the phone. You will lose ALL data on the card! Format?"
46
47 #define SETTING_STORAGE_SD_CARD_MOUNT_ALREADY_DESC "Already mount"
48
49 #define SETTING_STORAGE_DEFAULT_STORAGE_STR "Default storage"
50 #define SETTING_STORAGE_INTERNAL_STORAGE_STR "IDS_ST_BODY_DEVICE_MEMORY"
51 #define SETTING_STORAGE_PICS_STR "IDS_ST_BODY_PICTURES_VIDEOS"
52 #define SETTING_STORAGE_DOWNS_STR "IDS_ST_BODY_DOWNLOADS"
53 #define SETTING_STORAGE_MISCES_STR "IDS_ST_BODY_MISCELLANEOUS_FILES"
54 #define SETTING_STORAGE_AVAIL_STR "IDS_ST_BODY_AVAILABLE"
55 #define SETTING_STORAGE_FORMAT_STR "IDS_ST_BODY_FORMAT_USB_STORAGE"
56 #define SETTING_STORAGE_FORMAT_DESC_STR "Erases all data on the internal USB storage, such as music and photos"
57 #define SETTING_STORAGE_MOUNT_STR "IDS_ST_BODY_MOUNT_SD_CARD"
58 #define SETTING_STORAGE_INSERT_STR "IDS_ST_BODY_INSERT_SD_CARD"
59
60 #define SETTING_STORAGE_APPS_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_applications.png"
61 #define SETTING_STORAGE_PICS_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_pictures.png"
62 #define SETTING_STORAGE_DOWNS_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_downloads.png"
63 #define SETTING_STORAGE_MISCES_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_miscellaneous_files.png"
64 #define SETTING_STORAGE_AVAIL_ICON_PATH SETTING_ICON_PATH"/A01-1_icon_color_available.png"
65
66 #define SETTING_STORAGE_ICON_WIDTH ((int)640 * WIDGET_SCALE_FACTOR)
67 #define SETTING_STORAGE_ICON_HEIGHT ((int)16 * WIDGET_SCALE_FACTOR)
68
69 #define SETTING_STORAGE_OPT_PATH                "/opt"
70 #define SETTING_STORAGE_MEDIA_PATH              "/opt/media"
71 #define SETTING_STORAGE_PICTURES_PATH           "/opt/media/Images"
72 #define SETTING_STORAGE_VIDEOS_PATH             "/opt/media/Videos"
73 #define SETTING_STORAGE_DOWNLOADS_PATH          "/opt/media/Downloads"
74 #define SETTING_STORAGE_MMC_PATH                "/opt/storage/sdcard"
75 #define SETTING_STORAGE_MMC_PARENT_PATH         "/opt/storage/sdcard/.."
76
77 enum {
78         SETTING_STORAGE_SYSMAN_REQUEST_MOUNT_ALREADY = -2,
79         SETTING_STORAGE_SYSMAN_REQUEST_SUCCESS = 0
80 };
81
82
83 typedef void (*setting_storage_mmc_cb) (int val, void *data);
84
85 typedef struct _Setting_Storage_Status {
86         double  dTotal;
87         double  dAvail;
88 } Setting_Storage_Status;
89
90 typedef struct _Node_Info Node_Info;
91 struct _Node_Info {
92         char path[SETTING_STORAGE_DIR_PATH_LEN_MAX + 1];
93         char name[SETTING_STORAGE_FILE_NAME_LEN_MAX + 1];
94         unsigned int size;
95 };
96
97 typedef struct _SettingStorageUG SettingStorageUG;
98
99 /**
100  * Setting Storage UG context
101  * all UG function has void* as an agument. this is casted back to SettingStorageUG 
102  * and the functions access app context.
103  */
104 struct _SettingStorageUG {
105         ui_gadget_h ug;
106
107         /* add more variables here (move your appdata to here) */
108         Evas *evas;
109         Evas_Object *win_main_layout;
110         Evas_Object *win_get;
111
112         Evas_Object *ly_main;
113
114         Evas_Object *genlist;
115         Evas_Object *navibar;
116
117         /* storage setting */
118         Evas_Object *popup;
119         Elm_Genlist_Item_Class itc_2text_3_parent;
120         Elm_Genlist_Item_Class itc_1icon_1text_sub;
121         Elm_Genlist_Item_Class itc_1text_1icon_2;
122         Elm_Genlist_Item_Class itc_2text_2;
123         Elm_Genlist_Item_Class itc_group_item;
124         Elm_Genlist_Item_Class itc_bg_1icon;
125         Elm_Genlist_Item_Class itc_seperator;
126         Elm_Genlist_Item_Class itc_2text_1icon_3;
127         Elm_Genlist_Item_Class itc_1text;
128         Elm_Genlist_Item_Class itc_2text_1icon_4;
129
130         Setting_Storage_Status internal_status;
131         Setting_Storage_Status apps_status;
132         Setting_Storage_Status pics_videos_status;
133         Setting_Storage_Status downloads_status;
134         Setting_Storage_Status others_status;
135
136         Setting_GenGroupItem_Data *internal;
137         Setting_GenGroupItem_Data *apps;
138         Setting_GenGroupItem_Data *pics_videos;
139         Setting_GenGroupItem_Data *downloads;
140         Setting_GenGroupItem_Data *others;
141         Setting_GenGroupItem_Data *avail;
142
143         Setting_GenGroupItem_Data *sd_mount;
144         Setting_GenGroupItem_Data *sd_total;
145         Setting_GenGroupItem_Data *sd_available;
146         Setting_GenGroupItem_Data *sd_format;
147
148         struct mmc_contents *mmc_content;
149
150         /* default storage */
151         Setting_GenGroupItem_Data *data_wap;
152         Setting_GenGroupItem_Data *data_bt;
153         Setting_GenGroupItem_Data *data_cmr;
154         Setting_GenGroupItem_Data *data_vrec;
155         Setting_GenGroupItem_Data *data_rdo;
156         Setting_GenGroupItem_Data *data_dvb_h;
157 };
158
159 extern setting_view setting_view_storage_main;
160 extern setting_view setting_view_storage_default_storage;
161
162 #endif                          /* __SETTING_STORAGE_H__ */