2 * Copyright 2012 Samsung Electronics Co., Ltd
\r
4 * Licensed under the Flora License, Version 1.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.tizenopensource.org/license
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
20 #include <eina_list.h>
\r
22 #include <Elementary.h>
\r
23 #include "gl-local-data.h"
\r
30 #define GL_MAX_BYTES_FOR_CHAR 3
\r
31 #define GL_FILE_PATH_LEN_MAX (4095 * GL_MAX_BYTES_FOR_CHAR + 1)
\r
32 #define GL_FILE_NAME_LEN_MAX (255 * GL_MAX_BYTES_FOR_CHAR + 1)
\r
33 #define GL_DIR_PATH_LEN_MAX GL_FILE_PATH_LEN_MAX
\r
34 #define GL_ARRAY_LEN_MAX 256
\r
35 #define GL_FILE_EXT_LEN_MAX 256
\r
36 #define GL_FIRST_VIEW_START_POS 0
\r
37 #define GL_FIRST_VIEW_END_POS 47 //27 /*maybe 2 pages(=48 medias) is better, especially select album then drag up immediately */
\r
38 #define GL_GET_UNTIL_LAST_RECORD 65536 //-1 /* Fixme: Do not use 65536. */
\r
39 #define GL_GET_ALL_RECORDS -1
\r
40 #define GL_GET_ONE_RECORDS 1
\r
41 #define GL_GET_ALL_RECORDS_ID NULL
\r
43 * Get a new mtype item from libmedia-info,
\r
44 * if ID is NULL, libmedia-info just allocate memory for mtype item,
\r
45 * then return it, instead of loading record from DB to initialize each field.
\r
47 #define GL_NEW_RECORD_ID NULL
\r
49 #define GL_JPEG_FILE_EXT "jpg"
\r
52 GL_SORT_BY_NONE, /**< No Sort */
\r
53 GL_SORT_BY_NAME_DESC, /**< Sort by display name descending */
\r
54 GL_SORT_BY_NAME_ASC, /**< Sort by display name ascending */
\r
55 GL_SORT_BY_DATE_DESC, /**< Sort by modified_date descending */
\r
56 GL_SORT_BY_DATE_ASC, /**< Sort by modified_date ascending */
\r
61 gl_album_s *cluster;
\r
64 Elm_Object_Item *item;
\r
67 void *ad; /* Save ad to prevent use global variable */
\r
74 /* Editable albums count */
\r
81 GL_ICON_EXPIRED_DRM,
\r
82 GL_ICON_CORRUPTED_FILE
\r
85 typedef struct _gl_item
\r
88 Elm_Object_Item *elm_item;
\r
89 Evas_Object *check_obj;
\r
92 void *ad; /* Save ad to prevent use global variable */
\r
96 bool _gl_data_get_cluster_list(void *data);
\r
97 int _gl_data_update_cluster_list(void *data);
\r
98 int _gl_data_cluster_list_remove(void *data, gl_cluster *item);
\r
99 int _gl_data_get_cluster_by_id(void *data, const char *cluster_id, gl_cluster **cluster);
\r
100 int _gl_data_get_cluster_by_path(void *data, const char *path,
\r
101 gl_cluster **cluster);
\r
102 int _gl_data_get_item_cnt(void *data, const char *cluster_id, int album_type,
\r
104 int _gl_data_update_item_cnt(gl_cluster *album);
\r
105 int _gl_data_update_item_list(void *data);
\r
106 int _gl_data_get_item_list(void *data, gl_cluster *album, int start_pos,
\r
108 bool _gl_data_is_item_cnt_zero(void *data, media_content_type_e type);
\r
109 int _gl_data_get_first_item(void *data, media_content_type_e type, gl_item **fitem);
\r
110 int _gl_data_clear_default_item_list(void *data);
\r
111 int _gl_data_get_first_several_items(gl_cluster *album, gl_item *items[], int *item_count, media_content_order_e sort_type);
\r
112 gl_item *_gl_data_new_item_mitem(gl_media_s *mitem);
\r
113 int _gl_data_destroy_item(gl_item *gitem);
\r
114 int _gl_data_get_item_by_index(void *data, int idx, bool select_mode, gl_item **gitem);
\r
115 int _gl_data_item_list_remove(void *data, gl_item *gitem);
\r
116 int _gl_data_append_item(void *data, gl_item *gitem);
\r
117 int _gl_data_remove_item(gl_item * gitem);
\r
118 int _gl_data_selected_list_append(void *data, gl_item *gitem);
\r
119 int _gl_data_selected_list_remove(void *data, gl_item *gitem);
\r
120 gl_item *_gl_data_selected_list_get_nth(void *data, int idx);
\r
121 int _gl_data_selected_list_finalize(void *data);
\r
122 int _gl_data_selected_list_count(void *data);
\r
123 bool _gl_data_is_albums_selected_empty(void *data);
\r
124 int _gl_data_get_albums_selected_files_path_str(void *data, gchar sep_c,
\r
125 char **path_str, int *sel_cnt);
\r
126 int _gl_data_get_albums_selected_cnt(void *data);
\r
127 bool _gl_data_is_albums_selected_list_empty(void *data);
\r
128 int _gl_data_albums_selected_list_append(void *data, gl_cluster *item);
\r
129 int _gl_data_albums_selected_list_remove(void *data, gl_cluster *item);
\r
130 int _gl_data_finalize_albums_selected_list(void *data);
\r
131 bool _gl_data_check_update(void *data, bool b_all);
\r
132 int _gl_data_init();
\r
133 int _gl_data_finalize(void *data);
\r
134 gl_cluster *_gl_data_new_cluster(void);
\r
135 gl_item *_gl_data_new_gitem(void *data, const char *item_id);
\r
136 bool _gl_data_is_root_path(void *data, const char *path);
\r
137 bool _gl_data_is_default_album(const char *match_folder, gl_album_s *album);
\r
138 int gl_db_free_cluster(gl_cluster *gcluster);
\r
139 int _gl_data_get_item_by_fullpath(void *data, char *path, gl_media_s **mitem);
\r
140 int _gl_data_delete_media(void *data, gl_media_s *media_item);
\r
145 #endif /* _GL_DATA_H_ */
\r