2 * Copyright 2012 Samsung Electronics Co., Ltd
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
8 * http://www.tizenopensource.org/license
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.
17 #ifndef _GL_DB_HANDLER_H_
18 #define _GL_DB_HANDLER_H_
20 #include <eina_list.h>
21 #include <visual-svc.h>
22 #include <Elementary.h>
29 #define GL_MAX_BYTES_FOR_CHAR 3
30 #define GL_FILE_PATH_LEN_MAX (4095 * GL_MAX_BYTES_FOR_CHAR + 1)
31 #define GL_FILE_NAME_LEN_MAX (255 * GL_MAX_BYTES_FOR_CHAR + 1)
32 #define GL_DIR_PATH_LEN_MAX GL_FILE_PATH_LEN_MAX
33 #define GL_ARRAY_LEN_MAX 256
34 #define GL_FILE_EXT_LEN_MAX 256
35 #define GL_FIRST_VIEW_START_POS 0
36 #define GL_FIRST_VIEW_END_POS 47 /*maybe 2 pages(=48 medias) is better, especially select album then drag up immediately */
37 #define GL_GET_UNTIL_LAST_RECORD 65536 /* Fixme: Do not use 65536. */
38 #define GL_GET_ALL_RECORDS -1
39 #define GL_GET_ONE_RECORDS 1
40 #define GL_GET_ALL_RECORDS_ID NULL
42 * Get a new mtype item from libmedia-info,
43 * if ID is NULL, libmedia-info just allocate memory for mtype item,
44 * then return it, instead of loading record from DB to initialize each field.
46 #define GL_NEW_RECORD_ID NULL
56 GL_RENAME_ALBUM_SUCCESS,
57 GL_RENAME_ALBUM_INVALIDATE_NAME,
58 GL_RENAME_ALBUM_DUPLICATED_NAME,
64 GL_DELETE_ALBUM_SUCCESS,
73 Elm_Object_Item *item;
76 void *ad; /* Save ad to prevent use global variable */
87 typedef struct _gl_item
90 Elm_Object_Item *elm_item;
91 Evas_Object *check_obj;
95 void *ad; /* Save ad to prevent use global variable */
99 bool gl_db_get_cluster_list(void *data);
100 int gl_db_update_cluster_list(void *data);
101 int gl_db_cluster_list_remove(void *data, gl_cluster * item);
102 int gl_db_add_cluster(void *data, char *cluster_url);
103 bool gl_db_exists_item(void *data, const char *id);
104 int gl_db_get_cluster_by_id(void *data, const char *cluster_id, gl_cluster **cluster, int *pos);
105 int gl_db_get_item_cnt(void *data, const char *cluster_id, int *item_cnt);
106 int gl_db_update_item_cnt(gl_cluster * album);
107 int gl_db_update_item_list(void *data);
108 int gl_db_get_item_list(void *data,
112 bool gl_db_is_item_cnt_zero(void *data, minfo_file_type type);
113 int gl_db_clear_item_list(void *data);
114 int gl_db_get_first_several_items(gl_cluster * album,
117 minfo_media_sort_type sort_type);
118 gl_item *gl_db_new_item_mitem(Mitem * mitem);
119 int gl_db_destroy_item(gl_item * gitem);
120 int gl_db_get_item_by_index(void *data, int idx, bool select_mode, gl_item ** gitem);
121 int gl_db_item_list_remove(void *data, gl_item * gitem);
122 int gl_db_append_item(void *data, gl_item * gitem);
123 int gl_db_remove_item(gl_item * gitem);
124 int gl_db_selected_list_append(void *data, gl_item * gitem);
125 int gl_db_selected_list_remove(void *data, gl_item * gitem);
126 gl_item *gl_db_selected_list_get_nth(void *data, int idx);
127 int gl_db_selected_list_finalize(void *data);
128 int gl_db_selected_list_count(void *data);
129 int gl_db_get_albums_selected_cnt(void *data);
130 bool gl_db_is_albums_selected_list_empty(void *data);
131 int gl_db_albums_selected_list_append(void *data, gl_cluster * item);
132 int gl_db_albums_selected_list_remove(void *data, gl_cluster * item);
133 int gl_db_finalize_albums_selected_list(void *data);
134 int gl_db_init(void *data);
135 int gl_db_finalize(void *data);
136 gl_cluster *gl_db_new_cluster(void);
137 Mitem *gl_db_new_mitem(void *data, const char *item_id);
138 Mcluster *gl_db_new_mcluster(void *data, const char *cluster_id);
139 int gl_db_get_folder_fullpath(void *data, const char *cluster_id, char *path);
140 bool gl_db_is_root_path(void *data, const char *cluster_id, const char *path);
141 bool gl_db_is_default_album(void *data, Mcluster *mcluster);
142 int gl_db_free_cluster(gl_cluster * gcluster);
147 #endif /* _GL_DB_HANDLER_H_ */