diff options
author | yy9875-kim <yy9875-kim@yy9875-kim-Desktop.(none)> | 2012-08-21 17:50:44 +0900 |
---|---|---|
committer | yy9875-kim <yy9875-kim@yy9875-kim-Desktop.(none)> | 2012-08-21 17:50:44 +0900 |
commit | f28d880d2f69e252e8355b06517bc3062dd2e34a (patch) | |
tree | 8f8dfc60be34732da93dd4e8bb7bc75037393cb0 | |
parent | f48e5455f367ed6e53b5978071c2b36c32817c4a (diff) | |
download | media-server-f28d880d2f69e252e8355b06517bc3062dd2e34a.tar.gz media-server-f28d880d2f69e252e8355b06517bc3062dd2e34a.tar.bz2 media-server-f28d880d2f69e252e8355b06517bc3062dd2e34a.zip |
update latest code of media-server
39 files changed, 5331 insertions, 1348 deletions
diff --git a/Makefile.am b/Makefile.am index b8c8ad5..ff14a29 100755 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = . +SUBDIRS = . AM_CPPFLAGS = $(FMS_DEBUG_FLAGS) @@ -14,12 +14,14 @@ nor_directory = /etc/rc.d/rc3.d hib_directory = /etc/rc.d/rc5.d install-data-hook: + mkdir $(DESTDIR)/usr/local/bin/ -p + cp -a $(CURDIR)/reset_mediadb.sh $(DESTDIR)/usr/local/bin/ mkdir $(DESTDIR)$(nor_directory) -p - ln -s ../init.d/mediasvr S48mediasvr - mv ./S48mediasvr $(DESTDIR)$(nor_directory) + ln -s ../init.d/mediasvr S99mediasvr + mv ./S99mediasvr $(DESTDIR)$(nor_directory) mkdir $(DESTDIR)$(hib_directory) -p - ln -s ../init.d/mediasvr S48mediasvr - mv ./S48mediasvr $(DESTDIR)$(hib_directory) + ln -s ../init.d/mediasvr S99mediasvr + mv ./S99mediasvr $(DESTDIR)$(hib_directory) # init.d script fmsvcdir = /etc/rc.d/init.d @@ -32,16 +34,20 @@ libmedia_utils_la_SOURCES = lib/media-util-noti.c \ libmedia_utils_la_CFLAGS = -I${srcdir}/lib/include \ $(GLIB_CFLAGS) \ - $(DLOG_CFLAGS) + $(DLOG_CFLAGS) \ + $(DBUS_CFLAGS) libmedia_utils_la_LIBADD = $(GLIB_LIBS) \ - $(DLOG_LIBS) + $(DLOG_LIBS) \ + $(DBUS_LIBS) ### file-manager-server ### bin_PROGRAMS = media-server -media_server_SOURCES = common/media-server-utils.c \ +media_server_SOURCES = common/media-server-dbus.c \ + common/media-server-drm.c \ + common/media-server-utils.c \ common/media-server-external-storage.c \ common/media-server-db-svc.c \ common/media-server-inotify-internal.c \ @@ -59,10 +65,13 @@ media_server_CFLAGS = -I${srcdir}/common/include \ $(DLOG_CFLAGS) \ $(DRM_SERVICE_CFLAGS) \ $(AUL_CFLAG)\ - $(LIBPMCONTROL_CFLAGS) + $(LIBPMCONTROL_CFLAGS) \ + $(HEYNOTI_CFLAGS) \ + $(DBUS_CFLAGS) # $(LIBQUICKPANEL_CFLAGS) -media_server_LDADD = $(GLIB_LIBS) \ +media_server_LDADD = libmedia-utils.la \ + $(GLIB_LIBS) \ $(GTHREAD_LIBS) \ $(PHONESTATUS_LIBS) \ $(DLOG_LIBS) \ @@ -70,6 +79,8 @@ media_server_LDADD = $(GLIB_LIBS) \ $(AUL_LIBS) \ $(LIBPMCONTROL_LIBS) \ $(THUMB_GEN_LIBS) \ + $(HEYNOTI_LIBS) \ + $(DBUS_LIBS) \ -ldl #this is for using dlsym # $(LIBQUICKPANEL_LIBS) diff --git a/common/include/media-server-db-svc.h b/common/include/media-server-db-svc.h index 67998b1..85aa483 100755 --- a/common/include/media-server-db-svc.h +++ b/common/include/media-server-db-svc.h @@ -27,6 +27,9 @@ * @version 1.0 * @brief */ +#ifndef _MEDIA_SERVER_DB_SVC_H_ +#define _MEDIA_SERVER_DB_SVC_H_ + #include "media-server-global.h" typedef int (*CHECK_ITEM)(const char*, const char*, char **); @@ -49,6 +52,7 @@ typedef int (*DELETE_ALL_ITEMS_IN_STORAGE)(void*, int, char **); typedef int (*DELETE_ALL_INVALID_ITMES_IN_STORAGE)(void*, int, char **); typedef int (*UPDATE_BEGIN)(char **); typedef int (*UPDATE_END)(char **); +typedef int (*REFRESH_ITEM)(void*, const char *, int, const char*, char**); int ms_load_functions(void); @@ -57,60 +61,68 @@ void ms_unload_functions(void); int -ms_connect_db(void **handle); +ms_connect_db(void ***handle); int -ms_disconnect_db(void *handle); +ms_disconnect_db(void ***handle); int -ms_validate_item(void *handle, char *path); +ms_validate_item(void **handle, char *path); int -ms_register_file(void *handle, const char *path, GAsyncQueue* queue); +ms_register_file(void **handle, const char *path, GAsyncQueue* queue); int -ms_insert_item_batch(void *handle, const char *path); +ms_insert_item_batch(void **handle, const char *path); int -ms_insert_item(void *handle, const char *path); +ms_insert_item(void **handle, const char *path); int -ms_delete_item(void *handle, const char *full_file_path); +ms_delete_item(void **handle, const char *full_file_path); int -ms_move_item(void *handle, - ms_store_type_t src_store_type, - ms_store_type_t dest_store_type, +ms_move_item(void **handle, + ms_storage_type_t src_store_type, + ms_storage_type_t dest_store_type, const char *src_file_full_path, const char *dest_file_full_path); bool -ms_delete_all_items(void *handle, ms_store_type_t store_type); +ms_delete_all_items(void **handle, ms_storage_type_t store_type); int -ms_invalidate_all_items(void *handle, ms_store_type_t table_id); +ms_invalidate_all_items(void **handle, ms_storage_type_t table_id); bool -ms_delete_invalid_items(void *handle, ms_store_type_t store_type); +ms_delete_invalid_items(void **handle, ms_storage_type_t store_type); + +int +ms_refresh_item(void **handle, const char *path); + +int +ms_check_exist(void **handle, const char *path); /**************************************************************************************************** FOR BULK COMMIT *****************************************************************************************************/ void -ms_register_start(void *handle); +ms_register_start(void **handle); void -ms_register_end(void *handle); +ms_register_end(void **handle); void -ms_move_start(void *handle); +ms_move_start(void **handle); void -ms_move_end(void *handle); +ms_move_end(void **handle); void -ms_validate_start(void *handle); +ms_validate_start(void **handle); void -ms_validate_end(void *handle);
\ No newline at end of file +ms_validate_end(void **handle); + +#endif /*_MEDIA_SERVER_DB_SVC_H_*/
\ No newline at end of file diff --git a/common/include/media-server-dbus-type.h b/common/include/media-server-dbus-type.h new file mode 100755 index 0000000..54c227a --- /dev/null +++ b/common/include/media-server-dbus-type.h @@ -0,0 +1,33 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _MEDIA_SERVER_DBUS_TYPES_H_ +#define _MEDIA_SERVER_DBUS_TYPES_H_ + +#define MS_DBUS_PATH "/com/mediaserver/dbus/notify" +#define MS_DBUS_INTERFACE "com.mediaserver.dbus.Signal" +#define MS_DBUS_NAME "ms_db_updated" +#define MS_DBUS_MATCH_RULE "type='signal',interface='com.mediaserver.dbus.Signal'" + +typedef enum { + MS_DBUS_DB_UPDATED +} ms_dbus_noti_type_t; + +#endif /*_MEDIA_SERVER_DBUS_TYPES_H_*/
\ No newline at end of file diff --git a/common/include/media-server-dbus.h b/common/include/media-server-dbus.h new file mode 100755 index 0000000..241d543 --- /dev/null +++ b/common/include/media-server-dbus.h @@ -0,0 +1,30 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#ifndef _MEDIA_SERVER_DBUS_H__ +#define _MEDIA_SERVER_DBUS_H__ + +#include "media-server-dbus-type.h" + +void ms_dbus_init(void); + +gboolean ms_dbus_send_noti(ms_dbus_noti_type_t data); + +#endif/*_MEDIA_SERVER_DBUS_H__*/
\ No newline at end of file diff --git a/common/include/media-server-drm.h b/common/include/media-server-drm.h new file mode 100755 index 0000000..27f3dc6 --- /dev/null +++ b/common/include/media-server-drm.h @@ -0,0 +1,54 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** + * This file defines api utilities of contents manager engines. + * + * @file media-server-drm.h + * @author Yong Yeon Kim(yy9875.kim@samsung.com) + * @version 1.0 + * @brief This file implements main database operation. + */ +#ifndef _MEDIA_SERVER_DRM_H_ +#define _MEDIA_SERVER_DRM_H_ + +bool +ms_is_drm_file(const char *path); + +int +ms_get_mime_in_drm_info(const char *path, char *mime); + +int +ms_drm_register(const char* path); + +void +ms_drm_unregister(const char* path); + +void +ms_drm_unregister_all(void); + +bool +ms_drm_insert_ext_memory(void); + +bool +ms_drm_extract_ext_memory(void); + +#endif /*_MEDIA_SERVER_DRM_H_*/
\ No newline at end of file diff --git a/common/include/media-server-error.h b/common/include/media-server-error.h index b2ec284..f4bf8e7 100755 --- a/common/include/media-server-error.h +++ b/common/include/media-server-error.h @@ -62,6 +62,7 @@ #define MS_ERR_DB_UPDATE_RECORD_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x33)) /**< updating record fails */ #define MS_ERR_DB_CONNECT_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x34)) /**< connecting database fails */ #define MS_ERR_DB_DISCONNECT_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x35)) /**< disconnecting database fails */ +#define MS_ERR_DB_EXIST_ITEM_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x36)) /**< item does not exist */ /*drm operation error*/ #define MS_ERR_DRM_GET_TYPE_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x40)) @@ -82,7 +83,7 @@ #define MS_ERR_UNKNOWN_ERROR (MID_CONTENTS_MGR_ERROR - ERROR(0x61)) /**< unknow error*/ #define MS_ERR_VCONF_SET_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x62)) /**< vconf set fail*/ #define MS_ERR_VCONF_GET_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x63)) /**< vconf get fail*/ -#define MS_ERR_NOT_MEDIA_FILE (MID_CONTENTS_MGR_ERROR - ERROR(0x64)) /**< not media file*/ +#define MS_ERR_MIME_GET_FAIL (MID_CONTENTS_MGR_ERROR - ERROR(0x64)) /**< not media file*/ #define MS_ERR_MAX (MID_CONTENTS_MGR_ERROR - ERROR(0xff)) /**< not media file*/ #endif/* _MEDIA_SERVER_ERROR_H_ */ diff --git a/common/include/media-server-external-storage.h b/common/include/media-server-external-storage.h index 342d0de..1d3994e 100755 --- a/common/include/media-server-external-storage.h +++ b/common/include/media-server-external-storage.h @@ -1,3 +1,26 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */
+#ifndef _MEDIA_SERVER_EXTERNAL_STORAGE_H_
+#define _MEDIA_SERVER_EXTERNAL_STORAGE_H_
+
void
ms_make_default_path_mmc(void);
@@ -11,4 +34,6 @@ void ms_mmc_vconf_cb(void *data);
ms_dir_scan_type_t -ms_get_mmc_state(void);
\ No newline at end of file +ms_get_mmc_state(void);
+
+#endif /*_MEDIA_SERVER_EXTERNAL_STORAGE_H_*/
diff --git a/common/include/media-server-global.h b/common/include/media-server-global.h index 07ca548..183df43 100755 --- a/common/include/media-server-global.h +++ b/common/include/media-server-global.h @@ -64,27 +64,37 @@ #undef LOG_TAG #endif #define LOG_TAG "MEDIA-SERVER" -#define MS_DBG_START() LOGD("[%d, %s-%d] ========[ START ]========\n" , syscall(__NR_gettid), __func__ , __LINE__); -#define MS_DBG_END() LOGD("[%d, %s-%d] ========[ END ]========\n" ,syscall(__NR_gettid), __func__ , __LINE__); #define MS_DBG_FUNC_LINE() LOGD("[%s-%d] debug\n" , __func__ , __LINE__); #define MS_DBG(fmt, args...) LOGD("[%d, %s-%d] " fmt "\n" , syscall(__NR_gettid), __func__ , __LINE__ , ##args); +#define MS_DBG_INFO(fmt, args...) do{ if (true) { \ + LOGE("[%s-%d]" fmt "\n", __func__ , __LINE__, ##args); \ + }} while(false) + +#define MS_DBG_WARN(fmt, args...) do{ if (true) { \ + LOGW("[%s-%d]" fmt "\n", __func__ , __LINE__, ##args); \ + }} while(false) + +#define MS_DBG_ERR(fmt, args...) do{ if (true) { \ + LOGE("[%d, %s-%d]" fmt "\n", syscall(__NR_gettid), __func__ , __LINE__, ##args); \ + }} while(false) + #define MALLOC(a) malloc(a) #define FREE(a) free(a) -#define MS_PHONE_ROOT_PATH "opt/media" -#define MS_MMC_ROOT_PATH "opt/storage/sdcard" +#define MS_ROOT_PATH_INTERNAL "/opt/media" +#define MS_ROOT_PATH_EXTERNAL "/opt/storage/sdcard" #define MS_DB_UPDATE_NOTI_PATH "/opt/data/file-manager-service" -/*This macro is used to check the lastest usb mode*/ -#define MS_USB_MODE_KEY "db/Apps/mediaserver/usbmode" -enum { - MS_VCONFKEY_NORMAL_MODE = 0x00, - MS_VCONFKEY_MASS_STORAGE_MODE = 0x01 -}; - /*This macro is used to save and check information of inserted memory card*/ -#define MS_MMC_INFO_KEY "db/Apps/mediaserver/mmc_info" +#define MS_MMC_INFO_KEY "db/private/mediaserver/mmc_info" + + +/*Use for Poweroff sequence*/ +#define POWEROFF_NOTI_NAME "power_off_start" /*poeroff noti from system-server*/ +#define POWEROFF_DIR_PATH "/opt/media/_POWER_OFF" /*This path uses for stopping Inotify thread and Socket thread*/ +#define POWEROFF_DIR_NAME "_POWER_OFF" /*This path uses for stopping Inotify thread and Socket thread*/ +#define POWEROFF 10000 /*This number uses for stopping Scannig thread*/ /** * @} diff --git a/common/include/media-server-inotify-internal.h b/common/include/media-server-inotify-internal.h index b408b96..78061de 100755 --- a/common/include/media-server-inotify-internal.h +++ b/common/include/media-server-inotify-internal.h @@ -27,14 +27,21 @@ * @version 1.0 * @brief */ +#ifndef _MEDIA_SERVER_INOTIFY_INTERNAL_H_ +#define _MEDIA_SERVER_INOTIFY_INTERNAL_H_ + #include <sys/inotify.h> -#include <sqlite3.h> -#include <drm-service.h> #define INOTI_EVENT_SIZE (sizeof(struct inotify_event)) #define INOTI_BUF_LEN (1024*(INOTI_EVENT_SIZE+16)) #define INOTI_FOLDER_COUNT_MAX 1024 +typedef struct ms_inoti_dir_data { + char *name; + int wd; + struct ms_inoti_dir_data *next; +} ms_inoti_dir_data; + typedef struct ms_create_file_info { char *name; int wd; @@ -52,3 +59,4 @@ bool _ms_inoti_full_path(int wd, char *name, char *path, int sizeofpath); bool _ms_inoti_get_full_path(int wd, char *name, char *path, int sizeofpath); +#endif /*_MEDIA_SERVER_INOTIFY_INTERNAL_H_*/ diff --git a/common/include/media-server-inotify.h b/common/include/media-server-inotify.h index 845bfcb..34236b6 100755 --- a/common/include/media-server-inotify.h +++ b/common/include/media-server-inotify.h @@ -46,7 +46,7 @@ gboolean ms_inoti_thread(gpointer data); void ms_inoti_add_watch(char *path); -int ms_inoti_add_watch_with_node(ms_dir_scan_info * const current_node); +int ms_inoti_add_watch_with_node(ms_dir_scan_info * const current_node, int depth); void ms_inoti_remove_watch_recursive(char *path); @@ -61,4 +61,6 @@ int ms_inoti_delete_ignore_file(ms_ignore_file_info * delete_node); ms_ignore_file_info *ms_inoti_find_ignore_file(const char *path); void ms_inoti_delete_mmc_ignore_file(void); + +void ms_inoti_add_watch_all_directory(ms_storage_type_t storage_type); #endif/* _MEDIA_SERVER_INOTI_H_ */ diff --git a/common/include/media-server-scan-internal.h b/common/include/media-server-scan-internal.h index d9b8351..5f34fee 100755 --- a/common/include/media-server-scan-internal.h +++ b/common/include/media-server-scan-internal.h @@ -27,12 +27,12 @@ * @version 1.0 * @brief */ +#ifndef _MEDIA_SERVER_SCAN_INTERNAL_H_ +#define _MEDIA_SERVER_SCAN_INTERNAL_H_ + #include "media-server-global.h" #include "media-server-types.h" -#ifdef PROGRESS -struct quickpanel; -void _ms_dir_scan(void *handle, ms_scan_data_t * scan_data, struct quickpanel *ms_quickpanel); -#else -void _ms_dir_scan(void *handle, ms_scan_data_t * scan_data); -#endif +void _ms_dir_scan(void **handle, ms_scan_data_t * scan_data); + +#endif /*_MEDIA_SERVER_SCAN_INTERNAL_H_*/ diff --git a/common/include/media-server-scan.h b/common/include/media-server-scan.h index 1cea90b..113b39a 100755 --- a/common/include/media-server-scan.h +++ b/common/include/media-server-scan.h @@ -27,5 +27,9 @@ * @version 1.0 * @brief */ +#ifndef _MEDIA_SERVER_SCAN_H_ +#define _MEDIA_SERVER_SCAN_H_ gboolean ms_scan_thread(void *data); + +#endif /*_MEDIA_SERVER_SCAN_H_*/
\ No newline at end of file diff --git a/common/include/media-server-socket.h b/common/include/media-server-socket.h index 934c0bd..de29dc3 100755 --- a/common/include/media-server-socket.h +++ b/common/include/media-server-socket.h @@ -27,8 +27,16 @@ * @version 1.0 * @brief */ - #include "media-server-global.h" +#ifndef _MEDIA_SERVER_SOCKET_H_ +#define _MEDIA_SERVER_SOCKET_H_ + +#include "media-server-global.h" #include "media-server-types.h" -gboolean ms_socket_thread(void *data); +gboolean ms_read_socket(GIOChannel *src, + GIOCondition condition, + gpointer data); + +gboolean ms_prepare_socket(int *sock_fd); +#endif /*_MEDIA_SERVER_SOCKET_H_*/ diff --git a/common/include/media-server-types.h b/common/include/media-server-types.h index bafe88f..01f128c 100755 --- a/common/include/media-server-types.h +++ b/common/include/media-server-types.h @@ -28,17 +28,19 @@ * @brief */ -#include <stdbool.h> -#include <glib.h> - #ifndef _MEDIA_SERVER_TYPES_H_ #define _MEDIA_SERVER_TYPES_H_ +#include <stdbool.h> +#include <glib.h> + #if !defined(__TYPEDEF_INT64__) #define __TYPEDEF_INT64__ typedef long long int64; #endif +#define MS_SAFE_FREE(src) { if(src) {free(src); src = NULL;} } + /*System default folder definition*/ #define FAT_FILENAME_LEN_MAX 255 /* not inc null */ #define FAT_FILEPATH_LEN_MAX 4096 /* inc null */ @@ -48,22 +50,13 @@ typedef long long int64; #define MS_FILE_NAME_LEN_MAX FAT_FILENAME_LEN_MAX /**< File name max length on file system */ #define MS_FILE_PATH_LEN_MAX FAT_FILEPATH_LEN_MAX /**< File path max length (include file name) on file system */ -#define MS_CATEGORY_UNKNOWN 0x00000000 /**< Default */ -#define MS_CATEGORY_ETC 0x00000001 /**< ETC category */ -#define MS_CATEGORY_IMAGE 0x00000002 /**< Image category */ -#define MS_CATEGORY_VIDEO 0x00000004 /**< Video category */ -#define MS_CATEGORY_MUSIC 0x00000008 /**< Music category */ -#define MS_CATEGORY_SOUND 0x00000010 /**< Sound category */ -#define MS_CATEGORY_DRM 0x00000020 /**< DRM category */ - typedef enum { - MS_PHONE, /**< Stored only in phone */ - MS_MMC, /**< Stored only in MMC */ -} ms_store_type_t; + MS_STORAGE_INTERNAL, /**< Stored only in phone */ + MS_STORATE_EXTERNAL, /**< Stored only in MMC */ +} ms_storage_type_t; typedef enum { - MS_SCAN_NONE, - MS_SCAN_VALID, + MS_SCAN_INVALID, MS_SCAN_PART, MS_SCAN_ALL, } ms_dir_scan_type_t; @@ -81,17 +74,11 @@ typedef struct ms_dir_scan_info { } ms_dir_scan_info; typedef struct { - ms_store_type_t db_type; + char *path; + ms_storage_type_t storage_type; ms_dir_scan_type_t scan_type; } ms_scan_data_t; -typedef struct ms_dir_data { - char *name; - int wd; - bool db_updated; - struct ms_dir_data *next; -} ms_dir_data; - /** * @} */ diff --git a/common/include/media-server-utils.h b/common/include/media-server-utils.h index b7ee0ef..9b42318 100755 --- a/common/include/media-server-utils.h +++ b/common/include/media-server-utils.h @@ -31,7 +31,6 @@ #ifndef _MEDIA_SERVER_UTILS_H__ #define _MEDIA_SERVER_UTILS_H__ -#include <sqlite3.h> #include "media-server-global.h" int @@ -53,10 +52,10 @@ void ms_end(void); int -ms_get_full_path_from_node(ms_dir_scan_info * const node, char *ret_path); +ms_get_full_path_from_node(ms_dir_scan_info * const node, char *ret_path, int depth); -ms_store_type_t -ms_get_store_type_by_full(const char *path); +ms_storage_type_t +ms_get_storage_type_by_full(const char *path); int ms_strappend(char *res, const int size, const char *pattern, @@ -78,9 +77,6 @@ ms_config_get_str(const char *key, char *value); bool ms_config_set_str(const char *key, const char *value); -void -ms_check_db_updating(void); - #ifdef FMS_PERF void ms_check_start_time(struct timeval *start_time); @@ -92,18 +88,6 @@ void ms_check_time_diff(struct timeval *start_time, struct timeval *end_time); #endif/*FMS_PERF */ -#ifdef PROGRESS -struct quickpanel; - -void -ms_create_quickpanel(struct quickpanel *ms_quickpanel); - -void -ms_update_progress(struct quickpanel *ms_quickpanel, double progress); - -void -ms_delete_quickpanel(struct quickpanel *ms_quickpanel); -#endif /*PROGRSS*/ /** * @} */ diff --git a/common/media-server-db-svc.c b/common/media-server-db-svc.c index c9bec72..4e8516c 100755 --- a/common/media-server-db-svc.c +++ b/common/media-server-db-svc.c @@ -31,10 +31,10 @@ #include <dlfcn.h> #include <aul/aul.h> -#include <drm-service.h> #include "media-server-utils.h" #include "media-server-inotify.h" +#include "media-server-drm.h" #include "media-server-db-svc.h" GMutex * db_mutex; @@ -51,27 +51,6 @@ GMutex *queue_mutex; void **func_handle = NULL; /*dlopen handel*/ -CHECK_ITEM f_check; -CONNECT f_connect; -DISCONNECT f_disconnect; -CHECK_ITEM_EXIST f_exist; -INSERT_ITEM_BEGIN f_insert_begin; -INSERT_ITEM_END f_insert_end; -INSERT_ITEM f_insert_batch; -INSERT_ITEM_IMMEDIATELY f_insert; -MOVE_ITEM_BEGIN f_move_begin; -MOVE_ITEM_END f_move_end; -MOVE_ITEM f_move; -SET_ALL_STORAGE_ITEMS_VALIDITY f_set_all_validity; -SET_ITEM_VALIDITY_BEGIN f_set_validity_begin; -SET_ITEM_VALIDITY_END f_set_validity_end; -SET_ITEM_VALIDITY f_set_validity; -DELETE_ITEM f_delete; -DELETE_ALL_ITEMS_IN_STORAGE f_delete_all; -DELETE_ALL_INVALID_ITMES_IN_STORAGE f_delete_invalid_items; -UPDATE_BEGIN f_update_begin; -UPDATE_END f_update_end; - enum func_list { eCHECK, eCONNECT, @@ -93,6 +72,7 @@ enum func_list { eDELETE_INVALID_ITEMS, eUPDATE_BEGIN, eUPDATE_END, + eREFRESH_ITEM, eFUNC_MAX }; @@ -142,10 +122,9 @@ _ms_delete_reg_list(const char *path) for(list_index = 0; list_index < len; list_index++) { data = g_array_index (reg_list, char*, list_index); - MS_DBG("%s", data); if(!strcmp(data, path)) { MS_DBG("Delete complete : %s", data); - free(data); + MS_SAFE_FREE(data); g_array_remove_index(reg_list, list_index); break; } @@ -155,32 +134,8 @@ _ms_delete_reg_list(const char *path) } static int -_ms_get_mime_in_drm_info(const char *path, char *mime) -{ - int ret; - drm_content_info_t contentInfo = { 0 }; - - if (path == NULL || mime == NULL) - return MS_ERR_ARG_INVALID; - - ret = drm_svc_get_content_info(path, &contentInfo); - if (ret != DRM_RESULT_SUCCESS) { - MS_DBG("drm_svc_get_content_info() fails. "); - return MS_ERR_DRM_GET_INFO_FAIL; - } - - strncpy(mime, contentInfo.contentType, 100); - MS_DBG("DRM contentType : %s", contentInfo.contentType); - MS_DBG("DRM mime : %s", mime); - - return MS_ERR_NONE; -} - -static int _ms_get_mime(const char *path, char *mimetype) { - MS_DBG_START(); - int ret = 0; if (path == NULL) @@ -188,31 +143,23 @@ _ms_get_mime(const char *path, char *mimetype) /*get content type and mime type from file. */ /*in case of drm file. */ - if (drm_svc_is_drm_file(path) == DRM_TRUE) { - DRM_FILE_TYPE drm_type = DRM_FILE_TYPE_NONE; - drm_type = drm_svc_get_drm_type(path); - if (drm_type == DRM_FILE_TYPE_NONE) { - MS_DBG("There is no TYPE"); - return MS_ERR_DRM_GET_TYPE_FAIL; - } else { - ret = _ms_get_mime_in_drm_info(path, mimetype); - if (ret != 0) { - MS_DBG("Fail to get mime"); - return ret; - } + if (ms_is_drm_file(path)) { + + ms_inoti_add_ignore_file(path); + + ret = ms_get_mime_in_drm_info(path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("Fail to get mime"); + return MS_ERR_MIME_GET_FAIL; } } else { /*in case of normal files */ if (aul_get_mime_from_file(path, mimetype, 255) < 0) { - MS_DBG("aul_get_mime_from_file fail"); - return MS_ERR_ARG_INVALID; + MS_DBG_ERR("aul_get_mime_from_file fail"); + return MS_ERR_MIME_GET_FAIL; } } - MS_DBG("mime type : %s", mimetype); - - MS_DBG_END(); - return MS_ERR_NONE; } @@ -231,39 +178,12 @@ _ms_check_category(const char *path, const char *mimetype, int index) char *err_msg = NULL; ret = ((CHECK_ITEM)func_array[index][eCHECK])(path, mimetype, &err_msg); - if (ret != 0) - free(err_msg); - - return ret; -} - -static int -_ms_drm_register(const char* path) -{ - MS_DBG("THIS IS DRM FILE"); - int res = MS_ERR_NONE; - DRM_RESULT dres; - - ms_inoti_add_ignore_file(path); - dres = drm_svc_register_file(path); - if (dres != DRM_RESULT_SUCCESS) { - MS_DBG("drm_svc_register_file error : %d", res); - res = MS_ERR_DRM_REGISTER_FAIL; + if (ret != 0) { + MS_DBG_ERR("error : %s [%s] %s", g_array_index(so_array, char*, index), err_msg, path); + MS_SAFE_FREE(err_msg); } - return res; -} - -static void -_ms_drm_unregister(const char* path) -{ - ms_ignore_file_info *ignore_file; - - drm_svc_unregister_file(path, false); - - ignore_file = ms_inoti_find_ignore_file(path); - if (ignore_file != NULL) - ms_inoti_delete_ignore_file(ignore_file); + return ret; } static int @@ -274,7 +194,7 @@ _ms_token_data(char *buf, char **name) pos = strstr(buf, EXT); if (pos == NULL) { - MS_DBG("This is not shared object library."); + MS_DBG_ERR("This is not shared object library."); name = NULL; return -1; } else { @@ -298,7 +218,7 @@ _ms_load_config() fp = fopen(CONFIG_PATH, "rt"); if (fp == NULL) { - MS_DBG("fp is NULL"); + MS_DBG_ERR("fp is NULL"); return MS_ERR_FILE_OPEN_FAIL; } while(1) { @@ -343,7 +263,8 @@ ms_load_functions(void) "delete_all_items_in_storage", "delete_all_invalid_items_in_storage", "update_begin", - "update_end" + "update_end", + "refresh_item" }; /*init array for adding name of so*/ so_array = g_array_new(FALSE, FALSE, sizeof(char*)); @@ -367,7 +288,7 @@ ms_load_functions(void) MS_DBG("[name of so : %s]", g_array_index(so_array, char*, lib_index)); func_handle[lib_index] = dlopen(g_array_index(so_array, char*, lib_index), RTLD_LAZY); if (!func_handle[lib_index]) { - MS_DBG("%s", dlerror()); + MS_DBG_ERR("%s", dlerror()); return -1; } lib_index++; @@ -388,32 +309,30 @@ ms_load_functions(void) } } - MS_DBG("FUNCTIONS LOAD COMPLETE"); - return MS_ERR_NONE; } void ms_unload_functions(void) { - int lib_index, func_index; + int lib_index; for (lib_index = 0; lib_index < lib_num; lib_index ++) dlclose(func_handle[lib_index]); for (lib_index = 0; lib_index < lib_num; lib_index++) { - for (func_index = 0; func_index < eFUNC_MAX ; func_index++) { - free(func_array[lib_index][func_index]); - } + if (func_array[lib_index]) { + MS_SAFE_FREE(func_array[lib_index]); + } } - free(func_array); - free(func_handle); - g_array_free(so_array, TRUE); + MS_SAFE_FREE (func_array); + MS_SAFE_FREE (func_handle); + if (so_array) g_array_free(so_array, TRUE); } int -ms_connect_db(void **handle) +ms_connect_db(void ***handle) { int lib_index; int ret; @@ -422,11 +341,13 @@ ms_connect_db(void **handle) /*Lock mutex for openning db*/ g_mutex_lock(db_mutex); + *handle = malloc (sizeof (void*) * lib_num); + for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((CONNECT)func_array[lib_index][eCONNECT])(handle, &err_msg); /*dlopen*/ + ret = ((CONNECT)func_array[lib_index][eCONNECT])(&((*handle)[lib_index]), &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); g_mutex_unlock(db_mutex); return MS_ERR_DB_CONNECT_FAIL; @@ -441,117 +362,119 @@ ms_connect_db(void **handle) } int -ms_disconnect_db(void *handle) +ms_disconnect_db(void ***handle) { int lib_index; int ret; char * err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((DISCONNECT)func_array[lib_index][eDISCONNECT])(handle, &err_msg); /*dlopen*/ + ret = ((DISCONNECT)func_array[lib_index][eDISCONNECT])((*handle)[lib_index], &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); return MS_ERR_DB_DISCONNECT_FAIL; } } + MS_SAFE_FREE(*handle); + MS_DBG("Disconnect Media DB"); return MS_ERR_NONE; } int -ms_validate_item(void *handle, char *path) +ms_validate_item(void **handle, char *path) { - MS_DBG_START(); - int lib_index; int res = MS_ERR_NONE; int ret; char *err_msg = NULL; char mimetype[255] = {0}; - ms_store_type_t storage_type; + ms_storage_type_t storage_type; - MS_DBG("%s", path); + ret = _ms_get_mime(path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("err : _ms_get_mime [%d]", ret); + return ret; + } + storage_type = ms_get_storage_type_by_full(path); - _ms_get_mime(path, mimetype); - storage_type = ms_get_store_type_by_full(path); + MS_DBG("[%s] %s", mimetype, path); for (lib_index = 0; lib_index < lib_num; lib_index++) { if (!_ms_check_category(path, mimetype, lib_index)) { /*check exist in Media DB, If file is not exist, insert data in DB. */ - ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle, path, storage_type, &err_msg); /*dlopen*/ + ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle[lib_index], path, storage_type, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("not exist in Music DB. insert data"); - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); - - ret = ms_insert_item_batch(handle, path); - if (ret != MS_ERR_NONE) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - res = ret; + MS_DBG("not exist in %d. insert data", lib_index); + MS_SAFE_FREE(err_msg); + + ret = ((INSERT_ITEM)func_array[lib_index][eINSERT_BATCH])(handle[lib_index], path, storage_type, mimetype, &err_msg); /*dlopen*/ + if (ret != 0) { + MS_DBG_ERR("error : %s [%s] %s", g_array_index(so_array, char*, lib_index), err_msg, path); + MS_SAFE_FREE(err_msg); + res = MS_ERR_DB_INSERT_RECORD_FAIL; } } else { /*if meta data of file exist, change valid field to "1" */ - MS_DBG("Item exist"); - - ret = ((SET_ITEM_VALIDITY)func_array[lib_index][eSET_VALIDITY])(handle, path, true, mimetype, true, &err_msg); /*dlopen*/ + ret = ((SET_ITEM_VALIDITY)func_array[lib_index][eSET_VALIDITY])(handle[lib_index], path, true, mimetype, true, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s] %s", g_array_index(so_array, char*, lib_index), err_msg, path); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_UPDATE_RECORD_FAIL; } } } } - if (drm_svc_is_drm_file(path) == DRM_TRUE) { - ret = _ms_drm_register(path); + if (ms_is_drm_file(path)) { + ret = ms_drm_register(path); } - MS_DBG_END(); - return res; } int -ms_invalidate_all_items(void *handle, ms_store_type_t store_type) +ms_invalidate_all_items(void **handle, ms_storage_type_t store_type) { - MS_DBG_START(); int lib_index; int res = MS_ERR_NONE; int ret; char *err_msg = NULL; - + MS_DBG(""); for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((SET_ALL_STORAGE_ITEMS_VALIDITY)func_array[lib_index][eSET_ALL_VALIDITY])(handle, store_type, false, &err_msg); /*dlopen*/ + ret = ((SET_ALL_STORAGE_ITEMS_VALIDITY)func_array[lib_index][eSET_ALL_VALIDITY])(handle[lib_index], store_type, false, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_UPDATE_RECORD_FAIL; } } - - MS_DBG_END(); - + MS_DBG(""); return res; } int -ms_register_file(void *handle, const char *path, GAsyncQueue* queue) +ms_register_file(void **handle, const char *path, GAsyncQueue* queue) { - MS_DBG_START(); MS_DBG("[%d]register file : %s", syscall(__NR_gettid), path); int res = MS_ERR_NONE; int ret; if (path == NULL) { - MS_DBG("path == NULL"); return MS_ERR_ARG_INVALID; } + /*check item in DB. If it exist in DB, return directly.*/ + ret = ms_check_exist(handle, path); + if (ret == MS_ERR_NONE) { + MS_DBG("Already exist"); + return MS_ERR_NONE; + } + g_mutex_lock(queue_mutex); /*first request for this file*/ if(!_ms_find_reg_list(path)) { @@ -570,37 +493,41 @@ ms_register_file(void *handle, const char *path, GAsyncQueue* queue) ret = ms_insert_item(handle, path); if (ret != MS_ERR_NONE) { - MS_DBG("ms_media_db_insert error : %d", ret); int lib_index; char mimetype[255]; - ms_store_type_t storage_type; + ms_storage_type_t storage_type; - _ms_get_mime(path, mimetype); - storage_type = ms_get_store_type_by_full(path); + ret = _ms_get_mime(path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("err : _ms_get_mime [%d]", ret); + res = MS_ERR_MIME_GET_FAIL; + goto END; + } + storage_type = ms_get_storage_type_by_full(path); + + MS_DBG("[%s] %s", mimetype, path); for (lib_index = 0; lib_index < lib_num; lib_index++) { /*check item is already inserted*/ if (!_ms_check_category(path, mimetype, lib_index)) { char *err_msg = NULL; - ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle, path, storage_type, &err_msg); /*dlopen*/ + ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle[lib_index], path, storage_type, &err_msg); /*dlopen*/ if (ret == 0) { - MS_DBG("Media Item exist"); res = MS_ERR_NONE; } else { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_INSERT_RECORD_FAIL; } } } } - - if (drm_svc_is_drm_file(path) == DRM_TRUE) { - ret = _ms_drm_register(path); +END: + if (ms_is_drm_file(path)) { + ret = ms_drm_register(path); } -FREE_RESOURCE: g_mutex_lock(queue_mutex); _ms_delete_reg_list(path); @@ -612,283 +539,332 @@ FREE_RESOURCE: } soc_queue = NULL; g_mutex_unlock(queue_mutex); - MS_DBG_END(); + return res; } int -ms_insert_item_batch(void *handle, const char *path) +ms_insert_item_batch(void **handle, const char *path) { - MS_DBG_START(); - int lib_index; int res = MS_ERR_NONE; int ret; char mimetype[255] = {0}; char *err_msg = NULL; - ms_store_type_t storage_type; + ms_storage_type_t storage_type; - MS_DBG("%s", path); + ret = _ms_get_mime(path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("err : _ms_get_mime [%d]", ret); + return ret; + } + storage_type = ms_get_storage_type_by_full(path); - _ms_get_mime(path, mimetype); - storage_type = ms_get_store_type_by_full(path); + MS_DBG("[%s] %s", mimetype, path); for (lib_index = 0; lib_index < lib_num; lib_index++) { if (!_ms_check_category(path, mimetype, lib_index)) { - ret = ((INSERT_ITEM)func_array[lib_index][eINSERT_BATCH])(handle, path, storage_type, mimetype, &err_msg); /*dlopen*/ + ret = ((INSERT_ITEM)func_array[lib_index][eINSERT_BATCH])(handle[lib_index], path, storage_type, mimetype, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_INSERT_RECORD_FAIL; } } } - if (drm_svc_is_drm_file(path) == DRM_TRUE) { - ret = _ms_drm_register(path); + if (ms_is_drm_file(path)) { + ret = ms_drm_register(path); res = ret; } - MS_DBG_END(); return res; } int -ms_insert_item(void *handle, const char *path) +ms_insert_item(void **handle, const char *path) { - MS_DBG_START(); - MS_DBG("%s", path); - int lib_index; int res = MS_ERR_NONE; int ret; char mimetype[255] = {0}; char *err_msg = NULL; - ms_store_type_t storage_type; + ms_storage_type_t storage_type; - _ms_get_mime(path, mimetype); - storage_type = ms_get_store_type_by_full(path); + ret = _ms_get_mime(path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("err : _ms_get_mime [%d]", ret); + return ret; + } + storage_type = ms_get_storage_type_by_full(path); + + MS_DBG("[%s] %s", mimetype, path); for (lib_index = 0; lib_index < lib_num; lib_index++) { if (!_ms_check_category(path, mimetype, lib_index)) { - ret = ((INSERT_ITEM_IMMEDIATELY)func_array[lib_index][eINSERT])(handle, path, storage_type, mimetype, &err_msg); /*dlopen*/ + ret = ((INSERT_ITEM_IMMEDIATELY)func_array[lib_index][eINSERT])(handle[lib_index], path, storage_type, mimetype, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_INSERT_RECORD_FAIL; } } } - MS_DBG_END(); return res; } int -ms_delete_item(void *handle, const char *path) +ms_delete_item(void **handle, const char *path) { - MS_DBG_START(); - int lib_index; int res = MS_ERR_NONE; int ret; char *err_msg = NULL; - ms_store_type_t storage_type; + ms_storage_type_t storage_type; - storage_type = ms_get_store_type_by_full(path); + storage_type = ms_get_storage_type_by_full(path); for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle, path, storage_type, &err_msg); /*dlopen*/ + ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle[lib_index], path, storage_type, &err_msg); /*dlopen*/ if (ret == 0) { - ret = ((DELETE_ITEM)func_array[lib_index][eDELETE])(handle, path, storage_type, &err_msg); /*dlopen*/ + ret = ((DELETE_ITEM)func_array[lib_index][eDELETE])(handle[lib_index], path, storage_type, &err_msg); /*dlopen*/ if (ret !=0 ) { - MS_DBG("delete fail"); - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_DELETE_RECORD_FAIL; } } else { - MS_DBG("Item does not exist"); - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_DELETE_RECORD_FAIL; } } - _ms_drm_unregister(path); - - MS_DBG_END(); + ms_drm_unregister(path); return res; } int -ms_move_item(void *handle, - ms_store_type_t src_store, ms_store_type_t dst_store, +ms_move_item(void **handle, + ms_storage_type_t src_store, ms_storage_type_t dst_store, const char *src_path, const char *dst_path) { - MS_DBG_START(); int lib_index; int res = MS_ERR_NONE; int ret; char mimetype[255]; char *err_msg = NULL; - _ms_get_mime(dst_path, mimetype); + ret = _ms_get_mime(dst_path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("err : _ms_get_mime [%d]", ret); + return ret; + } + MS_DBG("[%s] %s", mimetype, dst_path); + for (lib_index = 0; lib_index < lib_num; lib_index++) { if (!_ms_check_category(dst_path, mimetype, lib_index)) { - ret = ((MOVE_ITEM)func_array[lib_index][eMOVE])(handle, src_path, src_store, + ret = ((MOVE_ITEM)func_array[lib_index][eMOVE])(handle[lib_index], src_path, src_store, dst_path, dst_store, mimetype, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); res = MS_ERR_DB_UPDATE_RECORD_FAIL; } } } - MS_DBG_END(); - return res; } bool -ms_delete_all_items(void *handle, ms_store_type_t store_type) +ms_delete_all_items(void **handle, ms_storage_type_t store_type) { - MS_DBG_START(); int lib_index; int ret = 0; char *err_msg = NULL; /* To reset media db when differnet mmc is inserted. */ for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((DELETE_ALL_ITEMS_IN_STORAGE)func_array[lib_index][eDELETE_ALL])(handle, store_type, &err_msg); /*dlopen*/ + ret = ((DELETE_ALL_ITEMS_IN_STORAGE)func_array[lib_index][eDELETE_ALL])(handle[lib_index], store_type, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); return false; } } - MS_DBG_END(); + return true; } bool -ms_delete_invalid_items(void *handle, ms_store_type_t store_type) +ms_delete_invalid_items(void **handle, ms_storage_type_t store_type) { - MS_DBG_START(); int lib_index; int ret; char *err_msg = NULL; + for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((DELETE_ALL_INVALID_ITMES_IN_STORAGE)func_array[lib_index][eDELETE_INVALID_ITEMS])(handle, store_type, &err_msg); /*dlopen*/ + ret = ((DELETE_ALL_INVALID_ITMES_IN_STORAGE)func_array[lib_index][eDELETE_INVALID_ITEMS])(handle[lib_index], store_type, &err_msg); /*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); return false; } } - MS_DBG_END(); - return true; } +int +ms_refresh_item(void **handle, const char *path) +{ + int lib_index; + int res = MS_ERR_NONE; + int ret; + char mimetype[255]; + char *err_msg = NULL; + ms_storage_type_t storage_type; + + ret = _ms_get_mime(path, mimetype); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("err : _ms_get_mime [%d]", ret); + return ret; + } + MS_DBG("[%s] %s", mimetype, path); + + storage_type = ms_get_storage_type_by_full(path); + + for (lib_index = 0; lib_index < lib_num; lib_index++) { + if (!_ms_check_category(path, mimetype, lib_index)) { + ret = ((REFRESH_ITEM)func_array[lib_index][eREFRESH_ITEM])(handle[lib_index], path, storage_type, mimetype, &err_msg); /*dlopen*/ + if (ret != 0) { + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); + res = MS_ERR_DB_UPDATE_RECORD_FAIL; + } + } + } + + return res; +} + +int +ms_check_exist(void **handle, const char *path) +{ + int lib_index; + int ret; + char *err_msg = NULL; + ms_storage_type_t storage_type; + + storage_type = ms_get_storage_type_by_full(path); + for (lib_index = 0; lib_index < lib_num; lib_index++) { + ret = ((CHECK_ITEM_EXIST)func_array[lib_index][eEXIST])(handle[lib_index], path, storage_type, &err_msg); /*dlopen*/ + if (ret != 0) { + return MS_ERR_DB_EXIST_ITEM_FAIL; + } + } + + return MS_ERR_NONE; +} + /**************************************************************************************************** FOR BULK COMMIT *****************************************************************************************************/ void -ms_register_start(void *handle) +ms_register_start(void **handle) { int lib_index; int ret = 0; char *err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((INSERT_ITEM_BEGIN)func_array[lib_index][eINSERT_BEGIN])(handle, MS_REGISTER_COUNT, &err_msg);/*dlopen*/ + ret = ((INSERT_ITEM_BEGIN)func_array[lib_index][eINSERT_BEGIN])(handle[lib_index], MS_REGISTER_COUNT, &err_msg);/*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); } } } void -ms_register_end(void *handle) +ms_register_end(void **handle) { int lib_index; int ret = 0; char *err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((INSERT_ITEM_END)func_array[lib_index][eINSERT_END])(handle, &err_msg);/*dlopen*/ + ret = ((INSERT_ITEM_END)func_array[lib_index][eINSERT_END])(handle[lib_index], &err_msg);/*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); } } } void -ms_validate_start(void *handle) +ms_validate_start(void **handle) { int lib_index; int ret = 0; char *err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((SET_ITEM_VALIDITY_BEGIN)func_array[lib_index][eSET_VALIDITY_BEGIN])(handle, MS_VALID_COUNT, &err_msg);/*dlopen*/ + ret = ((SET_ITEM_VALIDITY_BEGIN)func_array[lib_index][eSET_VALIDITY_BEGIN])(handle[lib_index], MS_VALID_COUNT, &err_msg);/*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); } } } void -ms_validate_end(void *handle) +ms_validate_end(void **handle) { int lib_index; int ret = 0; char *err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((SET_ITEM_VALIDITY_END)func_array[lib_index][eSET_VALIDITY_END])(handle, &err_msg);/*dlopen*/ + ret = ((SET_ITEM_VALIDITY_END)func_array[lib_index][eSET_VALIDITY_END])(handle[lib_index], &err_msg);/*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); } } } void -ms_move_start(void *handle) +ms_move_start(void **handle) { int lib_index; int ret = 0; char *err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((MOVE_ITEM_BEGIN)func_array[lib_index][eMOVE_BEGIN])(handle, MS_MOVE_COUNT, &err_msg);/*dlopen*/ + ret = ((MOVE_ITEM_BEGIN)func_array[lib_index][eMOVE_BEGIN])(handle[lib_index], MS_MOVE_COUNT, &err_msg);/*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); } } } void -ms_move_end(void *handle) +ms_move_end(void **handle) { int lib_index; int ret = 0; char *err_msg = NULL; for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((MOVE_ITEM_END)func_array[lib_index][eMOVE_END])(handle, &err_msg);/*dlopen*/ + ret = ((MOVE_ITEM_END)func_array[lib_index][eMOVE_END])(handle[lib_index], &err_msg);/*dlopen*/ if (ret != 0) { - MS_DBG("error : %s", g_array_index(so_array, char*, lib_index)); - free(err_msg); + MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg); + MS_SAFE_FREE(err_msg); } } } diff --git a/common/media-server-dbus.c b/common/media-server-dbus.c new file mode 100755 index 0000000..9b50e03 --- /dev/null +++ b/common/media-server-dbus.c @@ -0,0 +1,80 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include <glib.h> +#include <dbus/dbus-glib.h> +#include <dbus/dbus.h> +#include <dbus/dbus-glib-lowlevel.h> + +#include "media-server-global.h" +#include "media-server-dbus.h" + +void ms_dbus_init(void) +{ + DBusConnection *bus; + DBusError error; + + /* Get a connection to the session bus */ + dbus_error_init (&error); + bus = dbus_bus_get (DBUS_BUS_SESSION, &error); + if (!bus) { + MS_DBG ("Failed to connect to the D-BUS daemon: %s", error.message); + dbus_error_free (&error); + return; + } + + /* Set up this connection to work in a GLib event loop */ + dbus_connection_setup_with_g_main (bus, NULL); +} + +gboolean ms_dbus_send_noti(ms_dbus_noti_type_t data) +{ + MS_DBG(""); + DBusMessage *message; + DBusConnection *bus; + DBusError error; + dbus_uint16_t noti_type = data; + + /* Get a connection to the session bus */ + dbus_error_init (&error); + bus = dbus_bus_get (DBUS_BUS_SESSION, &error); + if (!bus) { + MS_DBG ("Failed to connect to the D-BUS daemon: %s", error.message); + dbus_error_free (&error); + return false; + } + + /* Create a new signal on the "MS_DBUS_INTERFACE" interface, + * from the object "MS_DBUS_PATH". */ + message = dbus_message_new_signal (MS_DBUS_PATH, MS_DBUS_INTERFACE, MS_DBUS_NAME); + + /* Append the notification type to the signal */ + dbus_message_append_args (message, DBUS_TYPE_UINT16, ¬i_type, DBUS_TYPE_INVALID); + + /* Send the signal */ + dbus_connection_send (bus, message, NULL); + + /* Free the signal now we have finished with it */ + dbus_message_unref (message); + + /* Return TRUE to tell the event loop we want to be called again */ + return true; +}
\ No newline at end of file diff --git a/common/media-server-drm.c b/common/media-server-drm.c new file mode 100755 index 0000000..68609f8 --- /dev/null +++ b/common/media-server-drm.c @@ -0,0 +1,131 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** + * This file defines api utilities of contents manager engines. + * + * @file media-server-drm.c + * @author Yong Yeon Kim(yy9875.kim@samsung.com) + * @version 1.0 + * @brief This file implements main database operation. + */ +#include <drm_client_types.h> +#include <drm_client.h> + +#include "media-server-global.h" +#include "media-server-inotify.h" +#include "media-server-drm.h" + +bool +ms_is_drm_file(const char *path) +{ + int ret; + drm_bool_type_e is_drm_file = DRM_UNKNOWN; + + ret = drm_is_drm_file(path,&is_drm_file); + if(DRM_RETURN_SUCCESS == ret && DRM_TRUE == is_drm_file) + return true; + + return false; +} + +int +ms_get_mime_in_drm_info(const char *path, char *mime) +{ + int ret; + drm_content_info_s contentInfo; + + if (path == NULL || mime == NULL) + return MS_ERR_ARG_INVALID; + + memset(&contentInfo,0x0,sizeof(drm_content_info_s)); + ret = drm_get_content_info(path, &contentInfo); + if (ret != DRM_RETURN_SUCCESS) { + MS_DBG_ERR("drm_svc_get_content_info() fails. "); + return MS_ERR_DRM_GET_INFO_FAIL; + } + + strncpy(mime, contentInfo.mime_type, 100); + MS_DBG("DRM contentType : %s", contentInfo.mime_type); + MS_DBG("DRM mime : %s", mime); + + return MS_ERR_NONE; +} + +int +ms_drm_register(const char* path) +{ + MS_DBG("THIS IS DRM FILE"); + int res = MS_ERR_NONE; + int ret; + +// ms_inoti_add_ignore_file(path); + ret = drm_process_request(DRM_REQUEST_TYPE_REGISTER_FILE, (void *)path, NULL); + if (ret != DRM_RETURN_SUCCESS) { + MS_DBG_ERR("drm_svc_register_file error : %d", ret); + res = MS_ERR_DRM_REGISTER_FAIL; + } + + return res; +} + +void +ms_drm_unregister(const char* path) +{ + int ret; + ms_ignore_file_info *ignore_file; + + ret = drm_process_request(DRM_REQUEST_TYPE_UNREGISTER_FILE, (void *)path, NULL); + if (ret != DRM_RETURN_SUCCESS) + MS_DBG_ERR("drm_process_request error : %d", ret); + + ignore_file = ms_inoti_find_ignore_file(path); + if (ignore_file != NULL) + ms_inoti_delete_ignore_file(ignore_file); +} + +void +ms_drm_unregister_all(void) +{ + if (drm_process_request(DRM_REQUEST_TYPE_UNREGISTER_ALL_FILES , NULL, NULL) == DRM_RETURN_SUCCESS) + MS_DBG("drm_svc_unregister_all_contents OK"); +} + +bool +ms_drm_insert_ext_memory(void) +{ + MS_DBG(""); + if (drm_process_request(DRM_REQUEST_TYPE_INSERT_EXT_MEMORY, NULL, NULL) != DRM_RETURN_SUCCESS) + return false; + + return true; +} + +bool +ms_drm_extract_ext_memory(void) +{ + MS_DBG(""); + if (drm_process_request(DRM_REQUEST_TYPE_EXTRACT_EXT_MEMORY , NULL, NULL) != DRM_RETURN_SUCCESS) + return false; + + return true; +} + diff --git a/common/media-server-external-storage.c b/common/media-server-external-storage.c index 489cbde..688807f 100755 --- a/common/media-server-external-storage.c +++ b/common/media-server-external-storage.c @@ -1,34 +1,53 @@ +/* + * Media Server + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Yong Yeon Kim <yy9875.kim@samsung.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */
+
#include <vconf.h>
-#include <drm-service.h>
#include "media-server-utils.h"
#include "media-server-inotify.h"
#include "media-server-external-storage.h"
+#include "media-server-drm.h"
#define MMC_INFO_SIZE 256
-#define DIR_NUM 5
int mmc_state = 0;
-extern int current_usb_mode;
extern GAsyncQueue *scan_queue;
+char default_path[][MS_FILE_NAME_LEN_MAX + 1] = {
+ {"/opt/storage/sdcard/Images"}, + {"/opt/storage/sdcard/Videos"}, + {"/opt/storage/sdcard/Sounds"},
+ {"/opt/storage/sdcard/Downloads"}, + {"/opt/storage/sdcard/Camera"}
+};
+
+#define DIR_NUM ((int)(sizeof(default_path)/sizeof(default_path[0])))
+
void
ms_make_default_path_mmc(void)
{ - MS_DBG_START(); - - int i = 0; + int i = 0;
int ret = 0; DIR *dp = NULL; - - char default_path[DIR_NUM][MS_FILE_NAME_LEN_MAX + 1] = { - {"/opt/storage/sdcard/Images"}, - {"/opt/storage/sdcard/Videos"}, - {"/opt/storage/sdcard/Music"}, - {"/opt/storage/sdcard/Downloads"}, - {"/opt/storage/sdcard/Camera shots"} - }; - +
for (i = 0; i < DIR_NUM; ++i) { dp = opendir(default_path[i]); if (dp == NULL) { @@ -42,48 +61,41 @@ ms_make_default_path_mmc(void) closedir(dp); } } - - MS_DBG_END(); -} +}
int
_ms_update_mmc_info(const char *cid) { - MS_DBG_START(); - bool res; + bool res;
if (cid == NULL) { - MS_DBG("Parameters are invalid"); + MS_DBG_ERR("Parameters are invalid");
return MS_ERR_ARG_INVALID; } res = ms_config_set_str(MS_MMC_INFO_KEY, cid); if (!res) { - MS_DBG("fail to get MS_MMC_INFO_KEY"); + MS_DBG_ERR("fail to get MS_MMC_INFO_KEY");
return MS_ERR_VCONF_SET_FAIL; } - MS_DBG_END(); - - return MS_ERR_NONE; + return MS_ERR_NONE;
}
bool
_ms_check_mmc_info(const char *cid) { - MS_DBG_START(); - - char pre_mmc_info[MMC_INFO_SIZE] = { 0 }; + char pre_mmc_info[MMC_INFO_SIZE] = { 0 };
bool res = false; if (cid == NULL) { - MS_DBG("Parameters are invalid"); + MS_DBG_ERR("Parameters are invalid");
return false; } res = ms_config_get_str(MS_MMC_INFO_KEY, pre_mmc_info); if (!res) { - MS_DBG("fail to get MS_MMC_INFO_KEY"); + MS_DBG_ERR("fail to get MS_MMC_INFO_KEY");
return false; } @@ -93,8 +105,7 @@ _ms_check_mmc_info(const char *cid) if (strcmp(pre_mmc_info, cid) == 0) { return true; } - - MS_DBG_END(); +
return false; } @@ -103,11 +114,9 @@ _get_contents(const char *filename, char *buf) { FILE *fp; - MS_DBG("%s", filename); - - fp = fopen(filename, "rt"); + fp = fopen(filename, "rt");
if (fp == NULL) { - MS_DBG("fp is NULL"); + MS_DBG_ERR("fp is NULL. file name : %s", filename);
return MS_ERR_FILE_OPEN_FAIL; } fgets(buf, 255, fp); @@ -121,9 +130,7 @@ _get_contents(const char *filename, char *buf) int _ms_get_mmc_info(char *cid) { - MS_DBG_START(); - - int i; + int i;
int j; int len; int err = -1; @@ -140,21 +147,18 @@ _ms_get_mmc_info(char *cid) for (j = 1; j < 3; j++) { len = snprintf(mmcpath, MS_FILE_PATH_LEN_MAX, "/sys/class/mmc_host/mmc%d/", j); if (len < 0) { - MS_DBG("FAIL : snprintf"); + MS_DBG_ERR("FAIL : snprintf");
return MS_ERR_UNKNOWN_ERROR; } else { mmcpath[len] = '\0'; } - dp = opendir(mmcpath); - + dp = opendir(mmcpath);
if (dp == NULL) { - MS_DBG("dp is NULL"); - { - return MS_ERR_DIR_OPEN_FAIL; - } - } + MS_DBG_ERR("dp is NULL");
+ return MS_ERR_DIR_OPEN_FAIL;
+ }
while (!readdir_r(dp, &ent, &res)) { /*end of read dir*/ @@ -178,7 +182,7 @@ _ms_get_mmc_info(char *cid) /*check serial */ err = ms_strappend(path, sizeof(path), "%s%s/cid", mmcpath, ent.d_name); if (err < 0) { - MS_DBG("FAIL : ms_strappend"); + MS_DBG_ERR("ms_strappend error : %d", err);
continue; } @@ -186,8 +190,7 @@ _ms_get_mmc_info(char *cid) break; else getdata = true; - MS_DBG("MMC serial : %s", cid); - } + }
} } closedir(dp); @@ -197,8 +200,6 @@ _ms_get_mmc_info(char *cid) } } - MS_DBG_END(); - return MS_ERR_NONE; }
@@ -213,8 +214,7 @@ ms_get_mmc_state(void) /*check it's same mmc */ if (_ms_check_mmc_info(cid)) { - MS_DBG("Detected same MMC! but needs to update the changes..."); - ret = MS_SCAN_PART; + ret = MS_SCAN_PART;
} return ret; @@ -231,8 +231,8 @@ ms_update_mmc_info(void) err = _ms_update_mmc_info(cid); /*Active flush */ - if (malloc_trim(0)) - MS_DBG("SUCCESS malloc_trim"); + if (!malloc_trim(0))
+ MS_DBG_ERR("malloc_trim is failed");
return err; }
@@ -243,65 +243,59 @@ ms_mmc_removed_handler(void) ms_scan_data_t *mmc_scan_data; mmc_scan_data = malloc(sizeof(ms_scan_data_t)); - - mmc_scan_data->scan_type = MS_SCAN_VALID; - mmc_scan_data->db_type = MS_MMC; +
+ mmc_scan_data->path = strdup(MS_ROOT_PATH_EXTERNAL);
+ mmc_scan_data->scan_type = MS_SCAN_INVALID;
+ mmc_scan_data->storage_type = MS_STORATE_EXTERNAL;
g_async_queue_push(scan_queue, GINT_TO_POINTER(mmc_scan_data)); /*remove added watch descriptors */ - ms_inoti_remove_watch_recursive(MS_MMC_ROOT_PATH); + ms_inoti_remove_watch_recursive(MS_ROOT_PATH_EXTERNAL);
ms_inoti_delete_mmc_ignore_file(); - if (drm_svc_extract_ext_memory() == DRM_RESULT_SUCCESS) - MS_DBG("drm_svc_extract_ext_memory OK"); + if (!ms_drm_extract_ext_memory())
+ MS_DBG_ERR("ms_drm_extract_ext_memory failed");
} void
ms_mmc_vconf_cb(void *data) { - MS_DBG_START(); - - int status = 0; + int status = 0;
ms_scan_data_t *scan_data; - - MS_DBG("Received MMC noti from vconf : %d", status); - +
if (!ms_config_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &status)) { - MS_DBG("........Get VCONFKEY_SYSMAN_MMC_STATUS failed........"); + MS_DBG_ERR("Get VCONFKEY_SYSMAN_MMC_STATUS failed.");
} - MS_DBG("ms_config_get_int : VCONFKEY_SYSMAN_MMC_STATUS END = %d", - status); + MS_DBG("VCONFKEY_SYSMAN_MMC_STATUS :%d", status);
mmc_state = status; - if (current_usb_mode != VCONFKEY_USB_STORAGE_STATUS_OFF) - return; - - if (mmc_state == VCONFKEY_SYSMAN_MMC_REMOVED || + if (mmc_state == VCONFKEY_SYSMAN_MMC_REMOVED ||
mmc_state == VCONFKEY_SYSMAN_MMC_INSERTED_NOT_MOUNTED) { ms_mmc_removed_handler(); }
else if (mmc_state == VCONFKEY_SYSMAN_MMC_MOUNTED) { scan_data = malloc(sizeof(ms_scan_data_t)); - if (drm_svc_insert_ext_memory() == DRM_RESULT_SUCCESS) - MS_DBG("drm_svc_insert_ext_memory OK"); + if (!ms_drm_insert_ext_memory())
+ MS_DBG_ERR("ms_drm_insert_ext_memory failed");
ms_make_default_path_mmc();
- +
+ ms_inoti_add_watch_all_directory(MS_STORATE_EXTERNAL);
+
+ scan_data->path = strdup(MS_ROOT_PATH_EXTERNAL);
scan_data->scan_type = ms_get_mmc_state(); - scan_data->db_type = MS_MMC; + scan_data->storage_type = MS_STORATE_EXTERNAL;
MS_DBG("ms_get_mmc_state is %d", scan_data->scan_type); g_async_queue_push(scan_queue, GINT_TO_POINTER(scan_data)); } - MS_DBG_END(); -
return; } diff --git a/common/media-server-inotify-internal.c b/common/media-server-inotify-internal.c index 3fb94ce..6048634 100755 --- a/common/media-server-inotify-internal.c +++ b/common/media-server-inotify-internal.c @@ -32,7 +32,7 @@ int inoti_fd; ms_create_file_info *latest_create_file; -extern ms_dir_data *first_inoti_node; +extern ms_inoti_dir_data *first_inoti_node; int _ms_inoti_add_create_file_list(int wd, char *name) { @@ -68,8 +68,8 @@ int _ms_inoti_delete_create_file_list(ms_create_file_info *node) latest_create_file = node->previous; } - free(node->name); - free(node); + MS_SAFE_FREE(node->name); + MS_SAFE_FREE(node); return MS_ERR_NONE; } @@ -93,7 +93,7 @@ ms_create_file_info *_ms_inoti_find_create_file_list(int wd, char *name) bool _ms_inoti_get_full_path(int wd, char *name, char *path, int sizeofpath) { int err; - ms_dir_data *node = NULL; + ms_inoti_dir_data *node = NULL; if (name == NULL || path == NULL) return false; @@ -102,19 +102,17 @@ bool _ms_inoti_get_full_path(int wd, char *name, char *path, int sizeofpath) node = first_inoti_node; while (node->next != NULL) { if (wd == node->wd) { - MS_DBG("find parent directory: %s", node->name); break; } node = node->next; } } else { - MS_DBG("first_node is NULL"); return false; } err = ms_strappend(path, sizeofpath, "%s/%s", node->name, name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strappend error : %d", err); + MS_DBG_ERR("ms_strappend error : %d", err); return false; } MS_DBG("full path : %s", path); diff --git a/common/media-server-inotify.c b/common/media-server-inotify.c index 5a00039..531d1a8 100755 --- a/common/media-server-inotify.c +++ b/common/media-server-inotify.c @@ -27,18 +27,21 @@ * @version 1.0 * @brief */ +#include <vconf.h> + #include "media-server-utils.h" #include "media-server-db-svc.h" #include "media-server-inotify-internal.h" #include "media-server-inotify.h" +extern bool power_off; extern int inoti_fd; -ms_dir_data *first_inoti_node; +extern int mmc_state; +ms_inoti_dir_data *first_inoti_node; ms_ignore_file_info *latest_ignore_file; -int _ms_inoti_directory_scan_and_register_file(void *handle, char *dir_path) +int _ms_inoti_directory_scan_and_register_file(void **handle, char *dir_path) { - MS_DBG_START(); struct dirent ent; struct dirent *res = NULL; DIR *dp = NULL; @@ -50,7 +53,7 @@ int _ms_inoti_directory_scan_and_register_file(void *handle, char *dir_path) dp = opendir(dir_path); if (dp == NULL) { - MS_DBG("Fail to open dir"); + MS_DBG_ERR("Fail to open dir %s", dir_path); return MS_ERR_DIR_OPEN_FAIL; } @@ -65,7 +68,7 @@ int _ms_inoti_directory_scan_and_register_file(void *handle, char *dir_path) err = ms_strappend(path, sizeof(path), "%s/%s", dir_path, ent.d_name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strappend error : %d", err); + MS_DBG_ERR("ms_strappend error : %d", err); continue; } @@ -73,10 +76,9 @@ int _ms_inoti_directory_scan_and_register_file(void *handle, char *dir_path) if (ent.d_type == DT_DIR) { _ms_inoti_directory_scan_and_register_file(handle, path); } else { - err = ms_register_file(handle, path, NULL); if (err != MS_ERR_NONE) { - MS_DBG("ms_register_file error : %d", err); + MS_DBG_ERR("ms_register_file error : %d", err); continue; } } @@ -84,20 +86,11 @@ int _ms_inoti_directory_scan_and_register_file(void *handle, char *dir_path) closedir(dp); - MS_DBG_END(); - return 0; } -int _ms_inoti_scan_renamed_folder(void *handle, char *org_path, char *chg_path) +int _ms_inoti_scan_renamed_folder(void **handle, char *org_path, char *chg_path) { - if (org_path == NULL || chg_path == NULL) { - MS_DBG("Parameter is wrong"); - return MS_ERR_ARG_INVALID; - } - - MS_DBG_START(); - int err = -1; struct dirent ent; struct dirent *res = NULL; @@ -105,12 +98,17 @@ int _ms_inoti_scan_renamed_folder(void *handle, char *org_path, char *chg_path) DIR *dp = NULL; char path_from[MS_FILE_PATH_LEN_MAX] = { 0 }; char path_to[MS_FILE_PATH_LEN_MAX] = { 0 }; - ms_store_type_t src_storage = 0; - ms_store_type_t des_storage = 0; + ms_storage_type_t src_storage = 0; + ms_storage_type_t des_storage = 0; + + if (org_path == NULL || chg_path == NULL) { + MS_DBG_ERR("Parameter is wrong"); + return MS_ERR_ARG_INVALID; + } dp = opendir(chg_path); if (dp == NULL) { - MS_DBG("Fail to open dir"); + MS_DBG_ERR("Fail to open dir %s", chg_path); return MS_ERR_DIR_OPEN_FAIL; } else { MS_DBG("Modify added watch"); @@ -126,13 +124,13 @@ int _ms_inoti_scan_renamed_folder(void *handle, char *org_path, char *chg_path) err = ms_strappend(path_from, sizeof(path_from), "%s/%s", org_path, ent.d_name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strappend error : %d", err); + MS_DBG_ERR("ms_strappend error : %d", err); continue; } err = ms_strappend(path_to, sizeof(path_to), "%s/%s", chg_path, ent.d_name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strappend error : %d", err); + MS_DBG_ERR("ms_strappend error : %d", err); continue; } @@ -143,21 +141,21 @@ int _ms_inoti_scan_renamed_folder(void *handle, char *org_path, char *chg_path) /*in case of file */ if (ent.d_type == DT_REG) { - src_storage = ms_get_store_type_by_full(path_from); - des_storage = ms_get_store_type_by_full(path_to); + src_storage = ms_get_storage_type_by_full(path_from); + des_storage = ms_get_storage_type_by_full(path_to); if ((src_storage != MS_ERR_INVALID_FILE_PATH) && (des_storage != MS_ERR_INVALID_FILE_PATH)) ms_move_item(handle, src_storage, des_storage, path_from, path_to); else { - MS_DBG("ms_get_store_type_by_full error"); + MS_DBG_ERR("src_storage : %s", src_storage); + MS_DBG_ERR("des_storage : %s", des_storage); } } } closedir(dp); - MS_DBG_END(); return 0; } @@ -165,6 +163,10 @@ int ms_inoti_add_ignore_file(const char *path) { ms_ignore_file_info *new_node; + new_node = ms_inoti_find_ignore_file(path); + if (new_node != NULL) + return MS_ERR_NONE; + new_node = malloc(sizeof(ms_ignore_file_info)); new_node->path = strdup(path); @@ -185,7 +187,6 @@ int ms_inoti_add_ignore_file(const char *path) int ms_inoti_delete_ignore_file(ms_ignore_file_info * delete_node) { - MS_DBG(""); if (delete_node->previous != NULL) delete_node->previous->next = delete_node->next; if (delete_node->next != NULL) @@ -195,10 +196,9 @@ int ms_inoti_delete_ignore_file(ms_ignore_file_info * delete_node) latest_ignore_file = delete_node->previous; } - free(delete_node->path); - free(delete_node); + MS_SAFE_FREE(delete_node->path); + MS_SAFE_FREE(delete_node); - MS_DBG(""); return MS_ERR_NONE; } @@ -221,7 +221,6 @@ ms_ignore_file_info *ms_inoti_find_ignore_file(const char *path) void ms_inoti_delete_mmc_ignore_file(void) { - MS_DBG_START(); ms_ignore_file_info *prv_node = NULL; ms_ignore_file_info *cur_node = NULL; ms_ignore_file_info *del_node = NULL; @@ -229,7 +228,7 @@ void ms_inoti_delete_mmc_ignore_file(void) if (latest_ignore_file != NULL) { cur_node = latest_ignore_file; while (cur_node != NULL) { - if (strstr(cur_node->path, MS_MMC_ROOT_PATH) != NULL) { + if (strstr(cur_node->path, MS_ROOT_PATH_EXTERNAL) != NULL) { if (prv_node != NULL) { prv_node->previous = cur_node->previous; } @@ -245,17 +244,14 @@ void ms_inoti_delete_mmc_ignore_file(void) cur_node = cur_node->previous; if (del_node != NULL) { - free(del_node->path); - free(del_node); - del_node = NULL; + MS_SAFE_FREE(del_node->path); + MS_SAFE_FREE(del_node); } } } /*active flush */ malloc_trim(0); - - MS_DBG_END(); } int ms_inoti_init(void) @@ -263,7 +259,7 @@ int ms_inoti_init(void) inoti_fd = inotify_init(); if (inoti_fd < 0) { perror("inotify_init"); - MS_DBG("inotify_init failed"); + MS_DBG_ERR("inotify_init failed"); return inoti_fd; } @@ -272,14 +268,12 @@ int ms_inoti_init(void) void ms_inoti_add_watch(char *path) { - MS_DBG(""); - ms_dir_data *current_dir = NULL; - ms_dir_data *prv_node = NULL; - ms_dir_data *last_node = NULL; + ms_inoti_dir_data *current_dir = NULL; + ms_inoti_dir_data *prv_node = NULL; + ms_inoti_dir_data *last_node = NULL; /*find same folder */ if (first_inoti_node != NULL) { - MS_DBG("find same folder"); last_node = first_inoti_node; while (last_node != NULL) { if (strcmp(path, last_node->name) == 0) { @@ -291,17 +285,13 @@ void ms_inoti_add_watch(char *path) } } - MS_DBG("start add watch"); - /*there is no same path. */ - current_dir = malloc(sizeof(ms_dir_data)); + current_dir = malloc(sizeof(ms_inoti_dir_data)); current_dir->wd = inotify_add_watch(inoti_fd, path, IN_CLOSE_WRITE | IN_CREATE | IN_DELETE | IN_MOVED_FROM | IN_MOVED_TO); if (current_dir->wd > 0) { - MS_DBG("wd : %d", current_dir->wd); - current_dir->name = strdup(path); current_dir->next = NULL; @@ -309,32 +299,32 @@ void ms_inoti_add_watch(char *path) first_inoti_node = current_dir; } else { /*if next node of current node is NULL, it is the lastest node. */ - MS_DBG("last_node : %s", prv_node->name); prv_node->next = current_dir; } - MS_DBG("add watch : %s", path); } else { - MS_DBG("wd : %d", current_dir->wd); - free(current_dir); + MS_DBG_ERR("inotify_add_watch failed"); + MS_SAFE_FREE(current_dir); } } -int ms_inoti_add_watch_with_node(ms_dir_scan_info * const node) +int ms_inoti_add_watch_with_node(ms_dir_scan_info * const node, int depth) { + int err; char full_path[MS_FILE_PATH_LEN_MAX] = { 0 }; - ms_dir_data *current_dir = NULL; - ms_dir_data *prv_node = NULL; - ms_dir_data *last_node = NULL; + ms_inoti_dir_data *current_dir = NULL; + ms_inoti_dir_data *prv_node = NULL; + ms_inoti_dir_data *last_node = NULL; - ms_get_full_path_from_node(node, full_path); + err = ms_get_full_path_from_node(node, full_path, depth); + if (err != MS_ERR_NONE) + return MS_ERR_INVALID_DIR_PATH; /*find same folder */ if (first_inoti_node != NULL) { last_node = first_inoti_node; while (last_node != NULL) { if (strcmp(full_path, last_node->name) == 0) { - MS_DBG("watch is already added: %s", full_path); return MS_ERR_NONE; } prv_node = last_node; @@ -343,27 +333,24 @@ int ms_inoti_add_watch_with_node(ms_dir_scan_info * const node) } /*there is no same path. */ - current_dir = malloc(sizeof(ms_dir_data)); + current_dir = malloc(sizeof(ms_inoti_dir_data)); current_dir->wd = inotify_add_watch(inoti_fd, full_path, IN_CLOSE_WRITE | IN_CREATE | IN_DELETE | IN_MOVED_FROM | IN_MOVED_TO); if( current_dir->wd > 0) { - MS_DBG("wd : %d", current_dir->wd); current_dir->name = strdup(full_path); current_dir->next = NULL; - current_dir->db_updated = false; if (first_inoti_node == NULL) { first_inoti_node = current_dir; } else { /*if next node of current node is NULL, it is the lastest node. */ - MS_DBG("last_node : %s", prv_node->name); prv_node->next = current_dir; } MS_DBG("add watch : %s", full_path); } else { - MS_DBG("wd : %d", current_dir->wd); - free(current_dir); + MS_DBG_ERR("inotify_add_watch failed : %d", current_dir->wd); + MS_SAFE_FREE(current_dir); } return MS_ERR_NONE; @@ -371,10 +358,9 @@ int ms_inoti_add_watch_with_node(ms_dir_scan_info * const node) void ms_inoti_remove_watch_recursive(char *path) { - MS_DBG_START(); - ms_dir_data *prv_node = NULL; - ms_dir_data *cur_node = NULL; - ms_dir_data *del_node = NULL; + ms_inoti_dir_data *prv_node = NULL; + ms_inoti_dir_data *cur_node = NULL; + ms_inoti_dir_data *del_node = NULL; if (first_inoti_node != NULL) { cur_node = first_inoti_node; @@ -397,23 +383,20 @@ void ms_inoti_remove_watch_recursive(char *path) cur_node = cur_node->next; if (del_node != NULL) { - free(del_node->name); - free(del_node); - del_node = NULL; + MS_SAFE_FREE(del_node->name); + MS_SAFE_FREE(del_node); } } } /*active flush */ malloc_trim(0); - - MS_DBG_END(); } void ms_inoti_remove_watch(char *path) { - ms_dir_data *del_node = NULL; - ms_dir_data *prv_node = NULL; + ms_inoti_dir_data *del_node = NULL; + ms_inoti_dir_data *prv_node = NULL; if (strcmp(first_inoti_node->name, path) == 0) { del_node = first_inoti_node; @@ -431,8 +414,8 @@ void ms_inoti_remove_watch(char *path) prv_node->next = del_node->next; } /*free deleted node */ - free(del_node->name); - free(del_node); + MS_SAFE_FREE(del_node->name); + MS_SAFE_FREE(del_node); break; } prv_node = del_node; @@ -448,7 +431,7 @@ void ms_inoti_remove_watch(char *path) void ms_inoti_modify_watch(char *path_from, char *path_to) { bool find = false; - ms_dir_data *mod_node; + ms_inoti_dir_data *mod_node; if (strcmp(first_inoti_node->name, path_from) == 0) { mod_node = first_inoti_node; @@ -459,12 +442,9 @@ void ms_inoti_modify_watch(char *path_from, char *path_to) while (mod_node != NULL) { /*find previous directory*/ if (strcmp(path_from, mod_node->name) == 0) { - MS_DBG("find change node: %s", mod_node->name); - MS_DBG("new name : %s", path_to); /*change path of directory*/ /*free previous name of node */ - free(mod_node->name); - mod_node->name = NULL; + MS_SAFE_FREE(mod_node->name); /*add new name */ mod_node->name = strdup(path_to); @@ -482,7 +462,6 @@ void ms_inoti_modify_watch(char *path_from, char *path_to) /*this is new directory*/ if (find == false) { - MS_DBG("This is new directory"); ms_inoti_add_watch(path_to); } } @@ -500,13 +479,13 @@ gboolean ms_inoti_thread(void *data) char buffer[INOTI_BUF_LEN] = { 0 }; char path[MS_FILE_PATH_LEN_MAX] = { 0 }; struct inotify_event *event; - void *handle = NULL; + void **handle = NULL; MS_DBG("START INOTIFY"); err = ms_connect_db(&handle); if (err != MS_ERR_NONE) { - MS_DBG(" INOTIFY : sqlite3_open: ret = %d", err); + MS_DBG_ERR(" INOTIFY : sqlite3_open: ret = %d", err); return false; } @@ -515,16 +494,23 @@ gboolean ms_inoti_thread(void *data) length = read(inoti_fd, buffer, sizeof(buffer) - 1); if (length < 0 || length > sizeof(buffer)) { /*this is error */ - MS_DBG("fail read"); - perror("read"); continue; } while (i < length && i < INOTI_BUF_LEN) { + /*check poweroff status*/ + if(power_off) { + MS_DBG("power off"); + goto POWER_OFF; + } + /*it's possible that ums lets reset phone data... */ event = (struct inotify_event *)&buffer[i]; - if(strcmp(event->name, "_FILEOPERATION_END") == 0) { + if (strcmp(event->name, POWEROFF_DIR_NAME) == 0) { + MS_DBG("power off"); + goto POWER_OFF; + } else if(strcmp(event->name, "_FILEOPERATION_END") == 0) { /*file operation is end*/ /* announce db is updated*/ ms_set_db_status(MS_DB_UPDATED); @@ -532,11 +518,10 @@ gboolean ms_inoti_thread(void *data) goto NEXT_INOTI_EVENT; } else if (event->name[0] == '.') { /*event of hidden folder is ignored */ - MS_DBG("Ignore : First character of event->name includes invalid character"); goto NEXT_INOTI_EVENT; } else if (event->wd < 1) { /*this is error */ - MS_DBG("invalid wd : %d", event->wd); + MS_DBG_ERR("invalid wd : %d", event->wd); goto NEXT_INOTI_EVENT; } @@ -545,14 +530,14 @@ gboolean ms_inoti_thread(void *data) /*Add for fixing prevent defect 2011-02-15 */ err = ms_strcopy(name, sizeof(name), "%s", event->name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strcopy error : %d", err); + MS_DBG_ERR("ms_strcopy error : %d", err); goto NEXT_INOTI_EVENT; } /*get full path of file or directory */ res = _ms_inoti_get_full_path(event->wd, name, path, sizeof(path)); if (res == false) { - MS_DBG("_ms_inoti_get_full_path error"); + MS_DBG_ERR("_ms_inoti_get_full_path error"); goto NEXT_INOTI_EVENT; } @@ -568,7 +553,7 @@ gboolean ms_inoti_thread(void *data) err = ms_strcopy(prev_name, sizeof(prev_name), "%s", event->name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strcopy fail"); + MS_DBG_ERR("ms_strcopy fail"); goto NEXT_INOTI_EVENT; } } @@ -579,7 +564,7 @@ gboolean ms_inoti_thread(void *data) res = _ms_inoti_get_full_path(prev_wd, prev_name, full_path_from, sizeof(full_path_from)); if (res == false) { - MS_DBG("_ms_inoti_get_full_path error"); + MS_DBG_ERR("_ms_inoti_get_full_path error"); goto NEXT_INOTI_EVENT; } /*enable bundle commit*/ @@ -613,7 +598,7 @@ gboolean ms_inoti_thread(void *data) err = ms_delete_item(handle, path); if (err != MS_ERR_NONE) { - MS_DBG("ms_media_db_delete fail error : %d", err); + MS_DBG_ERR("ms_media_db_delete fail error : %d", err); } } else if (event->mask & IN_MOVED_TO) { @@ -621,7 +606,7 @@ gboolean ms_inoti_thread(void *data) err = ms_register_file(handle, path, NULL); if (err != MS_ERR_NONE) { - MS_DBG("ms_register_file error : %d", err); + MS_DBG_ERR("ms_register_file error : %d", err); } } else if (event->mask & IN_CREATE) { @@ -634,43 +619,36 @@ gboolean ms_inoti_thread(void *data) err = ms_delete_item(handle, path); if (err != MS_ERR_NONE) { - MS_DBG("ms_media_db_delete error : %d", err); + MS_DBG_ERR("ms_media_db_delete error : %d", err); } } else if (event->mask & IN_CLOSE_WRITE) { MS_DBG("CLOSE_WRITE"); - ms_create_file_info *node; - node = _ms_inoti_find_create_file_list (event->wd, name); + node = _ms_inoti_find_create_file_list (event->wd, name); if (node != NULL || ((prev_mask & IN_ISDIR) & IN_CREATE)) { - err = ms_register_file(handle, path, NULL); if (err != MS_ERR_NONE) { - MS_DBG("ms_register_file error : %d", err); + MS_DBG_ERR("ms_register_file error : %d", err); } if (node != NULL) _ms_inoti_delete_create_file_list(node); } else { - /*in case of replace */ - MS_DBG("This case is replacement or changing meta data."); ms_ignore_file_info *ignore_file; ignore_file = ms_inoti_find_ignore_file(path); if (ignore_file == NULL) { - err = ms_delete_item(handle, path); - if (err != MS_ERR_NONE) { - MS_DBG("ms_media_db_delete error : %d", err); - } - /*update = delete + regitster */ - err = ms_register_file(handle, path, NULL); + /*in case of replace */ + MS_DBG("This case is replacement or changing meta data."); + err = ms_refresh_item(handle, path); if (err != MS_ERR_NONE) { - MS_DBG("ms_register_file error : %d", err); + MS_DBG_ERR("ms_refresh_item error : %d", err); goto NEXT_INOTI_EVENT; } } else { - MS_DBG(" Ignore this file"); + /*This is ignore case*/ } } prev_mask = prev_wd = 0; /*reset */ @@ -678,7 +656,7 @@ gboolean ms_inoti_thread(void *data) } } /*end of one event */ else { - MS_DBG("Event length is zero or over MS_FILE_NAME_LEN_MAX"); + /*This is ignore case*/ if (event->mask & IN_IGNORED) { MS_DBG("This case is ignored"); } @@ -686,24 +664,218 @@ gboolean ms_inoti_thread(void *data) NEXT_INOTI_EVENT: ; i += INOTI_EVENT_SIZE + event->len; } + /*Active flush */ - sqlite3_release_memory(-1); malloc_trim(0); } - +POWER_OFF: ms_inoti_remove_watch(MS_DB_UPDATE_NOTI_PATH); - ms_inoti_remove_watch_recursive(MS_PHONE_ROOT_PATH); - ms_inoti_remove_watch_recursive(MS_MMC_ROOT_PATH); + ms_inoti_remove_watch_recursive(MS_ROOT_PATH_INTERNAL); + ms_inoti_remove_watch_recursive(MS_ROOT_PATH_EXTERNAL); close(inoti_fd); - err = ms_disconnect_db(handle); - if (err != MS_ERR_NONE) { - MS_DBG("ms_media_db_close error : %d", err); - return false; - } - MS_DBG("Disconnect MEDIA DB"); + if (handle) ms_disconnect_db(&handle); return false; } + +int _ms_get_path_from_current_node(int find_folder, + ms_dir_scan_info **current_root, + ms_dir_scan_info **real_root, char **path, int *depth) +{ + int err = MS_ERR_NONE; + char get_path[FAT_FILEPATH_LEN_MAX] = { 0 }; + + if (find_folder == 0) { + if ((*current_root)->Rbrother != NULL) { + *current_root = (*current_root)->Rbrother; + } else { + while (1) { + if ((*current_root)->parent == *real_root + || (*current_root)->parent == NULL) { + *current_root = NULL; + *depth = 0; + return MS_ERR_NONE; + } else if ((*current_root)->parent->Rbrother == NULL) { + *current_root = (*current_root)->parent; + (*depth) --; + } else { + *current_root = (*current_root)->parent->Rbrother; + (*depth) --; + break; + } + } + } + (*depth) --; + } + + err = ms_get_full_path_from_node(*current_root, get_path, *depth); + if (err != MS_ERR_NONE) + return MS_ERR_INVALID_DIR_PATH; + + *path = strdup(get_path); + + return err; +} + +void ms_inoti_add_watch_all_directory(ms_storage_type_t storage_type) +{ + int err = 0; + int depth = 0; + int find_folder = 0; + char get_path[MS_FILE_PATH_LEN_MAX] = { 0 }; + char *path = NULL; + DIR *dp = NULL; + struct dirent entry; + struct dirent *result; + + ms_dir_scan_info *root; + ms_dir_scan_info *tmp_root = NULL; + ms_dir_scan_info *cur_node = NULL; /*current node*/ + ms_dir_scan_info *prv_node = NULL; /*previous node*/ + ms_dir_scan_info *next_node = NULL; + + root = malloc(sizeof(ms_dir_scan_info)); + if (root == NULL) { + MS_DBG_ERR("malloc fail"); + return; + } + + if (storage_type == MS_STORAGE_INTERNAL) + root->name = strdup(MS_ROOT_PATH_INTERNAL); + else + root->name = strdup(MS_ROOT_PATH_EXTERNAL); + if (root->name == NULL) { + MS_DBG_ERR("strdup fail"); + free(root); + return; + } + + root->parent = NULL; + root->Rbrother = NULL; + root->next = NULL; + tmp_root = root; + prv_node = root; + + path = malloc(sizeof(char) * MS_FILE_PATH_LEN_MAX); + + err = ms_get_full_path_from_node(tmp_root, path, depth); + if (err != MS_ERR_NONE) { + return; + } + + ms_inoti_add_watch_with_node(root, depth); + + while (1) { + /*check poweroff status*/ + if (power_off) { + MS_DBG("Power off"); + goto FREE_RESOURCES; + } + + /*check SD card in out*/ + if ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (storage_type == MS_STORATE_EXTERNAL)) + goto FREE_RESOURCES; + + depth ++; + dp = opendir(path); + if (dp == NULL) { + MS_DBG_ERR("%s folder opendir fails", path); + goto NEXT_DIR; + } + + while (!readdir_r(dp, &entry, &result)) { + /*check poweroff status*/ + if (power_off) { + MS_DBG("Power off"); + goto FREE_RESOURCES; + } + + if (result == NULL) + break; + + if (entry.d_name[0] == '.') + continue; + + /*check SD card in out*/ + if ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (storage_type == MS_STORATE_EXTERNAL)) { + goto FREE_RESOURCES; + } + + if (entry.d_type & DT_DIR) { + DIR *tmp_dp = NULL; + err = ms_strappend(get_path, sizeof(get_path), "%s/%s",path, entry.d_name); + if (err != MS_ERR_NONE) { + MS_DBG_ERR("ms_strappend error"); + continue; + } + + tmp_dp = opendir(get_path); + if (tmp_dp == NULL) { + MS_DBG_ERR("%s folder opendir fails", get_path); + MS_DBG("error : %d, %s", errno ,strerror(errno)); + continue; + } + else + closedir(tmp_dp); + + cur_node = malloc(sizeof(ms_dir_scan_info)); + if (cur_node == NULL) { + MS_DBG_ERR("malloc fail"); + + goto FREE_RESOURCES; + } + + cur_node->name = strdup(entry.d_name); + cur_node->Rbrother = NULL; + cur_node->next = NULL; + + /*1. 1st folder */ + if (find_folder == 0) { + cur_node->parent = tmp_root; + tmp_root = cur_node; + } else { + cur_node->parent = tmp_root->parent; + prv_node->Rbrother = cur_node; + } + prv_node->next = cur_node; + + /*add watch */ + ms_inoti_add_watch_with_node(cur_node, depth); + + /*change previous */ + prv_node = cur_node; + find_folder++; + } + } +NEXT_DIR: + if (dp) closedir(dp); + if (path) free(path); + dp = NULL; + path = NULL; + + err = _ms_get_path_from_current_node(find_folder, &tmp_root, &root, &path, &depth); + if (err != MS_ERR_NONE) + break; + + if (tmp_root == NULL) + break; + + find_folder = 0; + } + +FREE_RESOURCES: + /*free allocated memory */ + if (path) free(path); + if (dp) closedir(dp); + + cur_node = root; + while (cur_node != NULL) { + next_node = cur_node->next; + free(cur_node->name); + free(cur_node); + cur_node = next_node; + } +}
\ No newline at end of file diff --git a/common/media-server-main.c b/common/media-server-main.c index 78c3753..14131ff 100755 --- a/common/media-server-main.c +++ b/common/media-server-main.c @@ -28,7 +28,8 @@ * @brief */ #include <vconf.h> -#include <drm-service.h> +#include <heynoti.h> +#include <media-util-register.h> #include "media-server-utils.h" #include "media-server-external-storage.h" @@ -36,9 +37,13 @@ #include "media-server-inotify.h" #include "media-server-scan.h" #include "media-server-socket.h" +#include "media-server-drm.h" +#include "media-server-dbus.h" #define APP_NAME "media-server" +static int heynoti_id; + extern GAsyncQueue *scan_queue; extern GAsyncQueue* ret_queue; extern GMutex *db_mutex; @@ -46,10 +51,11 @@ extern GMutex *list_mutex; extern GMutex *queue_mutex; extern GArray *reg_list; extern int mmc_state; +extern bool power_off; /*If this is TRUE, poweroff notification received*/ +static GMainLoop *mainloop = NULL; bool check_process(pid_t current_pid) { - MS_DBG_START(); DIR *pdir; struct dirent pinfo; struct dirent *result = NULL; @@ -58,7 +64,7 @@ bool check_process(pid_t current_pid) pdir = opendir("/proc"); if (pdir == NULL) { - MS_DBG("err: NO_DIR\n"); + MS_DBG_ERR("err: NO_DIR\n"); return 0; } @@ -81,10 +87,7 @@ bool check_process(pid_t current_pid) fclose(fp); if (strstr(buff, APP_NAME)) { - MS_DBG("pinfo->d_name : %s", pinfo.d_name); find_pid = atoi(pinfo.d_name); - MS_DBG(" find_pid : %d", find_pid); - MS_DBG(" current_pid : %d", current_pid); if (find_pid == current_pid) ret = true; else { @@ -93,14 +96,12 @@ bool check_process(pid_t current_pid) } } } else { - MS_DBG("Can't read file [%s]", path); + MS_DBG_ERR("Can't read file [%s]", path); } } closedir(pdir); - MS_DBG_END(); - return ret; } @@ -109,57 +110,72 @@ void init_process() } -static bool _db_clear(void) +static void _power_off_cb(void* data) +{ + ms_scan_data_t *scan_data; + + MS_DBG("++++++++++++++++++++++++++++++++++++++"); + MS_DBG("POWER OFF"); + MS_DBG("++++++++++++++++++++++++++++++++++++++"); + + power_off = true; + + if (scan_queue) { + /*notify to scannig thread*/ + scan_data = malloc(sizeof(ms_scan_data_t)); + scan_data->path = NULL; + scan_data->scan_type = POWEROFF; + g_async_queue_push(scan_queue, GINT_TO_POINTER(scan_data)); + + /*notify to Inotify thread*/ + mkdir(POWEROFF_DIR_PATH, 0777); + rmdir(POWEROFF_DIR_PATH); + } + + if (g_main_loop_is_running(mainloop)) g_main_loop_quit(mainloop); +} + +static bool _db_clear(void** handle) { int err; int db_status; - int usb_status; bool need_db_create = false; - void *handle = NULL; - - /*connect to media db, if conneting is failed, db updating is stopped*/ - ms_connect_db(&handle); /*update just valid type*/ - err = ms_invalidate_all_items(handle, MS_MMC); + err = ms_invalidate_all_items(handle, MS_STORATE_EXTERNAL); if (err != MS_ERR_NONE) - MS_DBG("ms_change_valid_type fail"); + MS_DBG_ERR("ms_change_valid_type fail"); ms_config_get_int(VCONFKEY_FILEMANAGER_DB_STATUS, &db_status); - ms_config_get_int(MS_USB_MODE_KEY, &usb_status); - MS_DBG("finish_phone_init_data db = %d", db_status); - MS_DBG("finish_phone_init_data usb = %d", usb_status); - - if (db_status == VCONFKEY_FILEMANAGER_DB_UPDATING - || usb_status == MS_VCONFKEY_MASS_STORAGE_MODE) { + if (db_status == VCONFKEY_FILEMANAGER_DB_UPDATING) { need_db_create = true; - err = ms_invalidate_all_items(handle, MS_PHONE); + err = ms_invalidate_all_items(handle, MS_STORAGE_INTERNAL); if (err != MS_ERR_NONE) - MS_DBG("ms_change_valid_type fail"); + MS_DBG_ERR("ms_change_valid_type fail"); } ms_set_db_status(MS_DB_UPDATED); - /*disconnect form media db*/ - ms_disconnect_db(handle); - return need_db_create; } int main(int argc, char **argv) { - GThread *inoti_tid; - GThread *scan_tid; - GThread *scoket_tid; + GThread *inoti_tid = NULL; + GThread *scan_tid = NULL; + GSource *source = NULL; + GIOChannel *channel = NULL; + GMainContext *context = NULL; - GMainLoop *mainloop = NULL; pid_t current_pid = 0; + int sockfd = -1; int err; bool check_result = false; bool need_db_create; + void **handle = NULL; ms_scan_data_t *phone_scan_data; ms_scan_data_t *mmc_scan_data; @@ -169,57 +185,80 @@ int main(int argc, char **argv) if (check_result == false) exit(0); - ms_load_functions(); - if (!g_thread_supported()) { g_thread_init(NULL); } - /*Init db mutex variable*/ - if (!db_mutex) - db_mutex = g_mutex_new(); + /*Init main loop*/ + mainloop = g_main_loop_new(NULL, FALSE); - /*clear previous data of sdcard on media database and check db status for updating*/ - need_db_create = _db_clear(); - - MS_DBG("MEDIA SERVER START"); + /*inotify setup */ + ms_inoti_init(); + + /*heynoti for power off*/ + if ((heynoti_id = heynoti_init()) <0) { + MS_DBG("heynoti_init failed"); + } else { + err = heynoti_subscribe(heynoti_id, POWEROFF_NOTI_NAME, _power_off_cb, NULL); + if (err < 0) + MS_DBG("heynoti_subscribe failed"); + + err = heynoti_attach_handler(heynoti_id); + if (err < 0) + MS_DBG("heynoti_attach_handler failed"); + } + + /*load functions from plusin(s)*/ + ms_load_functions(); - if (!scan_queue) - scan_queue = g_async_queue_new(); - if (!ret_queue) - ret_queue = g_async_queue_new(); + /*Init db mutex variable*/ + if (!db_mutex) db_mutex = g_mutex_new(); /*Init for register file*/ - if (!list_mutex) - list_mutex = g_mutex_new(); - if (!queue_mutex) - queue_mutex = g_mutex_new(); - if (!reg_list) - reg_list = g_array_new(TRUE, TRUE, sizeof(char*)); + if (!list_mutex) list_mutex = g_mutex_new(); + if (!queue_mutex) queue_mutex = g_mutex_new(); + if (!reg_list) reg_list = g_array_new(TRUE, TRUE, sizeof(char*)); - /*inotify setup */ - ms_inoti_init(); + /*connect to media db, if conneting is failed, db updating is stopped*/ + ms_connect_db(&handle); + + /*clear previous data of sdcard on media database and check db status for updating*/ + need_db_create = _db_clear(handle); + + ms_dbus_init(); ms_inoti_add_watch(MS_DB_UPDATE_NOTI_PATH); + ms_inoti_add_watch_all_directory(MS_STORAGE_INTERNAL); + + /*These are a communicator for thread*/ + if (!scan_queue) scan_queue = g_async_queue_new(); + if (!ret_queue) ret_queue = g_async_queue_new(); + + /*prepare socket*/ + /* Create and bind new UDP socket */ + if (!ms_prepare_socket(&sockfd)) { + MS_DBG_ERR("Failed to create socket\n"); + } else { + context = g_main_loop_get_context(mainloop); + + /* Create new channel to watch udp socket */ + channel = g_io_channel_unix_new(sockfd); + source = g_io_create_watch(channel, G_IO_IN); + + /* Set callback to be called when socket is readable */ + g_source_set_callback(source, (GSourceFunc)ms_read_socket, handle, NULL); + g_source_attach(source, context); + } /*create each threads*/ - inoti_tid = g_thread_create((GThreadFunc) ms_inoti_thread, NULL, FALSE, NULL); + inoti_tid = g_thread_create((GThreadFunc) ms_inoti_thread, NULL, TRUE, NULL); scan_tid = g_thread_create((GThreadFunc) ms_scan_thread, NULL, TRUE, NULL); - scoket_tid = g_thread_create((GThreadFunc) ms_socket_thread, NULL, TRUE, NULL); - - /*Init main loop*/ - mainloop = g_main_loop_new(NULL, FALSE); /*set vconf callback function*/ err = vconf_notify_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, (vconf_callback_fn) ms_mmc_vconf_cb, NULL); if (err == -1) - MS_DBG("add call back function for event %s fails", VCONFKEY_SYSMAN_MMC_STATUS); - - err = vconf_notify_key_changed(VCONFKEY_USB_STORAGE_STATUS, - (vconf_callback_fn) ms_usb_vconf_cb, NULL); - if (err == -1) - MS_DBG("add call back function for event %s fails", VCONFKEY_USB_STORAGE_STATUS); + MS_DBG_ERR("add call back function for event %s fails", VCONFKEY_SYSMAN_MMC_STATUS); phone_scan_data = malloc(sizeof(ms_scan_data_t)); mmc_scan_data = malloc(sizeof(ms_scan_data_t)); @@ -227,37 +266,32 @@ int main(int argc, char **argv) MS_DBG("*** Begin to check tables of file manager in database ***"); MS_DBG("*********************************************************"); - phone_scan_data->db_type = MS_PHONE; - if (need_db_create) { /*insert records*/ - MS_DBG("Create DB"); + phone_scan_data->path = strdup(MS_ROOT_PATH_INTERNAL); + phone_scan_data->storage_type = MS_STORAGE_INTERNAL; phone_scan_data->scan_type = MS_SCAN_ALL; - } else { - MS_DBG("JUST ADD WATCH"); - phone_scan_data->scan_type = MS_SCAN_NONE; + /*push data to fex_dir_scan_cb */ + g_async_queue_push(scan_queue, GINT_TO_POINTER(phone_scan_data)); } - /*push data to fex_dir_scan_cb */ - g_async_queue_push(scan_queue, GINT_TO_POINTER(phone_scan_data)); - if (ms_is_mmc_inserted()) { mmc_state = VCONFKEY_SYSMAN_MMC_MOUNTED; - if (drm_svc_insert_ext_memory() == DRM_RESULT_SUCCESS) - MS_DBG - ("fex_db_service_init : drm_svc_insert_ext_memory OK"); + if (!ms_drm_insert_ext_memory()) + MS_DBG_ERR("ms_drm_insert_ext_memory failed"); ms_make_default_path_mmc(); + ms_inoti_add_watch_all_directory(MS_STORATE_EXTERNAL); + mmc_scan_data->path = strdup(MS_ROOT_PATH_EXTERNAL); mmc_scan_data->scan_type = ms_get_mmc_state(); - mmc_scan_data->db_type = MS_MMC; - - MS_DBG("ms_get_mmc_state is %d", mmc_scan_data->scan_type); + mmc_scan_data->storage_type = MS_STORATE_EXTERNAL; g_async_queue_push(scan_queue, GINT_TO_POINTER(mmc_scan_data)); } + /*Active flush */ malloc_trim(0); MS_DBG("*****************************************"); @@ -266,30 +300,37 @@ int main(int argc, char **argv) g_main_loop_run(mainloop); - /*free all associated memory */ - g_main_loop_unref(mainloop); + g_thread_join(inoti_tid); + g_thread_join(scan_tid); - ms_unload_functions(); - - if (scan_queue) - g_async_queue_unref(scan_queue); + /*close an IO channel*/ + g_io_channel_shutdown(channel, FALSE, NULL); + g_io_channel_unref(channel); - if (ret_queue) - g_async_queue_unref(ret_queue); + heynoti_unsubscribe(heynoti_id, POWEROFF_NOTI_NAME, _power_off_cb); + heynoti_close(heynoti_id); - if(reg_list) - g_array_free(reg_list, true); + if (scan_queue) g_async_queue_unref(scan_queue); + if (ret_queue) g_async_queue_unref(ret_queue); + if (reg_list) g_array_free(reg_list, true); /*********** **remove call back functions ************/ vconf_ignore_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, (vconf_callback_fn) ms_mmc_vconf_cb); - vconf_ignore_key_changed(VCONFKEY_USB_STORAGE_STATUS, - (vconf_callback_fn) ms_usb_vconf_cb); /*Clear db mutex variable*/ - g_mutex_free (db_mutex); + if (db_mutex) g_mutex_free (db_mutex); + + /*disconnect form media db*/ + if (handle) ms_disconnect_db(&handle); + + /*close socket*/ + close(sockfd); + + /*unload functions*/ + ms_unload_functions(); exit(0); } diff --git a/common/media-server-scan-internal.c b/common/media-server-scan-internal.c index 33d89fa..5f027c5 100755 --- a/common/media-server-scan-internal.c +++ b/common/media-server-scan-internal.c @@ -34,26 +34,22 @@ #include "media-server-inotify.h" #include "media-server-scan-internal.h" -#ifdef PROGRESS -#include <quickpanel.h> -#endif - extern int mmc_state; -extern int current_usb_mode; -extern ms_dir_data *first_inoti_node; +bool power_off; + +typedef struct ms_scan_data { + char *name; + struct ms_scan_data *next; +} ms_scan_data; -#ifdef PROGRESS -#define SIZE_OF_PBARRAY 100 -#endif +ms_scan_data *first_scan_node; -int _ms_get_path_from_current_node(int find_folder, +static int _ms_scan_get_next_path_from_current_node(int find_folder, ms_dir_scan_info **current_root, - ms_dir_scan_info **real_root, char **path) + ms_dir_scan_info **real_root, char **path, int *depth) { - MS_DBG_START(); - - int err = 0; - char get_path[FAT_FILEPATH_LEN_MAX + 1] = { 0 }; + int err = MS_ERR_NONE; + char get_path[FAT_FILEPATH_LEN_MAX] = { 0 }; if (find_folder == 0) { if ((*current_root)->Rbrother != NULL) { @@ -63,44 +59,85 @@ int _ms_get_path_from_current_node(int find_folder, if ((*current_root)->parent == *real_root || (*current_root)->parent == NULL) { *current_root = NULL; - MS_DBG_END(); - return 0; - } else if ((*current_root)->parent->Rbrother == - NULL) { + *depth = 0; + return MS_ERR_NONE; + } else if ((*current_root)->parent->Rbrother == NULL) { *current_root = (*current_root)->parent; + (*depth) --; } else { - *current_root = - (*current_root)->parent->Rbrother; + *current_root = (*current_root)->parent->Rbrother; + (*depth) --; break; } } } + (*depth) --; } - err = ms_get_full_path_from_node(*current_root, get_path); + err = ms_get_full_path_from_node(*current_root, get_path, *depth); + if (err != MS_ERR_NONE) + return MS_ERR_INVALID_DIR_PATH; *path = strdup(get_path); - MS_DBG_END(); - return err; } -#ifdef PROGRESS -void _ms_dir_check(char *start_path, ms_store_type_t db_type, unsigned short *file_count) -#else -void _ms_dir_check(char *start_path, ms_store_type_t db_type) -#endif +static int _ms_scan_add_node(ms_dir_scan_info * const node, int depth) { - MS_DBG_START(); + int err; + char full_path[MS_FILE_PATH_LEN_MAX] = { 0 }; + ms_scan_data *current_dir = NULL; + ms_scan_data *prv_node = NULL; + ms_scan_data *last_node = NULL; + + err = ms_get_full_path_from_node(node, full_path, depth); + if (err != MS_ERR_NONE) + return MS_ERR_INVALID_DIR_PATH; + + last_node = first_scan_node; + while (last_node != NULL) { + last_node = last_node->next; + } + + /*find same folder */ + if (first_scan_node != NULL) { + last_node = first_scan_node; + while (last_node != NULL) { + if (strcmp(full_path, last_node->name) == 0) { + return MS_ERR_NONE; + } + prv_node = last_node; + last_node = last_node->next; + } + } + + current_dir = malloc(sizeof(ms_scan_data)); + current_dir->name = strdup(full_path); + current_dir->next = NULL; + + if (first_scan_node == NULL) { + first_scan_node = current_dir; + } else { + /*if next node of current node is NULL, it is the lastest node. */ + prv_node->next = current_dir; + } + MS_DBG("scan path : %s", full_path); + + return MS_ERR_NONE; +} +static void _ms_dir_check(ms_scan_data_t * scan_data) +{ int err = 0; + int depth = 0; int find_folder = 0; char get_path[MS_FILE_PATH_LEN_MAX] = { 0 }; - char *path; + char *path = NULL; DIR *dp = NULL; struct dirent entry; struct dirent *result; + ms_storage_type_t storage_type = scan_data->storage_type; ms_dir_scan_info *root; ms_dir_scan_info *tmp_root = NULL; @@ -110,14 +147,14 @@ void _ms_dir_check(char *start_path, ms_store_type_t db_type) root = malloc(sizeof(ms_dir_scan_info)); if (root == NULL) { - MS_DBG("malloc fail"); + MS_DBG_ERR("malloc fail"); return; } - root->name = strdup(start_path); - if (root->name == NULL) { - MS_DBG("strdup fail"); - free(root); + root->name = strdup(scan_data->path); + if (root->name == NULL) { + MS_DBG_ERR("strdup fail"); + MS_SAFE_FREE(root); return; } @@ -127,36 +164,48 @@ void _ms_dir_check(char *start_path, ms_store_type_t db_type) tmp_root = root; prv_node = root; - err = ms_get_full_path_from_node(tmp_root, get_path); - MS_DBG("full_path : %s", get_path); + path = malloc(sizeof(char) * MS_FILE_PATH_LEN_MAX); - path = strdup(get_path); - if (path == NULL) { - MS_DBG("strdup fail"); - free(root); + err = ms_get_full_path_from_node(tmp_root, path, depth); + if (err != MS_ERR_NONE) { return; } - ms_inoti_add_watch_with_node(root); + _ms_scan_add_node(root, depth); while (1) { + /*check poweroff status*/ + if (power_off) { + MS_DBG("Power off"); + goto FREE_RESOURCES; + } + + /*check SD card in out*/ + if ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (storage_type == MS_STORATE_EXTERNAL)) + goto FREE_RESOURCES; + + depth ++; dp = opendir(path); if (dp == NULL) { - MS_DBG("%s folder opendir fails", path); + MS_DBG_ERR("%s folder opendir fails", path); goto NEXT_DIR; } while (!readdir_r(dp, &entry, &result)) { + /*check poweroff status*/ + if (power_off) { + MS_DBG("Power off"); + goto FREE_RESOURCES; + } + if (result == NULL) break; if (entry.d_name[0] == '.') continue; - /*check usb in out*/ - if (current_usb_mode != VCONFKEY_USB_STORAGE_STATUS_OFF - ||(( mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (db_type == MS_MMC))) { - + /*check SD card in out*/ + if ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (storage_type == MS_STORATE_EXTERNAL)) { goto FREE_RESOURCES; } @@ -164,21 +213,21 @@ void _ms_dir_check(char *start_path, ms_store_type_t db_type) DIR *tmp_dp = NULL; err = ms_strappend(get_path, sizeof(get_path), "%s/%s",path, entry.d_name); if (err != MS_ERR_NONE) { - MS_DBG("ms_strappend error"); + MS_DBG_ERR("ms_strappend error"); continue; } tmp_dp = opendir(get_path); if (tmp_dp == NULL) { - MS_DBG("%s folder opendir fails", get_path); + MS_DBG_ERR("%s folder opendir fails", get_path); continue; } else closedir(tmp_dp); - + cur_node = malloc(sizeof(ms_dir_scan_info)); if (cur_node == NULL) { - MS_DBG("malloc fail"); + MS_DBG_ERR("malloc fail"); goto FREE_RESOURCES; } @@ -198,26 +247,20 @@ void _ms_dir_check(char *start_path, ms_store_type_t db_type) prv_node->next = cur_node; /*add watch */ - ms_inoti_add_watch_with_node(cur_node); + _ms_scan_add_node(cur_node, depth); /*change previous */ prv_node = cur_node; find_folder++; } -#ifdef PROGRESS - else if (entry.d_type & DT_REG) { - (*file_count)++; - } -#endif } NEXT_DIR: + MS_SAFE_FREE(path); if (dp) closedir(dp); - if (path) free(path); dp = NULL; - path = NULL; - err = _ms_get_path_from_current_node(find_folder, &tmp_root, &root, &path); - if (err < 0) + err = _ms_scan_get_next_path_from_current_node(find_folder, &tmp_root, &root, &path, &depth); + if (err != MS_ERR_NONE) break; if (tmp_root == NULL) @@ -228,174 +271,129 @@ NEXT_DIR: FREE_RESOURCES: /*free allocated memory */ - if (path) free(path); + MS_SAFE_FREE(path); if (dp) closedir(dp); + dp = NULL; cur_node = root; while (cur_node != NULL) { next_node = cur_node->next; - free(cur_node->name); - free(cur_node); + MS_SAFE_FREE(cur_node->name); + MS_SAFE_FREE(cur_node); cur_node = next_node; } - - MS_DBG_END(); } -#ifdef PROGRESS -void _ms_dir_scan(void *handle, ms_scan_data_t * scan_data, struct quickpanel *ms_quickpanel) -#else -void _ms_dir_scan(void *handle, ms_scan_data_t * scan_data) -#endif +void _ms_dir_scan(void **handle, ms_scan_data_t * scan_data) { - MS_DBG_START(); int err = 0; char path[MS_FILE_PATH_LEN_MAX] = { 0 }; - ms_dir_data *node; + ms_scan_data *node; DIR *dp = NULL; -#ifdef PROGRESS - int i; - unsigned short file_count = 0; - unsigned short update_count = 0; - unsigned short proress_array[SIZE_OF_PBARRAY] = { 0 }; -#endif - - if (scan_data->db_type == MS_PHONE) - err = ms_strcopy(path, sizeof(path), "%s", MS_PHONE_ROOT_PATH); - else - err = ms_strcopy(path, sizeof(path), "%s", MS_MMC_ROOT_PATH); - - if (err < MS_ERR_NONE) { - MS_DBG("fail ms_strcopy"); + ms_storage_type_t storage_type = scan_data->storage_type; + ms_dir_scan_type_t scan_type = scan_data->scan_type; + + err = ms_strcopy(path, sizeof(path), "%s", scan_data->path); + if (err != MS_ERR_NONE) { + MS_DBG_ERR("error : %d", err ); } -#ifdef PROGRESS /*Add inotify watch */ - _ms_dir_check(path, scan_data->db_type,&file_count); -#else - /*Add inotify watch */ - _ms_dir_check(path, scan_data->db_type); -#endif - -#ifdef PROGRESS - for (i = 0; i < SIZE_OF_PBARRAY; i++) { - proress_array[i] = ((i + 1) * file_count) / SIZE_OF_PBARRAY; - if (proress_array[i] == 0) - proress_array[i] = 1; - } - i = 0; -#endif + if (scan_type != MS_SCAN_INVALID) + _ms_dir_check(scan_data); /*if scan type is not MS_SCAN_NONE, check data in db. */ - if (scan_data->scan_type == MS_SCAN_ALL - || scan_data->scan_type == MS_SCAN_PART) { + if (scan_type == MS_SCAN_ALL || scan_type == MS_SCAN_PART) { struct dirent entry; struct dirent *result = NULL; - node = first_inoti_node; -#ifdef PROGRESS - int progress = 0; - int pre_progress = 0; -#endif - if (scan_data->scan_type == MS_SCAN_PART) { - /*enable bundle commit*/ - ms_validate_start(handle); - } + node = first_scan_node; while (node != NULL) { - /*check usb in out */ - if (current_usb_mode != VCONFKEY_USB_STORAGE_STATUS_OFF - || ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (scan_data->db_type == MS_MMC))) { + /*check poweroff status*/ + if (power_off) { + MS_DBG("Power off"); + goto STOP_SCAN; + } + + /*check SD card in out */ + if ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (storage_type == MS_STORATE_EXTERNAL)) { MS_DBG("Directory scanning is stopped"); goto STOP_SCAN; } - if (node->db_updated != true) { - dp = opendir(node->name); - if (dp != NULL) { - while (!readdir_r(dp, &entry, &result)) { - if (result == NULL) - break; - - if (entry.d_name[0] == '.') - continue; - /*check usb in out */ - if (current_usb_mode != VCONFKEY_USB_STORAGE_STATUS_OFF - || ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (scan_data->db_type == MS_MMC))) { - MS_DBG("Directory scanning is stopped"); - goto STOP_SCAN; + dp = opendir(node->name); + if (dp != NULL) { + while (!readdir_r(dp, &entry, &result)) { + /*check poweroff status*/ + if (power_off) { + MS_DBG("Power off"); + goto STOP_SCAN; + } + + if (result == NULL) + break; + + if (entry.d_name[0] == '.') + continue; + + /*check SD card in out */ + if ((mmc_state != VCONFKEY_SYSMAN_MMC_MOUNTED) && (storage_type == MS_STORATE_EXTERNAL)) { + MS_DBG("Directory scanning is stopped"); + goto STOP_SCAN; + } + + if (entry.d_type & DT_REG) { + err = ms_strappend(path, sizeof(path), "%s/%s", node->name, entry.d_name); + if (err < 0) { + MS_DBG_ERR("error : %d", err); + continue; } - if (entry.d_type & DT_REG) { - MS_DBG("THIS IS FEX_DIR_SCAN_CB"); -#ifdef PROGRESS - /*update progress bar */ - update_count++; - if (ms_quickpanel != NULL) { - if (proress_array[i] == update_count) { - while(1) { - ms_update_progress(ms_quickpanel, ((double)i) / 100); - i++; - if (proress_array[i] != update_count) - break; - } - } - } -#endif/*PROGRESS*/ - err = ms_strappend(path, sizeof(path), "%s/%s", node->name, entry.d_name); - if (err < 0) { - MS_DBG("FAIL : ms_strappend"); - continue; - } - - if (scan_data->scan_type == MS_SCAN_PART) - err = ms_validate_item(handle,path); - else - err = ms_insert_item_batch(handle, path); - - if (err < 0) { - MS_DBG("failed to update db : %d , %d\n", err, scan_data->scan_type); - continue; - } + if (scan_type == MS_SCAN_PART) + err = ms_validate_item(handle,path); + else + err = ms_insert_item_batch(handle, path); + + if (err < 0) { + MS_DBG_ERR("failed to update db : %d , %d\n", err, scan_type); + continue; } } - } else { - MS_DBG("%s folder opendir fails", node->name); } - if (dp) closedir(dp); - dp = NULL; + } else { + MS_DBG_ERR("%s folder opendir fails", node->name); + } + if (dp) closedir(dp); + dp = NULL; - if (node == NULL) { - MS_DBG(""); - MS_DBG("DB updating is done"); - MS_DBG(""); - break; - } - node->db_updated = true; + if (node == NULL) { + MS_DBG_ERR("DB updating is done"); + break; } node = node->next; } /*db update while */ - - if (scan_data->scan_type == MS_SCAN_PART) { - /*disable bundle commit*/ - ms_validate_end(handle); - - ms_delete_invalid_items(handle, scan_data->db_type); - } - } else { - node = first_inoti_node; - - while (node != NULL) { - node->db_updated = true; - node = node->next; - } + } else if ( scan_type == MS_SCAN_INVALID) { + /*In this case, update just validation record*/ + /*update just valid type*/ + err = ms_invalidate_all_items(handle, storage_type); + if (err != MS_ERR_NONE) + MS_DBG_ERR("error : %d", err); } STOP_SCAN: if (dp) closedir(dp); - sync(); + /*delete all node*/ + node = first_scan_node; - MS_DBG_END(); + while (node != NULL) { + if (node->name) free(node->name); + MS_SAFE_FREE(node); + } + + first_scan_node = NULL; + + sync(); return; } diff --git a/common/media-server-scan.c b/common/media-server-scan.c index 7be42f8..6d41de7 100755 --- a/common/media-server-scan.c +++ b/common/media-server-scan.c @@ -35,9 +35,7 @@ #include "media-server-scan-internal.h" #include "media-server-scan.h" -#ifdef PROGRESS -#include <quickpanel.h> -#endif +extern bool power_off; GAsyncQueue *scan_queue; extern int mmc_state; @@ -55,46 +53,47 @@ static void _insert_array(GArray *garray, ms_scan_data_t *insert_data) int i; MS_DBG("the length of array : %d", len); - MS_DBG("db_type : %d", insert_data->db_type); + MS_DBG("path : %s", insert_data->path); MS_DBG("scan_type : %d", insert_data->scan_type); - for (i=0; i < len; i++) - { - data = g_array_index(garray, ms_scan_data_t*, i); - - if (data->db_type == insert_data->db_type) { - if(data->scan_type > insert_data->scan_type) { - g_array_remove_index (garray, i); - g_array_insert_val(garray, i, insert_data); - insert_ok = true; + if (insert_data->scan_type == POWEROFF) { + g_array_prepend_val(garray, insert_data); + } else { + for (i=0; i < len; i++) { + data = g_array_index(garray, ms_scan_data_t*, i); + + if (data->scan_type != POWEROFF) { + if (data->storage_type == insert_data->storage_type) { + if(data->scan_type > insert_data->scan_type) { + g_array_remove_index (garray, i); + g_array_insert_val(garray, i, insert_data); + insert_ok = true; + } + } } } - } - if (insert_ok == false) - g_array_append_val(garray, insert_data); + if (insert_ok == false) + g_array_append_val(garray, insert_data); + } } gboolean ms_scan_thread(void *data) { - MS_DBG_START(); - ms_scan_data_t *scan_data = NULL; ms_scan_data_t *insert_data; GArray *garray = NULL; bool res; int length; int err; - void *handle = NULL; - -#ifdef PROGRESS - struct quickpanel *ms_quickpanel = NULL; -#endif + void **handle = NULL; + ms_storage_type_t storage_type; + ms_dir_scan_type_t scan_type; /*create array for processing overlay data*/ garray = g_array_new (FALSE, FALSE, sizeof (ms_scan_data_t *)); if (garray == NULL) { - MS_DBG("g_array_new error"); + MS_DBG_ERR("g_array_new error"); return false; } @@ -105,6 +104,10 @@ gboolean ms_scan_thread(void *data) if (garray->len != 0 && length == 0) { scan_data = g_array_index(garray, ms_scan_data_t*, 0); g_array_remove_index (garray, 0); + if (scan_data->scan_type == POWEROFF) { + MS_DBG("power off"); + goto POWER_OFF; + } } else if (length != 0) { insert_data = g_async_queue_pop(scan_queue); _insert_array(garray, insert_data); @@ -116,108 +119,82 @@ gboolean ms_scan_thread(void *data) continue; } - if (scan_data->scan_type != MS_SCAN_VALID) { - /*connect to media db, if conneting is failed, db updating is stopped*/ - err = ms_connect_db(&handle); - if (err != MS_ERR_NONE) - continue; - - /*start db updating */ - if (scan_data->scan_type != MS_SCAN_NONE ) { - int status; - - ms_set_db_status(MS_DB_UPDATING); - /*check UMS status and change configuration value*/ - ms_config_get_int(MS_USB_MODE_KEY, &status); - if (status == MS_VCONFKEY_MASS_STORAGE_MODE) { - ms_config_get_int(VCONFKEY_USB_STORAGE_STATUS, &status); - if(status == VCONFKEY_USB_STORAGE_STATUS_OFF) { - ms_config_set_int(MS_USB_MODE_KEY, MS_VCONFKEY_NORMAL_MODE); - } - } -#ifdef PROGRESS - ms_quickpanel = malloc(sizeof(struct quickpanel)); - ms_create_quickpanel(ms_quickpanel); -#endif /*PROGRESS*/ - } - - if (scan_data->scan_type == MS_SCAN_ALL) { - res = ms_delete_all_items(handle, scan_data->db_type); - if (res != true) { - MS_DBG("ms_delete_all_record fails"); - } - } + storage_type = scan_data->storage_type; + scan_type = scan_data->scan_type; -#ifdef FMS_PERF - if (scan_data->db_type == MS_MMC) { - ms_check_start_time(&g_mmc_start_time); - } -#endif - /*call for bundle commit*/ - ms_register_start(handle); + /*connect to media db, if conneting is failed, db updating is stopped*/ + err = ms_connect_db(&handle); + if (err != MS_ERR_NONE) + continue; -#ifdef PROGRESS - /*add inotify watch and insert data into media db */ - _ms_dir_scan(handle, scan_data, ms_quickpanel); + /*start db updating */ + ms_set_db_status(MS_DB_UPDATING); - if (ms_quickpanel != NULL) { - ms_delete_quickpanel(ms_quickpanel); - free(ms_quickpanel); - ms_quickpanel = NULL; + /*Delete all data before full scanning*/ + if (scan_type == MS_SCAN_ALL) { + res = ms_delete_all_items(handle, storage_type); + if (res != true) { + MS_DBG_ERR("ms_delete_all_record fails"); } -#else - /*add inotify watch and insert data into media db */ - _ms_dir_scan(handle, scan_data); -#endif - /*call for bundle commit*/ - ms_register_end(handle); + } #ifdef FMS_PERF - if (scan_data->db_type == MS_MMC) { - ms_check_end_time(&g_mmc_end_time); - ms_check_time_diff(&g_mmc_start_time, &g_mmc_end_time); - } + if (storage_type == MS_STORATE_EXTERNAL) { + ms_check_start_time(&g_mmc_start_time); + } #endif + /*call for bundle commit*/ + ms_register_start(handle); + if (scan_type == MS_SCAN_PART) { + /*enable bundle commit*/ + ms_validate_start(handle); + } - /*set vconf key mmc loading for indicator */ - if (scan_data->scan_type != MS_SCAN_NONE ) - ms_set_db_status(MS_DB_UPDATED); + /*add inotify watch and insert data into media db */ + _ms_dir_scan(handle, scan_data); - /*disconnect form media db*/ - ms_disconnect_db(handle); + if (power_off) { + MS_DBG("power off"); + goto POWER_OFF; + } - /*Active flush */ - sqlite3_release_memory(-1); + /*call for bundle commit*/ + ms_register_end(handle); + if (scan_type == MS_SCAN_PART) { + /*disable bundle commit*/ + ms_validate_end(handle); + ms_delete_invalid_items(handle, storage_type); + } - if (scan_data->db_type == MS_MMC) { - ms_update_mmc_info(); - } - } else { - /*connect to media db, if conneting is failed, db updating is stopped*/ - err = ms_connect_db(&handle); - if (err != MS_ERR_NONE) - continue; +#ifdef FMS_PERF + if (storage_type == MS_STORATE_EXTERNAL) { + ms_check_end_time(&g_mmc_end_time); + ms_check_time_diff(&g_mmc_start_time, &g_mmc_end_time); + } +#endif - /*update just valid type*/ - err = ms_invalidate_all_items(handle, scan_data->db_type); - if (err != MS_ERR_NONE) - MS_DBG("ms_change_valid_type fail"); + /*set vconf key mmc loading for indicator */ + ms_set_db_status(MS_DB_UPDATED); - ms_set_db_status(MS_DB_UPDATED); + /*disconnect form media db*/ + if (handle) ms_disconnect_db(&handle); - /*disconnect form media db*/ - ms_disconnect_db(handle); + /*Active flush */ + malloc_trim(0); - /*Active flush */ - sqlite3_release_memory(-1); + if (storage_type == MS_STORATE_EXTERNAL && scan_type == MS_SCAN_ALL) { + ms_update_mmc_info(); } - free(scan_data); + MS_SAFE_FREE(scan_data->path); + MS_SAFE_FREE(scan_data); } /*thread while*/ - if(garray) g_array_free (garray, TRUE); - - MS_DBG_END(); +POWER_OFF: + MS_SAFE_FREE(scan_data->path); + MS_SAFE_FREE(scan_data); + if (garray) g_array_free (garray, TRUE); + if (handle) ms_disconnect_db(&handle); - return true; + return false; } diff --git a/common/media-server-socket.c b/common/media-server-socket.c index 5e041f3..816c6f5 100755 --- a/common/media-server-socket.c +++ b/common/media-server-socket.c @@ -40,108 +40,97 @@ GAsyncQueue* ret_queue; -gboolean ms_socket_thread(void *data) +gboolean ms_read_socket(GIOChannel *src, + GIOCondition condition, + gpointer data) { - int ret; - int err; - int state; - int sockfd; - int send_msg = MS_MEDIA_ERR_NONE; - int client_addr_size; - void *handle = NULL; - - struct sockaddr_in server_addr; struct sockaddr_in client_addr; + unsigned int client_addr_len; - char recv_buff[MS_FILE_PATH_LEN_MAX]; + char recv_buff[MS_FILE_PATH_LEN_MAX] = {0}; + int send_msg = MS_MEDIA_ERR_NONE; + int recv_msg_size; + int sock = -1; + int ret; + void **handle = data; - sockfd = socket(PF_INET, SOCK_DGRAM, 0); + memset(recv_buff, 0, sizeof(recv_buff)); - if(sockfd < 0) - { - MS_DBG("socket create error"); - perror("socket error : "); - return MS_ERR_SOCKET_CONN; + sock = g_io_channel_unix_get_fd(src); + if (sock < 0) { + MS_DBG_ERR("sock fd is invalid!"); + return TRUE; } - memset(&server_addr, 0, sizeof(server_addr)); - server_addr.sin_family = AF_INET; - server_addr.sin_port = htons(MS_REGISTER_PORT); - server_addr.sin_addr.s_addr = htonl(INADDR_ANY); - - state = bind(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)); - if(state < 0) - { - MS_DBG("bind error"); - perror("bind error : "); - return MS_ERR_SOCKET_BIND; + /* Socket is readable */ + client_addr_len = sizeof(client_addr); + if ((recv_msg_size = recvfrom(sock, &recv_buff, sizeof(recv_buff), 0, (struct sockaddr *)&client_addr, &client_addr_len)) < 0) { + MS_DBG_ERR("recvfrom failed"); + return TRUE; } - - err = ms_connect_db(&handle); - if (err != MS_ERR_NONE) { - MS_DBG("SOCKET : sqlite3_open: ret = %d", err); - return false; + ret = ms_register_file(handle, recv_buff, ret_queue); + if (ret == MS_ERR_NOW_REGISTER_FILE) { + ret= GPOINTER_TO_INT(g_async_queue_pop(ret_queue)) - MS_ERR_MAX; } - while(1) - { - client_addr_size = sizeof(client_addr); - err = recvfrom(sockfd, recv_buff, sizeof(recv_buff), 0 , - (struct sockaddr*)&client_addr, (socklen_t *)&client_addr_size); - if(err < 0){ - MS_DBG("recvfrom error :%d", errno); - perror("recvfrom error : "); - goto NEXT; - } else { - MS_DBG("receive: %s\n", recv_buff); + if (ret != MS_ERR_NONE) { + MS_DBG_ERR("ms_register_file error : %d", ret); + + if(ret == MS_ERR_ARG_INVALID) { + send_msg = MS_MEDIA_ERR_INVALID_PARAMETER; + } else if (ret == MS_ERR_MIME_GET_FAIL) { + send_msg = MS_MEDIA_ERR_INVALID_MEDIA; + } else if (ret == MS_ERR_DB_INSERT_RECORD_FAIL) { + send_msg = MS_MEDIA_ERR_INSERT_FAIL; + } else if (ret == MS_ERR_DRM_REGISTER_FAIL) { + send_msg = MS_MEDIA_ERR_DRM_INSERT_FAIL; } + } else { + MS_DBG("SOCKET INSERT SECCESS : %s", recv_buff); + send_msg = MS_MEDIA_ERR_NONE; + } - ret = ms_register_file(handle, recv_buff, ret_queue); - if (ret == MS_ERR_NOW_REGISTER_FILE) { - MS_DBG("WAIT"); - ret= GPOINTER_TO_INT(g_async_queue_pop(ret_queue)) - MS_ERR_MAX; - MS_DBG("RECEIVE REPLAY"); - } + if (sendto(sock, &send_msg, sizeof(send_msg), 0, (struct sockaddr *)&client_addr, sizeof(client_addr)) != sizeof(send_msg)) { + MS_DBG_ERR("sendto failed"); + } else { + MS_DBG("Sent %d", send_msg); + } - if (ret != MS_ERR_NONE) { - MS_DBG("ms_register_file error : %d", ret); - - if(ret == MS_ERR_ARG_INVALID) { - send_msg = MS_MEDIA_ERR_INVALID_PARAMETER; - } else if (ret == MS_ERR_NOT_MEDIA_FILE) { - send_msg = MS_MEDIA_ERR_INVALID_MEDIA; - } else if (ret == MS_ERR_DB_INSERT_RECORD_FAIL) { - send_msg = MS_MEDIA_ERR_INSERT_FAIL; - } else if (ret == MS_ERR_DRM_REGISTER_FAIL) { - send_msg = MS_MEDIA_ERR_DRM_INSERT_FAIL; - } - } else { - MS_DBG("SOCKET INSERT SECCESS"); - send_msg = MS_MEDIA_ERR_NONE; - } + /*Active flush */ + malloc_trim(0); - err = sendto(sockfd, &send_msg, sizeof(send_msg), 0, - (struct sockaddr*)&client_addr, sizeof(client_addr)); - if(err < 0){ - MS_DBG("SOCKET SEND FAIL :%d", errno); - perror("send error : "); - } else { - MS_DBG("SOCKET SEND SUCCESS"); - } -NEXT: - memset(recv_buff, 0, MS_FILE_PATH_LEN_MAX); + return TRUE; +} + +gboolean ms_prepare_socket(int *sock_fd) +{ + int sock; + struct sockaddr_in serv_addr; + unsigned short serv_port; + + serv_port = MS_REGISTER_PORT; + + /* Creaete a datagram/UDP socket */ + if ((sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { + MS_DBG_ERR("socket failed"); + return FALSE; } - close(sockfd); - MS_DBG("END SOCKET THREAD"); + memset(&serv_addr, 0, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + serv_addr.sin_port = htons(serv_port); - err = ms_disconnect_db(handle); - if (err != MS_ERR_NONE) { - MS_DBG("ms_media_db_close error : %d", err); - return false; + /* Bind to the local address */ + if (bind(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) { + MS_DBG_ERR("bind failed"); + return FALSE; } - MS_DBG("Disconnect MEDIA DB"); - return 0; + MS_DBG("bind success"); + + *sock_fd = sock; + + return TRUE; } diff --git a/common/media-server-utils.c b/common/media-server-utils.c index 12bacbc..76b7db9 100755 --- a/common/media-server-utils.c +++ b/common/media-server-utils.c @@ -30,13 +30,11 @@ #include <pmapi.h> #include <vconf.h> -#include <drm-service.h> -#ifdef PROGRESS -#include <quickpanel.h> -#endif #include "media-server-inotify.h" #include "media-server-utils.h" +#include "media-server-drm.h" +#include "media-server-dbus.h" #ifdef FMS_PERF #include <sys/time.h> @@ -45,72 +43,11 @@ struct timeval g_mmc_start_time; struct timeval g_mmc_end_time; #endif -extern GAsyncQueue *scan_queue; - -#define CONTENT_TYPE_NUM 4 -#define MUSIC_MIME_NUM 28 -#define SOUND_MIME_NUM 1 -#define MIME_TYPE_LENGTH 255 -#define MIME_LENGTH 50 -#define _3GP_FILE ".3gp" -#define _MP4_FILE ".mp4" #define MS_DRM_CONTENT_TYPE_LENGTH 100 int ums_mode = 0; -int current_usb_mode = 0; extern int mmc_state; -typedef struct { - char content_type[15]; - int category_by_mime; -} ms_content_table_t; - -static const ms_content_table_t content_category[CONTENT_TYPE_NUM] = { - {"audio", MS_CATEGORY_SOUND}, - {"image", MS_CATEGORY_IMAGE}, - {"video", MS_CATEGORY_VIDEO}, - {"application", MS_CATEGORY_ETC}, -}; - -static const char music_mime_table[MUSIC_MIME_NUM][MIME_LENGTH] = { - /*known mime types of normal files*/ - "mpeg", - "ogg", - "x-ms-wma", - "x-flac", - "mp4", - /* known mime types of drm files*/ - "mp3", - "x-mp3", /*alias of audio/mpeg*/ - "x-mpeg", /*alias of audio/mpeg*/ - "3gpp", - "x-ogg", /*alias of audio/ogg*/ - "vnd.ms-playready.media.pya:*.pya", /*playready*/ - "wma", - "aac", - "x-m4a", /*alias of audio/mp4*/ - /* below mimes are rare*/ - "x-vorbis+ogg", - "x-flac+ogg", - "x-matroska", - "ac3", - "mp2", - "x-ape", - "x-ms-asx", - "vnd.rn-realaudio", - - "x-vorbis", /*alias of audio/x-vorbis+ogg*/ - "vorbis", /*alias of audio/x-vorbis+ogg*/ - "x-oggflac", - "x-mp2", /*alias of audio/mp2*/ - "x-pn-realaudio", /*alias of audio/vnd.rn-realaudio*/ - "vnd.m-realaudio", /*alias of audio/vnd.rn-realaudio*/ -}; - -static const char sound_mime_table[SOUND_MIME_NUM][MIME_LENGTH] = { - "x-smaf", -}; - static int _ms_set_power_mode(ms_db_status_type_t status) { @@ -129,7 +66,7 @@ _ms_set_power_mode(ms_db_status_type_t status) res = MS_ERR_UNKNOWN_ERROR; break; default: - MS_DBG("Unacceptable type : %d", status); + MS_DBG_ERR("Unacceptable type : %d", status); break; } @@ -148,11 +85,13 @@ ms_set_db_status(ms_db_status_type_t status) } else if (status == MS_DB_UPDATED) { if(ms_config_set_int(VCONFKEY_FILEMANAGER_DB_STATUS, VCONFKEY_FILEMANAGER_DB_UPDATED)) res = MS_ERR_VCONF_SET_FAIL; + /*notify to other application about db updated by DBUS*/ + ms_dbus_send_noti(MS_DBUS_DB_UPDATED); } err = _ms_set_power_mode(status); if (err != MS_ERR_NONE) { - MS_DBG("_ms_set_power_mode fail"); + MS_DBG_ERR("_ms_set_power_mode fail"); res = err; } @@ -186,156 +125,77 @@ ms_check_time_diff(struct timeval *start_time, struct timeval *end_time) } #endif -void -ms_usb_vconf_cb(void *data) -{ - MS_DBG_START(); - - int status = 0; - - MS_DBG("Received usb noti from vconf : %d", status); - - if (!ms_config_get_int(VCONFKEY_USB_STORAGE_STATUS, &status)) { - MS_DBG - ("........Get VCONFKEY_USB_STORAGE_STATUS failed........"); - } - - MS_DBG("ms_config_get_int : VCONFKEY_USB_STORAGE_STATUS END = %d", - status); - current_usb_mode = status; - - if (current_usb_mode == VCONFKEY_USB_STORAGE_STATUS_OFF) { - if (ums_mode != VCONFKEY_USB_STORAGE_STATUS_OFF) { - ms_scan_data_t *int_scan; - - int_scan = malloc(sizeof(ms_scan_data_t)); - - int_scan->db_type = MS_PHONE; - int_scan->scan_type = MS_SCAN_PART; - - /*push data to fex_dir_scan_cb */ - g_async_queue_push(scan_queue, GINT_TO_POINTER(int_scan)); - - if (ms_is_mmc_inserted()) { - ms_scan_data_t *ext_scan; - - /*prepare to insert drm data and delete previous drm datas */ - if (drm_svc_insert_ext_memory() == - DRM_RESULT_SUCCESS) - MS_DBG("drm_svc_insert_ext_memory OK"); - - ext_scan = malloc(sizeof(ms_scan_data_t)); - mmc_state = VCONFKEY_SYSMAN_MMC_MOUNTED; - - ext_scan->db_type = MS_MMC; - ext_scan->scan_type = MS_SCAN_PART; - - /*push data to fex_dir_scan_cb */ - g_async_queue_push(scan_queue, GINT_TO_POINTER(ext_scan)); - } - } - ums_mode = VCONFKEY_USB_STORAGE_STATUS_OFF; - ms_config_set_int(MS_USB_MODE_KEY, MS_VCONFKEY_NORMAL_MODE); - } - else { - if (ums_mode == VCONFKEY_USB_STORAGE_STATUS_OFF) { - MS_DBG("VCONFKEY_USB_STORAGE_STATUS : %d", current_usb_mode); - ms_scan_data_t *int_scan; - - ums_mode = current_usb_mode; - - int_scan = malloc(sizeof(ms_scan_data_t)); - int_scan->scan_type = MS_SCAN_VALID; - int_scan->db_type = MS_PHONE; - - g_async_queue_push(scan_queue, GINT_TO_POINTER(int_scan)); - - ms_inoti_remove_watch_recursive(MS_PHONE_ROOT_PATH); - - if (ums_mode == VCONFKEY_USB_STORAGE_STATUS_UMS_MMC_ON) { - - ms_scan_data_t *ext_scan; - - ext_scan = malloc(sizeof(ms_scan_data_t)); - ext_scan->scan_type = MS_SCAN_VALID; - ext_scan->db_type = MS_MMC; - - g_async_queue_push(scan_queue, GINT_TO_POINTER(ext_scan)); - - ms_inoti_remove_watch_recursive(MS_MMC_ROOT_PATH); - - /*notify to drm-server */ - if (drm_svc_extract_ext_memory() == DRM_RESULT_SUCCESS) - MS_DBG("drm_svc_extract_ext_memory OK"); - } - - /*delete all drm contect from drm server */ - if (drm_svc_unregister_all_contents() == DRM_RESULT_SUCCESS) - MS_DBG("drm_svc_unregister_all_contents OK"); - - ms_config_set_int(MS_USB_MODE_KEY, MS_VCONFKEY_MASS_STORAGE_MODE); - } - } - - MS_DBG_END(); - return; -} - bool ms_is_mmc_inserted(void) { int data = -1; ms_config_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &data); - MS_DBG("%s is %d ", VCONFKEY_SYSMAN_MMC_STATUS, data); if (data != VCONFKEY_SYSMAN_MMC_MOUNTED) { - MS_DBG("SD Card is inserted"); return false; } else { - MS_DBG("SD Card is not inserted"); return true; } } +/*CAUTION : Before using this function, Have to allocate static memory of ret_path*/ +/*And the array length does not over MS_FILE_PATH_LEN_MAX*/ +/*for example : char path[MS_FILE_PATH_LEN_MAX] = {0};*/ int -ms_get_full_path_from_node(ms_dir_scan_info * const node, char *ret_path) +ms_get_full_path_from_node(ms_dir_scan_info * const node, char *ret_path, int depth) { - int err = 0; + int i = 0; + int path_length = 0; + int length = 0; ms_dir_scan_info *cur_node; - char path[MS_FILE_PATH_LEN_MAX] = { 0 }; - char tmp_path[MS_FILE_PATH_LEN_MAX] = { 0 }; + char **path_array; - cur_node = node; - MS_DBG("%s", cur_node->name); + if (depth < 0) { + MS_DBG_ERR("depth < 0"); + return MS_ERR_INVALID_DIR_PATH; + } - while (1) { - err = ms_strappend(path, sizeof(path), "/%s%s", cur_node->name, tmp_path); - if (err < 0) { - MS_DBG("ms_strappend error : %d", err); - return err; - } + path_array = malloc(sizeof(char*) * (depth + 1)); - strncpy(tmp_path, path, MS_FILE_PATH_LEN_MAX); + cur_node = node; + while (1) { + path_array[i] = cur_node->name; if (cur_node->parent == NULL) break; cur_node = cur_node->parent; - memset(path, 0, MS_FILE_PATH_LEN_MAX); + i++; + } + + for(i = depth ; i >= 0 ; i --) { + length = strlen(path_array[i]); + + if (path_length + length > MS_FILE_PATH_LEN_MAX) { + MS_DBG_ERR("This is invalid path, %s, %d", node->name, depth); + return MS_ERR_INVALID_DIR_PATH; + } + + strncpy(ret_path+path_length, path_array[i], length); + path_length += length; + + ret_path[path_length] = '/'; + path_length ++; } - strncpy(ret_path, path, MS_FILE_PATH_LEN_MAX); + ret_path[-- path_length] = '\0'; - return err; + free(path_array); + + return MS_ERR_NONE; } -ms_store_type_t -ms_get_store_type_by_full(const char *path) +ms_storage_type_t +ms_get_storage_type_by_full(const char *path) { - if (strncmp(path + 1, MS_PHONE_ROOT_PATH, strlen(MS_PHONE_ROOT_PATH)) == 0) { - return MS_PHONE; - } else - if (strncmp(path + 1, MS_MMC_ROOT_PATH, strlen(MS_MMC_ROOT_PATH)) == 0) { - return MS_MMC; + if (strncmp(path, MS_ROOT_PATH_INTERNAL, strlen(MS_ROOT_PATH_INTERNAL)) == 0) { + return MS_STORAGE_INTERNAL; + } else if (strncmp(path, MS_ROOT_PATH_EXTERNAL, strlen(MS_ROOT_PATH_EXTERNAL)) == 0) { + return MS_STORATE_EXTERNAL; } else return MS_ERR_INVALID_FILE_PATH; } @@ -355,7 +215,6 @@ ms_strappend(char *res, const int size, const char *pattern, len = snprintf(res, real_size, pattern, str1, str2); if (len < 0) { - MS_DBG("MS_ERR_ARG_INVALID"); return MS_ERR_ARG_INVALID; } @@ -378,7 +237,6 @@ ms_strcopy(char *res, const int size, const char *pattern, const char *str1) len = snprintf(res, real_size, pattern, str1); if (len < 0) { - MS_DBG("MS_ERR_ARG_INVALID"); return MS_ERR_ARG_INVALID; } @@ -393,7 +251,7 @@ ms_config_get_int(const char *key, int *value) int err; if (!key || !value) { - MS_DBG("Arguments key or value is NULL"); + MS_DBG_ERR("Arguments key or value is NULL"); return false; } @@ -403,7 +261,7 @@ ms_config_get_int(const char *key, int *value) else if (err == -1) return false; else - MS_DBG("Unexpected error code: %d", err); + MS_DBG_ERR("Unexpected error code: %d", err); return false; } @@ -414,7 +272,7 @@ ms_config_set_int(const char *key, int value) int err; if (!key) { - MS_DBG("Arguments key is NULL"); + MS_DBG_ERR("Arguments key is NULL"); return false; } @@ -424,7 +282,7 @@ ms_config_set_int(const char *key, int value) else if (err == -1) return false; else - MS_DBG("Unexpected error code: %d", err); + MS_DBG_ERR("Unexpected error code: %d", err); return false; } @@ -434,7 +292,7 @@ ms_config_get_str(const char *key, char *value) { char *res; if (!key || !value) { - MS_DBG("Arguments key or value is NULL"); + MS_DBG_ERR("Arguments key or value is NULL"); return false; } @@ -453,7 +311,7 @@ ms_config_set_str(const char *key, const char *value) int err; if (!key || !value) { - MS_DBG("Arguments key or value is NULL"); + MS_DBG_ERR("Arguments key or value is NULL"); return false; } @@ -461,82 +319,8 @@ ms_config_set_str(const char *key, const char *value) if (err == 0) return true; else - MS_DBG("fail to vconf_set_str %d", err); + MS_DBG_ERR("fail to vconf_set_str %d", err); return false; } -void -ms_check_db_updating(void) -{ - int vconf_value = 0; - - /*wait if phone init is not finished. */ - while (1) { - ms_config_get_int(VCONFKEY_FILEMANAGER_DB_STATUS, &vconf_value); - - if (vconf_value != VCONFKEY_FILEMANAGER_DB_UPDATED) { - MS_DBG("iNoti waits till init_phone finishes..."); - sleep(2); - } else { - return; - } - } -} - -#ifdef PROGRESS -void -ms_create_quickpanel(struct quickpanel *ms_quickpanel) -{ - MS_DBG_START(); - int type_id; - int ret; - - struct quickpanel_type *qp_type; - - ret = quickpanel_get_type_id(NULL, - "/opt/apps/com.samsung.myfile/res/icons/default/small/com.samsung.myfile.png", - 0); - MS_DBG("return value of quickpanel_get_type_id : %d", ret); - - ms_quickpanel->type = ret; - ms_quickpanel->priv_id = getpid(); - ms_quickpanel->group_id = 0; - ms_quickpanel->title = "Media scanning"; - ms_quickpanel->content = NULL; - ms_quickpanel->progress = 0; - ms_quickpanel->args = NULL; - ms_quickpanel->args_group = NULL; - ms_quickpanel->evt = QP_E_ONGOING; - - ret = quickpanel_insert(ms_quickpanel); - MS_DBG("return value of quickpanel_insert : %d", ret); - - MS_DBG_END(); -} - -void -ms_update_progress(struct quickpanel *ms_quickpanel, double progress) -{ - MS_DBG_START(); - - MS_DBG("%lf", progress) - quickpanel_update_progress(ms_quickpanel->type, - ms_quickpanel->priv_id, progress); - - MS_DBG_END(); -} - -void -ms_delete_quickpanel(struct quickpanel *ms_quickpanel) -{ - MS_DBG_START(); - int ret = 0; - - ret = quickpanel_delete(ms_quickpanel->type, ms_quickpanel->priv_id); - MS_DBG("return value of quickpanel_delete : %d", ret); - - MS_DBG_END(); -} -#endif /*PROGRESS*/ - diff --git a/configure.ac b/configure.ac index 6a33169..79a1553 100755 --- a/configure.ac +++ b/configure.ac @@ -64,7 +64,7 @@ PKG_CHECK_MODULES(DLOG, dlog) AC_SUBST(DLOG_CFLAGS) AC_SUBST(DLOG_LIBS) -PKG_CHECK_MODULES(DRM_SERVICE, drm-service) +PKG_CHECK_MODULES(DRM_SERVICE, drm-client) AC_SUBST(DRM_SERVICE_CFLAGS) AC_SUBST(DRM_SERVICE_LIBS) @@ -80,6 +80,14 @@ PKG_CHECK_MODULES(LIBPMCONTROL, pmapi) AC_SUBST(LIBPMCONTROL_CFLAGS) AC_SUBST(LIBPMCONTROL_LIBS) +PKG_CHECK_MODULES(HEYNOTI, heynoti) +AC_SUBST(HEYNOTI_CFLAGS) +AC_SUBST(HEYNOTI_LIBS) + +PKG_CHECK_MODULES(DBUS, dbus-glib-1) +AC_SUBST(DBUS_CFLAGS) +AC_SUBST(DBUS_LIBS) + # quickpanel library #PKG_CHECK_MODULES(LIBQUICKPANEL, quickpanel) #AC_SUBST(LIBQUICKPANEL_CFLAGS) diff --git a/debian/changelog b/debian/changelog index 42153a5..9e1b38e 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,55 +1,3574 @@ +media-server (0.1.77) unstable; urgency=low + + * delete some codes related to UMS mode + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.77 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 30 May 2012 17:25:39 +0900 + +media-server (0.1.76) unstable; urgency=low + + * change vconf key value + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.76 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 30 May 2012 11:53:25 +0900 + +media-server (0.1.75) unstable; urgency=low + + * change vconf key value + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.75 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 24 May 2012 11:07:00 +0900 + +media-server (0.1.74) unstable; urgency=low + + * change default path + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.74 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 23 May 2012 17:27:46 +0900 + +media-server (0.1.73) unstable; urgency=low + + * change DRM APIs + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.73 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 18 May 2012 12:48:04 +0900 + +media-server (0.1.72) unstable; urgency=low + + * code clean up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.72 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 09 May 2012 18:38:08 +0900 + +media-server (0.1.71) unstable; urgency=low + + * code clean up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.71 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 09 May 2012 17:02:17 +0900 + +media-server (0.1.70) unstable; urgency=low + + * code clean up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.70 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 20 Apr 2012 11:56:53 +0900 + +media-server (0.1.69) unstable; urgency=low + + * version up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.69 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 16 Apr 2012 16:39:18 +0900 + +media-server (0.1.68) unstable; urgency=low + + * rollback and code clean up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.68 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 16 Apr 2012 14:18:37 +0900 + +media-server (0.1.67) unstable; urgency=low + + * change position of function call of g_idle_add + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.67 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 13 Apr 2012 11:09:34 +0900 + media-server (0.1.66) unstable; urgency=low - * update latest code - * Git : pkgs/m/media-server - * Tag : media-server_0.1.66 + * drm apis move to main loop + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.66 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 13 Apr 2012 14:17:13 +0900 + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 12 Apr 2012 16:45:58 +0900 media-server (0.1.65) unstable; urgency=low - * add Testcase of libmedia-utils - * Git : pkgs/m/media-server - * Tag : media-server_0.1.65 + * arrange log messages + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.65 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 27 Mar 2012 14:05:03 +0900 + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 09 Apr 2012 16:51:44 +0900 media-server (0.1.64) unstable; urgency=low - * update media-server.spec - * Git : pkgs/m/media-server - * Tag : media-server_0.1.64 + * delete unnecessary code + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.64 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 09 Apr 2012 15:51:21 +0900 + +media-server (0.1.63) unstable; urgency=low + + * update media-server.spec for obs + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.63 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 23 Mar 2012 17:06:38 +0900 + +media-server (0.1.63) unstable; urgency=low + + * update media-server.spec for obs + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.63 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 09 Mar 2012 15:29:38 +0900 + +media-server (0.1.62) unstable; urgency=low + + * add function and log message for debugging + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.62 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 07 Mar 2012 21:24:01 +0900 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 23 Mar 2012 17:42:58 +0900 +media-server (0.1.61) unstable; urgency=low + + * modify condition for while looping in ms_inoti_add_watch_with_node + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.61 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 05 Mar 2012 14:28:51 +0900 + +media-server (0.1.60) unstable; urgency=low + + * delete dependency in debin/control and delete some including headers + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.60 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 16 Feb 2012 10:44:21 +0900 + +media-server (0.1.59) unstable; urgency=low + + * modify TC and delete thumbnail requesting routine + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.59 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 15 Feb 2012 15:15:05 +0900 + +media-server (0.1.58) unstable; urgency=low + + * delete feature of libmedia-service + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.58 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 13 Feb 2012 17:44:59 +0900 + +media-server (0.1.57) unstable; urgency=low + + * remove libmedia-service dependency + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.57 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 13 Feb 2012 15:16:02 +0900 + +media-server (0.1.56) unstable; urgency=low + + * add new libmedia-service APIs + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.56 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 30 Jan 2012 14:31:58 +0900 + +media-server (0.1.55) unstable; urgency=low + + * code refactoring + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.55 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 27 Jan 2012 16:49:49 +0900 media-server (0.1.54) unstable; urgency=low - * merge for 1.0 release - * Git : pkgs/m/media-server - * Tag : media-server_0.1.54 + * apply new libmedia-service : add db handler in each function and thread + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.54 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 20 Mar 2012 09:53:27 +0900 + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 18 Jan 2012 12:35:17 +0900 media-server (0.1.53) unstable; urgency=low - * fix build error - * Git : pkgs/m/media-server - * Tag : media-server_0.1.53 + * apply new policy of default directories + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.53 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 18 Feb 2012 17:22:51 +0900 + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 17 Jan 2012 10:29:37 +0900 media-server (0.1.52) unstable; urgency=low - * for beta release - * Git : pkgs/m/media-server - * Tag : media-server_0.1.52 + * add log for debug + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.52 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 10 Feb 2012 15:01:20 +0900 + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 17 Jan 2012 09:58:49 +0900 media-server (0.1.51) unstable; urgency=low + * add log for debug + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.51 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 16 Jan 2012 20:58:58 +0900 + +media-server (0.1.50) unstable; urgency=low + + * change error type + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.50 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 12 Dec 2011 20:44:55 +0900 + +media-server (0.1.49) unstable; urgency=low + + * change name of dependency module from libmedia-info to libmedia-service + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.49 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 06 Dec 2011 13:09:51 +0900 + +media-server (0.1.48) unstable; urgency=low + + * change name of macro for preventing conflict + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.48 + + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 05 Dec 2011 17:27:08 +0900 + +media-server (0.1.47) unstable; urgency=low + + * change boiler plate + * add header file into including header list + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.47 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 02 Dec 2011 11:34:53 +0900 + +media-server (0.1.46) unstable; urgency=low + + * add dependency for development package + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.46 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 01 Dec 2011 18:12:03 +0900 + +media-server (0.1.45) unstable; urgency=low + + * fix build break from using this library and change name of dlog tag + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.45 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 01 Dec 2011 15:16:29 +0900 + +media-server (0.1.44) unstable; urgency=low + + * add new api(media_file_register) and change name of library + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.44 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 01 Dec 2011 10:47:38 +0900 + +media-server (0.1.43) unstable; urgency=low + + * apply bundle commit for register_file + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.43 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 24 Nov 2011 13:19:39 +0900 + +media-server (0.1.42) unstable; urgency=low + + * change sequence of booting + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.42 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 12 Nov 2011 10:56:10 +0900 + +media-server (0.1.41) unstable; urgency=low + + * change sequence of booting + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.41 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 10 Nov 2011 15:42:40 +0900 + +media-server (0.1.40) unstable; urgency=low + + * apply to changing of libmedia-info : using uuid + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.40 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 31 Oct 2011 12:50:41 +0900 + +media-server (0.1.39) unstable; urgency=low + + * disable feature of hibernation + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.39 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 24 Oct 2011 10:57:25 +0900 + +media-server (0.1.38) unstable; urgency=low + + * change position of some functions + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.38 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 20 Oct 2011 15:44:10 +0900 + +media-server (0.1.37) unstable; urgency=low + + * change way to IPC + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.37 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 19 Oct 2011 11:13:45 +0900 + +media-server (0.1.36) unstable; urgency=low + + * fix bug(CQ H0100135152) : if non-media content is registered, media-server did not reply for request + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.36 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 14 Oct 2011 20:22:56 +0900 + +media-server (0.1.35) unstable; urgency=low + + * version up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.35 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 11 Oct 2011 19:06:17 +0900 + +media-server (0.1.34) unstable; urgency=low + + * version up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.34 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 04 Oct 2011 15:25:44 +0900 + +media-server (0.1.33) unstable; urgency=low + + * change way to compare mmc card information + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.33 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 21 Sep 2011 13:08:12 +0900 + +media-server (0.1.32) unstable; urgency=low + + * change position of initializing mutex + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.32 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 17 Sep 2011 14:21:45 +0900 + +media-server (0.1.31) unstable; urgency=low + + * add mutex in db open function and fix bug for music player(related with drm files) + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.31 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 16 Sep 2011 18:14:44 +0900 + +media-server (0.1.30) unstable; urgency=low + + * apply change of audio-svc(bundle commit) + * remove creating schema of media db + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.30 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 16 Sep 2011 11:48:23 +0900 + +media-server (0.1.29) unstable; urgency=low + + * remove creating schema of media db + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.29 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 08 Sep 2011 17:52:48 +0900 + +media-server (0.1.28) unstable; urgency=low + + * check return value of some functions + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.28 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 07 Sep 2011 11:58:51 +0900 + +media-server (0.1.27) unstable; urgency=low + + * add music mime type + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.27 + + -- Yong Yoen Kim <yy9875.kim@samsung.com> Tue, 06 Sep 2011 11:36:11 +0900 + +media-server (0.1.26) unstable; urgency=low + + * change schema of musci db + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.26 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 05 Sep 2011 10:54:48 +0900 + +media-server (0.1.25) unstable; urgency=low + + * Change postinst of media-server + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.25 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 02 Sep 2011 13:36:26 +0900 + +media-server (0.1.24) unstable; urgency=low + + * Change the logic of calling minfo_set_db_valid api + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.24 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 29 Aug 2011 17:30:19 +0900 + +media-server (0.1.23) unstable; urgency=low + + * fix bug : when user connect to usb for mass storage mode. music list do not have to display in music play. + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.23 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 26 Aug 2011 15:16:32 +0900 + +media-server (0.1.22) unstable; urgency=low + + * fix prevent defect + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.22 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 22 Aug 2011 10:22:00 +0900 + +media-server (0.1.21) unstable; urgency=low + + * prepare for removing mmc vconf + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.21 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 18 Aug 2011 18:22:49 +0900 + +media-server (0.1.20) unstable; urgency=low + + * change db inserting data in media-server postinst + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.20 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 18 Aug 2011 13:33:53 +0900 + +media-server (0.1.19) unstable; urgency=low + + * change mmc root path + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.19 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 17 Aug 2011 14:45:20 +0900 + +media-server (0.1.18) unstable; urgency=low + + * change vconf value changing time for syncronizing between data in db and vconf status + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.18 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 10 Aug 2011 17:00:14 +0900 + +media-server (0.1.17) unstable; urgency=low + + * restore mmc root path + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.17 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 10 Aug 2011 10:49:45 +0900 + +media-server (0.1.16) unstable; urgency=low + + * remove g_async_queue_pop() in ms_scan_thread() + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.16 + + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 09 Aug 2011 17:20:33 +0900 + +media-server (0.1.15) unstable; urgency=low + + * fix mmc updating bug when reboot + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.15 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 04 Aug 2011 11:54:17 +0900 + +media-server (0.1.14) unstable; urgency=low + + * remove log command + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.14 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 03 Aug 2011 10:26:17 +0900 + +media-server (0.1.13) unstable; urgency=low + + * code clean up and add sqlite3_shared_cache_enable() in main function + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.13 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 28 Jul 2011 11:05:54 +0900 + +media-server (0.1.12) unstable; urgency=low + + * fix mmc updating bug if the directory exist but can not read + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.12 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 20 Jul 2011 11:16:03 +0900 + +media-server (0.1.11) unstable; urgency=low + + * fix mmc updating bug and code clean up + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.11 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 16 Jul 2011 15:32:10 +0900 + +media-server (0.1.10) unstable; urgency=low + + * add db update routine when file is updated or overwrited + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.10 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 12 Jul 2011 16:32:21 +0900 + +media-server (0.1.9) unstable; urgency=low + + * add some sql command in postinst file + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.9 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 06 Jul 2011 19:34:06 +0900 + +media-server (0.1.8) unstable; urgency=low + + * fix prevent defects + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.8 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 05 Jul 2011 12:00:38 +0900 + +media-server (0.1.7) unstable; urgency=low + + * add progress bar in quickpanel + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.7 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 29 Jun 2011 12:00:16 +0900 + +media-server (0.1.6) unstable; urgency=low + + * add mmc data updating time check function and fix db update bug + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.6 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 24 Jun 2011 14:39:26 +0900 + +media-server (0.1.5) unstable; urgency=low + + * fix categorize error + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.5 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 22 Jun 2011 08:51:10 +0900 + +media-server (0.1.4) unstable; urgency=low + + * fix install error + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.4 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 20 Jun 2011 11:46:37 +0900 + +media-server (0.1.3) unstable; urgency=low + + * change db insert data in media-servser postinst file + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.3 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 20 Jun 2011 10:02:07 +0900 + +media-server (0.1.2) unstable; urgency=low + + * add drm API for deleting all contents from drm server + * Clean up repository + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.2 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 13 Jun 2011 14:55:24 +0900 + +media-server (0.1.1) unstable; urgency=low + + * Fix build break + * Clean up repository + * Git: slp/pkgs/m/media-server + * Tag: media-server_0.1.1 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 10 Jun 2011 10:20:39 +0900 + +media-server (0.1.0) unstable; urgency=low + + * change package name + * Git: 165.213.180.234:slp/pkgs/m/media-server + * Tag: media-server_0.1.0 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 24 May 2011 17:19:22 +0900 + +file-manager-service (0.77.70) unstable; urgency=low + + * fix bug : mmc update + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.70 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 23 May 2011 17:46:54 +0900 + +file-manager-service (0.77.69) unstable; urgency=low + + * add setting default value of vconf in file-manager-service.postinst.in + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.69 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 19 May 2011 11:00:24 +0900 + +file-manager-service (0.77.68) unstable; urgency=low + + * code clean up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.68 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 18 May 2011 21:06:46 +0900 + +file-manager-service (0.77.67) unstable; urgency=low + + * add dircetory scanning thread, fix bug, apply libmedia-info, code clean up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.67 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 18 May 2011 21:05:21 +0900 + +file-manager-service (0.77.66) unstable; urgency=low + + * change position of initilizing GAsyncQueue and add checking path in directory scan function + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.66 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 04 May 2011 13:13:08 +0900 + +file-manager-service (0.77.65) unstable; urgency=low + + * change position of initilizing GAsyncQueue and add checking path in directory scan function + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.65 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 03 May 2011 14:37:47 +0900 + +file-manager-service (0.77.64) unstable; urgency=low + + * change name of default file in file-manager-service postinst file + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.64 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 02 May 2011 10:55:44 +0900 + +file-manager-service (0.77.63) unstable; urgency=low + + * fix install error + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.63 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 26 Apr 2011 17:29:08 +0900 + +file-manager-service (0.77.62) unstable; urgency=low + + * modify process check + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.62 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 26 Apr 2011 14:31:07 +0900 + +file-manager-service (0.77.61) unstable; urgency=low + + * modify process check + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.61 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 25 Apr 2011 17:34:26 +0900 + +file-manager-service (0.77.60) unstable; urgency=low + + * add runnig process check function and created file linked list + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.60 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 25 Apr 2011 12:01:00 +0900 + +file-manager-service (0.77.59) unstable; urgency=low + + * modify postinst file for music db + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.59 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 21 Apr 2011 15:44:46 +0900 + +file-manager-service (0.77.58) unstable; urgency=low + + * modify postinst file + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.58 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 21 Apr 2011 13:43:20 +0900 + +file-manager-service (0.77.57) unstable; urgency=low + + * change music db schema + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.57 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 21 Apr 2011 10:03:19 +0900 + +file-manager-service (0.77.56) unstable; urgency=low + + * fix bug + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.56 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 20 Apr 2011 20:13:41 +0900 + +file-manager-service (0.77.55) unstable; urgency=low + + * fix mmc updating fail when first booting time after binary download + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.55 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 20 Apr 2011 17:11:38 +0900 + +file-manager-service (0.77.54) unstable; urgency=low + + * combine db updating vconf + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.54 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 20 Apr 2011 09:28:21 +0900 + +file-manager-service (0.77.53) unstable; urgency=low + + * change way to check ums_mode (using global variable) + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.53 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 11 Apr 2011 21:20:00 +0900 + +file-manager-service (0.77.52) unstable; urgency=low + + * add closedir() and fix bug(mmc db update fail) + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.52 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 11 Apr 2011 16:51:59 +0900 + +file-manager-service (0.77.51) unstable; urgency=low + + * code clean up and add sync() after creating db + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.51 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 07 Apr 2011 17:05:42 +0900 + +file-manager-service (0.77.50) unstable; urgency=low + + * code clean up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.50 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 06 Apr 2011 19:07:04 +0900 + +file-manager-service (0.77.49) unstable; urgency=low + + * change music db schema and code clean up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.49 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 05 Apr 2011 11:58:48 +0900 + +file-manager-service (0.77.48) unstable; urgency=low + + * code clean up and add _fex_inoti_add_watch_with_node() in fex_dir_scan() + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.48 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 01 Apr 2011 20:42:57 +0900 + +file-manager-service (0.77.47) unstable; urgency=low + + * fix db update bug after rebooting when db is updating + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.47 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 30 Mar 2011 10:21:25 +0900 + +file-manager-service (0.77.46) unstable; urgency=low + + * code clean up and chane fex_usb_in_out_cb:wq + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.46 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 29 Mar 2011 15:03:14 +0900 + +file-manager-service (0.77.45) unstable; urgency=low + + * fix bug : when directory is moved, some files are missing + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.45 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 28 Mar 2011 15:52:42 +0900 + +file-manager-service (0.77.44) unstable; urgency=low + + * change way to scan all directory without recursive call + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.44 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 25 Mar 2011 14:45:49 +0900 + +file-manager-service (0.77.43) unstable; urgency=low + + * change way to check category of file + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.43 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 22 Mar 2011 16:42:54 +0900 + +file-manager-service (0.77.42) unstable; urgency=low + + * apply to change of music db schema + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.42 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 21 Mar 2011 10:05:33 +0900 + +file-manager-service (0.77.41) unstable; urgency=low + + * change schema of music db + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.41 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 16 Mar 2011 15:01:32 +0900 + +file-manager-service (0.77.40) unstable; urgency=low + + * fix rename bug and remove fixed size array + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.40 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 16 Mar 2011 20:00:00 +0900 + +file-manager-service (0.77.39) unstable; urgency=low + + * g_last_event_name from global variable in inotify and delete dbus publish + fucntion + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.39 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 15 Mar 2011 20:00:00 +0900 + +file-manager-service (0.77.38) unstable; urgency=low + + * rollback ums removal cb and code clean up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.38 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 14 Mar 2011 20:00:00 +0900 + +file-manager-service (0.77.37) unstable; urgency=low + + * remove heynoti and modify db updateing routine after usb cabel is ejected + and remove global variable sqlite_db. + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.37 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 9 Mar 2011 20:00:00 +0900 + +file-manager-service (0.77.36) unstable; urgency=low + + * remove unusing code for music-svc + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.36 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 8 Mar 2011 20:00:00 +0900 + +file-manager-service (0.77.35) unstable; urgency=low + + * modify postinst + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.35 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 28 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.34) unstable; urgency=low + + * fix bug(when remove usb cable, all data is deleted in music and media + browser db) + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.34 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 28 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.33) unstable; urgency=low + + * code clean up and delete file-manager-service db + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.33 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 28 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.32) unstable; urgency=low + + * code clean up and change music db schema in postinst file + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.32 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 26 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.31) unstable; urgency=low + + * fix prevent defects + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.31 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 24 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.30) unstable; urgency=low + + * roll back + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.30 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 23 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.27) unstable; urgency=low + + * fix CQ bug (H0100121330) + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.27 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 22 Feb 2011 20:00:00 +0900 + +file-manager-service (0.77.26) unstable; urgency=low + + * code clean and change schema of music db + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.26 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 22 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.25) unstable; urgency=low + + * code clean and change schema of music db + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.25 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 21 Feb 2011 19:00:00 +0900 + +file-manager-service (0.77.24) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.24 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 19 Feb 2011 19:00:00 +0900 + +file-manager-service (0.77.23) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.23 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 18 Feb 2011 19:00:00 +0900 + +file-manager-service (0.77.22) unstable; urgency=low + + * fix bug when folder is copied + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.22 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 16 Feb 2011 19:00:00 +0900 + +file-manager-service (0.77.21) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.21 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 16 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.20) unstable; urgency=low + + * change music DB schema + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.20 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 14 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.19) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.19 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 11 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.18) unstable; urgency=low + + * fix bug when mmc is ejected + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.18 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 10 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.17) unstable; urgency=low + + * fix bug when mmc is ejected + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.17 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 10 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.16) unstable; urgency=low + + * change music db schema in postinst + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.16 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Feb 2011 14:00:00 +0900 + +file-manager-service (0.77.15) unstable; urgency=low + + * fix build error + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.15 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Feb 2011 09:00:00 +0900 + +file-manager-service (0.77.14) unstable; urgency=low + + * change music db schema in postinst + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.14 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Feb 2011 09:00:00 +0900 + +file-manager-service (0.77.13) unstable; urgency=low + + * change postinst for default files + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.13 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 24 Jan 2011 09:00:00 +0900 + +file-manager-service (0.77.12) unstable; urgency=low + + * change postinst for default files + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.12 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 24 Jan 2011 09:00:00 +0900 + +file-manager-service (0.77.11) unstable; urgency=low + + * change postinst for default files + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.11 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 24 Jan 2011 09:00:00 +0900 + +file-manager-service (0.77.10) unstable; urgency=low + + * change position of add watch for fixing CQ H0100118804 and change Music DB schema + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.10 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 21 Jan 2011 09:00:00 +0900 + +file-manager-service (0.77.9) unstable; urgency=low + + * fix prevent defect, modify using faulty dbus fuction, delete DB Trigger in + postinst + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.9 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 19 Jan 2011 14:00:00 +0900 + +file-manager-service (0.77.8) unstable; urgency=low + + * version up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.8 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 18 Jan 2011 19:40:00 +0900 + +file-manager-service (0.77.7) unstable; urgency=low + + * set vconf in fex_db_service_init() + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.7 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 18 Jan 2011 10:40:00 +0900 + +file-manager-service (0.77.6) unstable; urgency=low + + * Apply media-svc API changing + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.6 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 17 Jan 2011 17:40:00 +0900 + +file-manager-service (0.77.5) unstable; urgency=low + + * music DB table schema is changed and fix db update after disconnecting + Mass storage + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.5 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 14 Jan 2011 14:40:00 +0900 + +file-manager-service (0.77.4) unstable; urgency=low + + * fix build error by changing API of media-svc + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.4 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 10 Jan 2011 14:40:00 +0900 + +file-manager-service (0.77.3) unstable; urgency=low + + * fix CQ bug H0100115930 & fix memory leak of g_main_lopp + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.3 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 6 Jan 2011 14:40:00 +0900 + +file-manager-service (0.77.2) unstable; urgency=low + + * fix memory leak + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.2 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 5 Jan 2011 20:40:00 +0900 + +file-manager-service (0.77.1) unstable; urgency=low + + * modify db schema in media-browser postinst + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.77.1 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 4 Jan 2011 11:40:00 +0900 + +file-manager-service (0.76.26) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.26 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 30 Dec 2010 11:40:00 +0900 + +file-manager-service (0.76.25) unstable; urgency=low + + * change category order and delet record fuction + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.25 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 29 Dec 2010 14:40:00 +0900 + +file-manager-service (0.76.24) unstable; urgency=low + + * modify postinst and add DB creation routine + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.24 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 29 Dec 2010 11:20:00 +0900 + +file-manager-service (0.76.23) unstable; urgency=low + + * add dbus publish call after register file + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.23 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 27 Dec 2010 11:20:00 +0900 + +file-manager-service (0.76.22) unstable; urgency=low + + * apply as-needed option + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.22 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 24 Dec 2010 14:20:00 +0900 + +file-manager-service (0.76.21) unstable; urgency=low + + * version up + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.21 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 22 Dec 2010 19:20:00 +0900 + +file-manager-service (0.76.20) unstable; urgency=low + + * modify db exist check routine + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.20 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 20 Dec 2010 14:20:00 +0900 + +file-manager-service (0.76.19) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.19 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 20 Dec 2010 10:00:00 +0900 + +file-manager-service (0.76.18) unstable; urgency=low + + * fix inotify bug + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.18 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 16 Dec 2010 10:00:00 +0900 + +file-manager-service (0.76.17) unstable; urgency=low + + * fix install error in SBOX2 + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.17 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 15 Dec 2010 17:00:00 +0900 + +file-manager-service (0.76.16) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.16 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 15 Dec 2010 17:00:00 +0900 + +file-manager-service (0.76.15) unstable; urgency=low + + * fix inotify bug and modify meida-svc APIs + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.15 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 13 Dec 2010 21:00:00 +0900 + +file-manager-service (0.76.14) unstable; urgency=low + + * code clean and fix mmc reset bug + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.14 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 13 Dec 2010 14:00:00 +0900 + +file-manager-service (0.76.13) unstable; urgency=low + + * add deleting media-browser DB routine + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.13 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 10 Dec 2010 11:00:00 +0900 + +file-manager-service (0.76.12) unstable; urgency=low + + * delete media-svc APIs + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.12 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 9 Dec 2010 15:00:00 +0900 + +file-manager-service (0.76.11) unstable; urgency=low + + * add media-svc APIs + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.11 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 8 Dec 2010 16:10:00 +0900 + +file-manager-service (0.76.10) unstable; urgency=low + + * fix crash + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.10 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Dec 2010 21:10:00 +0900 + +file-manager-service (0.76.9) unstable; urgency=low + + * fix infinite loop in inoti_cb + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.9 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Dec 2010 16:10:00 +0900 + +file-manager-service (0.76.8) unstable; urgency=low + + * fix infinite loop in inoti_cb + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.8 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Dec 2010 15:50:00 +0900 + +file-manager-service (0.76.7) unstable; urgency=low + + * fix infinite loop in inoti_cb + * Git: 165.213.180.234:slp/pkgs/f/file-manager-service + * Tag: file-manager-service_0.76.7 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Dec 2010 11:50:00 +0900 + +file-manager-service (0.76.6) unstable; urgency=low + + * fix infinite loop in inoti_cb + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.76.6 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 7 Dec 2010 11:50:00 +0900 + +file-manager-service (0.76.5) unstable; urgency=low + + * change prefix and add SQL query + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.76.5 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Sat, 4 Dec 2010 11:50:00 +0900 + +file-manager-service (0.76.4) unstable; urgency=low + + * change prefix and add DBUS noti for changing directory + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.76.4 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 3 Dec 2010 16:10:00 +0900 + +file-manager-service (0.76.3) unstable; urgency=low + + * fix bug, media file delete bug + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.76.3 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 2 Dec 2010 12:10:00 +0900 + +file-manager-service (0.76.2) unstable; urgency=low + + * remove unused codes + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.76.2 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 1 Dec 2010 16:10:00 +0900 + +file-manager-service (0.76.1) unstable; urgency=low + + * modify postinst + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.76.1 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 11 Dec 2010 10:10:00 +0900 + +file-manager-service (0.75.30) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.30 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 30 Nov 2010 17:50:00 +0900 + +file-manager-service (0.75.29) unstable; urgency=low + + * add inotify exception path + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.29 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 26 Nov 2010 15:50:00 +0900 + +file-manager-service (0.75.28) unstable; urgency=low + + * fix changing mmc bug + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.28 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 25 Nov 2010 10:50:00 +0900 + +file-manager-service (0.75.27) unstable; urgency=low + + * remove log + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.27 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 24 Nov 2010 20:50:00 +0900 + +file-manager-service (0.75.26) unstable; urgency=low + + * fix bug _fex_db_set_valid_unchanged_items in mmc updating + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.26 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 24 Nov 2010 13:30:00 +0900 + +file-manager-service (0.75.25) unstable; urgency=low + + * fix crash + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.25 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 23 Nov 2010 21:30:00 +0900 + +file-manager-service (0.75.24) unstable; urgency=low + + * version up + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.24 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 23 Nov 2010 19:30:00 +0900 + +file-manager-service (0.75.23) unstable; urgency=low + + * add fex_finalize and fex_initalize and modify rejeted mmc check routine + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.23 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 23 Nov 2010 19:30:00 +0900 + +file-manager-service (0.75.22) unstable; urgency=low + + * apply new music service and media-svc schema + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.22 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 23 Nov 2010 15:30:00 +0900 + +file-manager-service (0.75.21) unstable; urgency=low + + * modify mmc information update routine + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.21 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 18 Nov 2010 20:30:00 +0900 + +file-manager-service (0.75.20) unstable; urgency=low + + * chagne postinsta and except unused files from make package. + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.20 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 18 Nov 2010 10:30:00 +0900 + +file-manager-service (0.75.19) unstable; urgency=low + + * chagne postinsta and except unused files from make package. + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.19 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 17 Nov 2010 13:30:00 +0900 + +file-manager-service (0.75.18) unstable; urgency=low + + * chagne postinst + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.18 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 16 Nov 2010 16:50:00 +0900 + +file-manager-service (0.75.17) unstable; urgency=low + + * chagne postinst + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.17 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 15 Nov 2010 16:50:00 +0900 + +file-manager-service (0.75.16) unstable; urgency=low + + * db insert record in postinst + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.16 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 12 Nov 2010 18:50:00 +0900 + +file-manager-service (0.75.15) unstable; urgency=low + + * fix install error + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.15 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 12 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.14) unstable; urgency=low + + * fix install error + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.14 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 12 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.13) unstable; urgency=low + + * add db creating routine and fix crash + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.13 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 12 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.12) unstable; urgency=low + + * fix install error + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.12 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 11 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.11) unstable; urgency=low + + * fix install error + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.11 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 11 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.10) unstable; urgency=low + + * version up + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.10 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 11 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.9) unstable; urgency=low + + * add db create script in file-manager-service postinst file + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.9 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 11 Nov 2010 13:50:00 +0900 + +file-manager-service (0.75.8) unstable; urgency=low + + * fix fex_register_file_mtp drm bug + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.8 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 9 Nov 2010 15:40:00 +0900 + +file-manager-service (0.75.7) unstable; urgency=low + + * add debugging log + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.7 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 8 Nov 2010 20:17:00 +0900 + +file-manager-service (0.75.6) unstable; urgency=low + + * fix browser install error defect + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.6 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 8 Nov 2010 19:20:00 +0900 + +file-manager-service (0.75.5) unstable; urgency=low + + * fix string bug + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.5 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 8 Nov 2010 16:25:00 +0900 + +file-manager-service (0.75.4) unstable; urgency=low + + * remove unused log messages + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.4 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 8 Nov 2010 10:10:00 +0900 + +file-manager-service (0.75.3) unstable; urgency=low + + * fix flaw + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.3 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 3 Nov 2010 11:50:00 +0900 + +file-manager-service (0.75.2) unstable; urgency=low + + * code clean in __fexplorer_db_service_generate_filter_string + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.2 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 3 Nov 2010 09:50:00 +0900 + +file-manager-service (0.75.1) unstable; urgency=low + + * fix AUTO binary bug + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.1 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 2 Nov 2010 14:40:00 +0900 + +file-manager-service (0.75.0) unstable; urgency=low + + * update changelog + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.75.0 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 2 Nov 2010 10:40:00 +0900 + +file-manager-service (0.74.40) unstable; urgency=low + + * version up and remove libfms-util + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.40 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 28 Oct 2010 16:20:00 +0900 + +file-manager-service (0.74.39) unstable; urgency=low + + * remove md5 files + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.39 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 28 Oct 2010 14:20:00 +0900 + +file-manager-service (0.74.38) unstable; urgency=low + + * remove flaw and change media-svc + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.38 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 27 Oct 2010 16:50:00 +0900 + +file-manager-service (0.74.37) unstable; urgency=low + + * fix snprintf in __fexplorer_db_service_generate_filter_string + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.37 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 26 Oct 2010 19:40:00 +0900 + +file-manager-service (0.74.36) unstable; urgency=low + + * fix fex_register_file duplicate transaction, change mmc mount point so, + change opendir path in _update_mmc_info function + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.36 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 26 Oct 2010 14:20:00 +0900 + +file-manager-service (0.74.35) unstable; urgency=low + + * update change log + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.35 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 25 Oct 2010 12:50:00 +0900 + +file-manager-service (0.74.34) unstable; urgency=low + + * remove phone dir init function + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.34 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 22 Oct 2010 09:00:00 +0900 + +file-manager-service (0.74.33) unstable; urgency=low + + * remove old mp-svc API + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.33 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 21 Oct 2010 19:30:00 +0900 + +file-manager-service (0.74.32) unstable; urgency=low + + * fix thubmnail problem and remove unused codes + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.32 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 21 Oct 2010 14:50:00 +0900 + +file-manager-service (0.74.31) unstable; urgency=low + + * update doxygen information + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.31 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 21 Oct 2010 14:10:00 +0900 + +file-manager-service (0.74.30) unstable; urgency=low + + * modify inotify + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.30 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 21 Oct 2010 01:50:00 +0900 + +file-manager-service (0.74.29) unstable; urgency=low + + * remove sprintf flaws + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.29 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 20 Oct 2010 20:50:00 +0900 + +file-manager-service (0.74.28) unstable; urgency=low + + * remove fms-contact and remove sprintf flaws + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.28 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 20 Oct 2010 18:05:00 +0900 + +file-manager-service (0.74.27) unstable; urgency=low + + * update media browser service by Hyunjun Ko + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.27 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 20 Oct 2010 16:30:00 +0900 + +file-manager-service (0.74.26) unstable; urgency=low + + * fix sprintf to snprintf in file-system.c + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.26 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 20 Oct 2010 11:30:00 +0900 + +file-manager-service (0.74.25) unstable; urgency=low + + * fix RS bug when inserting MMC + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.25 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 19 Oct 2010 15:00:00 +0900 + +file-manager-service (0.74.24) unstable; urgency=low + + * add temp_download dir remove routine in phone + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.24 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 18 Oct 2010 16:40:00 +0900 + +file-manager-service (0.74.23) unstable; urgency=low + + * apply changed APIs of MMFW + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.23 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 18 Oct 2010 15:00:00 +0900 + + +file-manager-service (0.74.22) unstable; urgency=low + + * add S60fmsvc path for normal booting + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.22 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 15 Oct 2010 19:30:00 +0900 + +file-manager-service (0.74.21) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.21 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 14 Oct 2010 18:30:00 +0900 + +file-manager-service (0.74.20) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.20 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 14 Oct 2010 18:30:00 +0900 + +file-manager-service (0.74.19) unstable; urgency=low + + * modify inoti move and rename flow for exact sync + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.19 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 14 Oct 2010 18:05:00 +0900 + +file-manager-service (0.74.18) unstable; urgency=low + + * fix build break + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.18 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 14 Oct 2010 14:50:00 +0900 + +file-manager-service (0.74.17) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.17 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 13 Oct 2010 19:30:00 +0900 + +file-manager-service (0.74.16) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.16 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Tue, 13 Oct 2010 17:30:00 +0900 + +file-manager-service (0.74.15) unstable; urgency=low + + * update change log + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.15 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 13 Oct 2010 15:30:00 +0900 + +file-manager-service (0.74.14) unstable; urgency=low + + * add fms_register_file + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.14 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 12 Oct 2010 11:30:00 +0900 + +file-manager-service (0.74.13) unstable; urgency=low + + * rollback because of fms-util build break + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.13 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 11 Oct 2010 19:45:00 +0900 + +file-manager-service (0.74.12) unstable; urgency=low + + * repackage for new libmusic-service + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.12 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 11 Oct 2010 19:30:00 +0900 + +file-manager-service (0.74.11) unstable; urgency=low + + * add fms_register_file in fms-util + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.11 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 11 Oct 2010 17:25:00 +0900 + +file-manager-service (0.74.10) unstable; urgency=low + + * remove function in hibernation_leave_callback + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.10 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 11 Oct 2010 10:40:00 +0900 + +file-manager-service (0.74.9) unstable; urgency=low + + * add pya, pyv mime type and fix some bugs + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.9 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 08 Oct 2010 21:40:00 +0900 + +file-manager-service (0.74.8) unstable; urgency=low + + * add inoti thread close code + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.8 + + -- Ju Wan Kim <juwan.kim@samsung.com> Fri, 08 Oct 2010 20:40:00 +0900 + +file-manager-service (0.74.7) unstable; urgency=low + + * modify mmc callback routine + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.7 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 07 Oct 2010 21:30:00 +0900 + +file-manager-service (0.74.6) unstable; urgency=low + + * add pya pyv file category + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.6 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 07 Oct 2010 17:50:00 +0900 + +file-manager-service (0.74.5) unstable; urgency=low + + * add fms-util-debug.h file + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.5 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 07 Oct 2010 15:50:00 +0900 + +file-manager-service (0.74.4) unstable; urgency=low + + * change inotify fd name to avoid confusion + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.4 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 07 Oct 2010 12:50:00 +0900 + +file-manager-service (0.74.3) unstable; urgency=low + + * add error code for crash log + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.3 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 07 Oct 2010 11:20:00 +0900 + +file-manager-service (0.74.2) unstable; urgency=low + + * modify Program guide name + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.2 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 06 Oct 2010 20:20:00 +0900 + +file-manager-service (0.74.1) unstable; urgency=low + + * add Program guide to header + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.1 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 06 Oct 2010 17:20:00 +0900 + +file-manager-service (0.74.0) unstable; urgency=low + + * add TC for fms-util + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.74.0 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 05 Oct 2010 15:50:00 +0900 + +file-manager-service (0.73.23) unstable; urgency=low + + * add doxygen + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.23 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 05 Oct 2010 10:50:00 +0900 + +file-manager-service (0.73.22) unstable; urgency=low + + * add fex_make_default_path api + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.22 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 04 Oct 2010 19:00:00 +0900 + +file-manager-service (0.73.21) unstable; urgency=low + + * Modify email address + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.21 + + -- Sangjin Han <sjhan.han@samsung.com> Sat, 02 Oct 2010 17:25:53 +0900 + +file-manager-service (0.73.20) unstable; urgency=low + + * Add ext_sync for minfo_xxx + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.20 + + -- Sangjin Han <sjhan.han@samsung.com> Fri, 01 Oct 2010 18:30:01 +0900 + +file-manager-service (0.73.19) unstable; urgency=low + + * modify file-manager-service.pc.in for new build system + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.19 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 30 Sep 2010 15:45:00 +0900 + + +file-manager-service (0.73.18) unstable; urgency=low + + * add invalid character check routine in inoti + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.18 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 29 Sep 2010 14:45:00 +0900 + +file-manager-service (0.73.17) unstable; urgency=low + + * modify S60fmsvc path for new build system + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.17 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 28 Sep 2010 11:25:00 +0900 + +file-manager-service (0.73.16) unstable; urgency=low + + * add fms_get_default_path API + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.16 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 27 Sep 2010 17:25:00 +0900 + +file-manager-service (0.73.15) unstable; urgency=low + + * re-upload + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.15 + + -- Tang Feng <feng.tang@samsung.com> Tue, 21 Sep 2010 18:12:12 +0800 + +file-manager-service (0.73.14) unstable; urgency=low + + * add uploader + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.14 + + -- Tang Feng <feng.tang@samsung.com> Tue, 21 Sep 2010 17:56:22 +0800 + +file-manager-service (0.73.13) unstable; urgency=low + + * support playing amr voice file from myfile + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.13 + + -- Yang Jian Jun <jerry.young@samsung.com> Tue, 21 Sep 2010 17:40:00 +0800 + +file-manager-service (0.73.12) unstable; urgency=low + + * reupload + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.12 + + -- Tang Feng <feng.tang@samsung.com> Sat, 11 Sep 2010 14:15:01 +0900 + +file-manager-service (0.73.11) unstable; urgency=low + + * reupload + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.11 + + -- Byungwook Jang <bw.jang@samsung.com> Sat, 11 Sep 2010 13:15:01 +0900 + +file-manager-service (0.73.10) unstable; urgency=low + + * remove doxygen + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.10 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 07 Sep 2010 18:25:00 +0900 + +file-manager-service (0.73.9) unstable; urgency=low + + * add build option in rules + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.9 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 07 Sep 2010 18:25:00 +0900 + +file-manager-service (0.73.8) unstable; urgency=low + + * remove DCIM folders + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.8 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 07 Sep 2010 09:30:00 +0900 + +file-manager-service (0.73.7) unstable; urgency=low + + * add exception handler if returned record is NULL in _fex_iNoti_cb() and + change open() to access() in __fexplorer_get_dir_record() + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.7 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 31 Aug 2010 16:30:00 +0900 + +file-manager-service (0.73.6) unstable; urgency=low + + * repackage for i386 + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.6 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 30 Aug 2010 09:30:00 +0900 + +file-manager-service (0.73.5) unstable; urgency=low + + * modify changelog + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.5 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 26 Aug 2010 18:30:00 +0900 + +file-manager-service (0.73.4) unstable; urgency=low + + * add fex_db_service_simple_get_item_list_by_keyword API for myfile search + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.4 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 26 Aug 2010 18:20:00 +0900 + +file-manager-service (0.73.3) unstable; urgency=low + + * add code for disconnecting music db + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.3 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 25 Aug 2010 17:50:02 +0900 + +file-manager-service (0.73.2) unstable; urgency=low + + * add code for disconnecting music db + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.2 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 23 Aug 2010 09:50:02 +0900 + + +file-manager-service (0.73.1) unstable; urgency=low + + * arrange source code lines + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.1 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Thu, 19 Aug 2010 09:50:02 +0900 + +file-manager-service (0.73.0) unstable; urgency=low + + * code clean about internal function + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.73.0 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 17 Aug 2010 19:50:02 +0900 + +file-manager-service (0.72.0-35) unstable; urgency=low + + * chage thumb dir + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-35 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 12 Aug 2010 19:15:02 +0900 + +file-manager-service (0.72.0-34) unstable; urgency=low + + * repackage for avoiding build break + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-34 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 12 Aug 2010 18:55:02 +0900 + +file-manager-service (0.72.0-33) unstable; urgency=low + + * remove printf + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-33 + + -- Ju Wan Kim <juwan.kim@samsung.com> Sat, 07 Aug 2010 12:30:02 +0900 + +file-manager-service (0.72.0-32) unstable; urgency=low + + * fix inotify bug and change sprintf to snprintf in inoti_cb + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-32 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 05 Aug 2010 15:10:02 +0900 + +file-manager-service (0.72.0-31) unstable; urgency=low + + * remove make thumb dir function and modify default folder mkdir option + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-31 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 04 Aug 2010 17:00:02 +0900 + +file-manager-service (0.72.0-30) unstable; urgency=low + + * add chown and chmod for thumb path + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-30 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 03 Aug 2010 13:50:02 +0900 + +file-manager-service (0.72.0-29) unstable; urgency=low + + * reupload for media browser service + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-29 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 29 Jul 2010 15:00:02 +0900 + +file-manager-service (0.72.0-28) unstable; urgency=low + + * fix bug of CQ:H0100097313, fix fclose crash + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-28 + + -- Ju Wan Kim <juwan.kim@samsung.com> Tue, 27 Jul 2010 15:00:02 +0900 + +file-manager-service (0.72.0-27) unstable; urgency=low + + * fix crashlog bugs, remove doxygen comment, modify debian control file + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-27 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Fri, 23 Jul 2010 09:30:02 +0900 + +file-manager-service (0.72.0-26) unstable; urgency=low + + * fix move bug CQ:HO100103724 + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-26 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 22 Jul 2010 20:30:02 +0900 + +file-manager-service (0.72.0-25) unstable; urgency=low + + * code clean + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-25 + + -- Ju Wan Kim <juwan.kim@samsung.com> Mon, 19 Jul 2010 20:10:02 +0900 + +file-manager-service (0.72.0-24) unstable; urgency=low + + * modify changelog for new tag + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-24 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 14 Jul 2010 17:30:02 +0900 + + +file-manager-service (0.72.0-23) unstable; urgency=low + + * modify git repo address in changelog file + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-23 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 14 Jul 2010 18:30:02 +0900 + +file-manager-service (0.72.0-22) unstable; urgency=low + + * modify __fex_inoti_modify_watch() for Crash Logger + * Git: 165.213.180.234:/git/slp/pkgs/file-manager-service + * Tag: file-manager-service_0.72.0-22 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 14 Jul 2010 18:30:02 +0900 + +file-manager-service (0.72.0-21) unstable; urgency=low + + * modify doxygen comment of fex_finalize() API in + Fexplorer-engine-uniform-mgr.h + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-21 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 12 Jul 2010 18:30:02 +0900 + +file-manager-service (0.72.0-20) unstable; urgency=low + + * add protection copy flow in fex_copy_file + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-20 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 9 Jul 2010 10:10:02 +0900 + +file-manager-service (0.72.0-19) unstable; urgency=low + + * add smartsearch request flow + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-19 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 8 Jul 2010 10:00:02 +0900 + +file-manager-service (0.72.0-18) unstable; urgency=low + + * add "?" flow in check invalid name + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-18 + + -- Ju Wan Kim <juwan.kim@samsung.com> Wed, 7 Jul 2010 11:00:02 +0900 + +file-manager-service (0.72.0-17) unstable; urgency=low + + * modify control file + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-17 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 5 Jul 2010 20:30:02 +0900 + +file-manager-service (0.72.0-16) unstable; urgency=low + + * modify maintainers + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-16 + + -- Yong Yeon Kim <yy9875.kim@samsung.com> Mon, 5 Jul 2010 20:30:02 +0900 + +file-manager-service (0.72.0-15) unstable; urgency=low + + * remove "?" character because of encoding problem. + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-15 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 1 Jul 2010 16:30:02 +0900 + +file-manager-service (0.72.0-14) unstable; urgency=low + + * add "?" character in invalid folder name. + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-14 + + -- Ju Wan Kim <juwan.kim@samsung.com> Thu, 1 Jul 2010 16:10:02 +0900 + +file-manager-service (0.72.0-13) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-13 + + -- hochul shin <dsp.shin@samsung.com> Sat, 26 Jun 2010 16:35:02 +0900 + +file-manager-service (0.72.0-12) unstable; urgency=low + + * export media default paths + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-12 + + -- hochul shin <dsp.shin@samsung.com> Fri, 25 Jun 2010 16:50:42 +0900 + +file-manager-service (0.72.0-11) unstable; urgency=low + + * fix build break + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-11 + + -- hochul shin <dsp.shin@samsung.com> Fri, 25 Jun 2010 16:14:12 +0900 + +file-manager-service (0.72.0-10) unstable; urgency=low + + * add new APIs for API-TF + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-10 + + -- hochul shin <dsp.shin@samsung.com> Fri, 25 Jun 2010 11:02:42 +0900 + +file-manager-service (0.72.0-9) unstable; urgency=low + + * repackaging because of dlog + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-9 + + -- hochul shin <dsp.shin@samsung.com> Wed, 23 Jun 2010 20:29:09 +0900 + +file-manager-service (0.72.0-8) unstable; urgency=low + + * modified headers for doxygen + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-8 + + -- hochul shin <dsp.shin@samsung.com> Mon, 21 Jun 2010 12:27:04 +0900 + +file-manager-service (0.72.0-7) unstable; urgency=low + + * bugfix - cannot play when copying/moving sound files + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-7 + + -- hochul shin <dsp.shin@samsung.com> Mon, 21 Jun 2010 10:46:37 +0900 + +file-manager-service (0.72.0-6) unstable; urgency=low + + * add descriptions for deprecated functions + * add dlog tag + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-6 + + -- hochul shin <dsp.shin@samsung.com> Sat, 19 Jun 2010 11:59:16 +0900 + +file-manager-service (0.72.0-5) unstable; urgency=low + + * bugfix fex_move_file_to_fexplorer + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-5 + + -- hochul shin <dsp.shin@samsung.com> Thu, 17 Jun 2010 13:30:34 +0900 + +file-manager-service (0.72.0-4) unstable; urgency=low + + * refine codes for hiding + * remove ifdefs, modify ums codes + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-4 + + -- hochul shin <dsp.shin@samsung.com> Tue, 15 Jun 2010 21:59:53 +0900 + +file-manager-service (0.72.0-3) unstable; urgency=low + + * fix build breaks + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-3 + + -- hochul shin <dsp.shin@samsung.com> Tue, 15 Jun 2010 13:06:24 +0900 + +file-manager-service (0.72.0-2) unstable; urgency=low + + * enable mmc partial update when booting + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-2 + + -- hochul shin <dsp.shin@samsung.com> Tue, 15 Jun 2010 12:39:49 +0900 + +file-manager-service (0.72.0-1) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-1 + + -- hochul shin <dsp.shin@samsung.com> Mon, 14 Jun 2010 15:34:53 +0900 + +file-manager-service (0.72.0-0) unstable; urgency=low + + * enable MMC partial update + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.72.0-0 + + -- hochul shin <dsp.shin@samsung.com> Sat, 12 Jun 2010 09:57:39 +0900 + +file-manager-service (0.71.0-10) unstable; urgency=low + + * bugfix in mb,mp set valid function usage + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-10 + + -- hochul shin <dsp.shin@samsung.com> Fri, 11 Jun 2010 11:02:51 +0900 + +file-manager-service (0.71.0-9) unstable; urgency=low + + * remove ? check routine + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-9 + + -- hochul shin <dsp.shin@samsung.com> Thu, 10 Jun 2010 09:44:05 +0900 + +file-manager-service (0.71.0-8) unstable; urgency=low + + * bugfix blackscreen when mmc removed + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-8 + + -- hochul shin <dsp.shin@samsung.com> Wed, 09 Jun 2010 21:57:58 +0900 + +file-manager-service (0.71.0-7) unstable; urgency=low + + * remove deprecated functions in fms-thumb.c + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-7 + + -- hochul shin <dsp.shin@samsung.com> Tue, 08 Jun 2010 17:19:07 +0900 + +file-manager-service (0.71.0-6) unstable; urgency=low + + * append pid + * remove warnings in fms-thumb + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-6 + + -- hochul shin <dsp.shin@samsung.com> Mon, 07 Jun 2010 20:32:52 +0900 + +file-manager-service (0.71.0-5) unstable; urgency=low + + * bugfix - delete/move + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-5 + + -- hochul shin <dsp.shin@samsung.com> Mon, 07 Jun 2010 17:16:50 +0900 + +file-manager-service (0.71.0-4) unstable; urgency=low + + * bugfix - dblock problems + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-4 + + -- hochul shin <dsp.shin@samsung.com> Mon, 07 Jun 2010 14:24:10 +0900 + +file-manager-service (0.71.0-3) unstable; urgency=low + + * fix & adopt changes in mb-svc + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-3 + + -- hochul shin <dsp.shin@samsung.com> Fri, 04 Jun 2010 14:26:44 +0900 + +file-manager-service (0.71.0-2) unstable; urgency=low + + * fix install error in fms-contact + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-2 + + -- hochul shin <dsp.shin@samsung.com> Fri, 04 Jun 2010 10:02:53 +0900 + +file-manager-service (0.71.0-1) unstable; urgency=low + + * enable dlog + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-1 + + -- hochul shin <dsp.shin@samsung.com> Fri, 04 Jun 2010 00:41:56 +0900 + +file-manager-service (0.71.0-0) unstable; urgency=low + + * bugfix for crash log + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.71.0-0 + + -- hochul shin <dsp.shin@samsung.com> Thu, 03 Jun 2010 22:58:45 +0900 + +file-manager-service (0.70.0-14) unstable; urgency=low + + * bugfixs + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-14 + + -- hochul shin <dsp.shin@samsung.com> Thu, 03 Jun 2010 21:19:43 +0900 + +file-manager-service (0.70.0-13) unstable; urgency=low + + * remove all deprecated APIs + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-13 + + -- hochul shin <dsp.shin@samsung.com> Thu, 03 Jun 2010 16:09:00 +0900 + +file-manager-service (0.70.0-12) unstable; urgency=low + + * remove chmods/chowns + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-12 + + -- hochul shin <dsp.shin@samsung.com> Thu, 03 Jun 2010 14:26:40 +0900 + +file-manager-service (0.70.0-11) unstable; urgency=low + + * modify error-code for mtp + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-11 + + -- hochul shin <dsp.shin@samsung.com> Thu, 03 Jun 2010 14:07:42 +0900 + +file-manager-service (0.70.0-10) unstable; urgency=low + + * update test codes + * set faster mmc indexing timer + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-10 + + -- hochul shin <dsp.shin@samsung.com> Wed, 02 Jun 2010 12:34:12 +0900 + +file-manager-service (0.70.0-9) unstable; urgency=low + + * remove utilcore.h + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-9 + + -- hochul shin <dsp.shin@samsung.com> Sat, 29 May 2010 09:48:06 +0900 + +file-manager-service (0.70.0-8) unstable; urgency=low + + * remove utilcore in pc + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-8 + + -- hochul shin <dsp.shin@samsung.com> Sat, 29 May 2010 09:34:35 +0900 + +file-manager-service (0.70.0-7) unstable; urgency=low + + * reupload for build-fail + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-7 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 26 May 2010 21:58:56 +0900 + +file-manager-service (0.70.0-6) unstable; urgency=low + + * bug fix when using "opendir" function occured by "file-system kernal panic" after wake-up from power-manager + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-6 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 26 May 2010 21:02:58 +0900 + +file-manager-service (0.70.0-5) unstable; urgency=low + + * mb-svc API changes + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-5 + + -- hochul shin <dsp.shin@samsung.com> Tue, 25 May 2010 13:57:37 +0900 + +file-manager-service (0.70.0-4) unstable; urgency=low + + * add exception on _is_table_exist + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-4 + + -- hochul shin <dsp.shin@samsung.com> Mon, 24 May 2010 11:16:41 +0900 + +file-manager-service (0.70.0-3) unstable; urgency=low + + * bugfix for opendir + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-3 + + -- hochul shin <dsp.shin@samsung.com> Sat, 22 May 2010 16:13:13 +0900 + +file-manager-service (0.70.0-2) unstable; urgency=low + + * bugfix for mmc out + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-2 + + -- hochul shin <dsp.shin@samsung.com> Thu, 20 May 2010 10:21:30 +0900 + +file-manager-service (0.70.0-1) unstable; urgency=low + + * remove unused APIs + * append retry routine for inotify + * append trigger init for search + * append mmc identify routines + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-1 + + -- hochul shin <dsp.shin@samsung.com> Wed, 19 May 2010 22:28:29 +0900 + +file-manager-service (0.70.0-0) unstable; urgency=low + + * enable iNotify + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.70.0-0 + + -- hochul shin <dsp.shin@samsung.com> Mon, 17 May 2010 20:12:45 +0900 + +file-manager-service (0.68.0-53) unstable; urgency=low + + * dababase and it`s thumbnail removal + * matched with music-service modified API + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-53 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 17 May 2010 15:49:41 +0900 + +file-manager-service (0.68.0-52) unstable; urgency=low + + * filemanager.poinst.int update + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-52 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 14 May 2010 10:53:12 +0900 + +file-manager-service (0.68.0-51) unstable; urgency=low + + * postinst.in update + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-51 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 14 May 2010 10:35:07 +0900 + +file-manager-service (0.68.0-50) unstable; urgency=low + + * bugfix of builderror for libs + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-50 + + -- hochul shin <dsp.shin@samsung.com> Fri, 14 May 2010 10:14:04 +0900 + +file-manager-service (0.68.0-49) unstable; urgency=low + + * Inotify implementation + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-49 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 13 May 2010 20:09:28 +0900 + +file-manager-service (0.68.0-48) unstable; urgency=low + + * Remove unused/dangerous API + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-48 + + -- hochul shin <dsp.shin@samsung.com> Thu, 13 May 2010 18:05:13 +0900 + +file-manager-service (0.68.0-47) unstable; urgency=low + + * repackaging + + -- hochul shin <dsp.shin@samsung.com> Wed, 12 May 2010 16:58:59 +0900 + +file-manager-service (0.68.0-46) unstable; urgency=low + + * reupload for tag vertification fail + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-46 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 12 May 2010 12:45:46 +0900 + +file-manager-service (0.68.0-45) unstable; urgency=low + + * reupload + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 11 May 2010 15:58:15 +0900 + +file-manager-service (0.68.0-44) unstable; urgency=low + + * API matched with mp_svc_copy/update/move_item functions + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-44 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 11 May 2010 15:36:03 +0900 + +file-manager-service (0.68.0-43) unstable; urgency=low + + * repacking by mis-uploading + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-43 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 10 May 2010 20:22:03 +0900 + +file-manager-service (0.68.0-42) unstable; urgency=low + + * mistyping fixed + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-42 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 10 May 2010 20:16:51 +0900 + +file-manager-service (0.68.0-41) unstable; urgency=low + + * file size show over 2gb problem fixed + * file size sort with directory problem fixed + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-41 + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 10 May 2010 13:18:36 +0900 + +file-manager-service (0.68.0-40) unstable; urgency=low + + * bugfix in mmc indexing + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-40 + + -- hochul shin <dsp.shin@samsung.com> Fri, 30 Apr 2010 14:24:01 +0900 + +file-manager-service (0.68.0-39) unstable; urgency=low + + * bugfix in _get_dir_size + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-39 + + -- hochul shin <dsp.shin@samsung.com> Fri, 30 Apr 2010 11:13:56 +0900 + +file-manager-service (0.68.0-38) unstable; urgency=low + + * is_duplicate bugfix + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-38 + + -- hochul shin <dsp.shin@samsung.com> Thu, 29 Apr 2010 14:37:04 +0900 + +file-manager-service (0.68.0-37) unstable; urgency=low + + * just reupload + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-37 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 28 Apr 2010 13:54:14 +0900 + +file-manager-service (0.68.0-36) unstable; urgency=low + + * change idler -> timer + * remove postin + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-36 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 28 Apr 2010 10:56:47 +0900 + +file-manager-service (0.68.0-35) unstable; urgency=low + + * modify postin + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-35 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 27 Apr 2010 12:50:39 +0900 + +file-manager-service (0.68.0-34) unstable; urgency=low + + * add additional postin + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-34 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 27 Apr 2010 11:14:11 +0900 + +file-manager-service (0.68.0-33) unstable; urgency=low + + * reblock postin + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-33 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 27 Apr 2010 10:46:40 +0900 + +file-manager-service (0.68.0-32) unstable; urgency=low + + * export mmc-noti api + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-32 + + -- hochul shin <dsp.shin@samsung.com> Tue, 27 Apr 2010 10:41:41 +0900 + +file-manager-service (0.68.0-31) unstable; urgency=low + + * postinst remodification + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-31 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 26 Apr 2010 22:23:57 +0900 + +file-manager-service (0.68.0-30) unstable; urgency=low + + * postinst.in renaming + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-30 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 26 Apr 2010 22:18:20 +0900 + +file-manager-service (0.68.0-29) unstable; urgency=low + + * bug fix : fex_thumb_generate_pathname + * enable idler_add + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-29 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 26 Apr 2010 21:13:28 +0900 + +file-manager-service (0.68.0-28) unstable; urgency=low + + * bug fix : _fexplorer_copy_actual_file + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-28 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 26 Apr 2010 14:30:10 +0900 + +file-manager-service (0.68.0-27) unstable; urgency=low + + * enable i386 + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-27 + + -- hochul shin <dsp.shin@samsung.com> Sat, 24 Apr 2010 19:42:05 +0900 + +file-manager-service (0.68.0-26) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-26 + + -- hochul shin <dsp.shin@samsung.com> Fri, 23 Apr 2010 22:14:10 +0900 + +file-manager-service (0.68.0-25) unstable; urgency=low + + * bug fix : fexplorer_db_service_simple_get_sub_item_list function bug when it has invalid item + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-25 + + -- hochul shin <dsp.shin@samsung.com> Fri, 23 Apr 2010 21:43:34 +0900 + +file-manager-service (0.68.0-24) unstable; urgency=low + + * fix available_memory bug + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-24 + + -- hochul shin <dsp.shin@samsung.com> Thu, 22 Apr 2010 14:27:08 +0900 + +file-manager-service (0.68.0-23) unstable; urgency=low + + * delete problem fixed + * create problem fixed + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-23 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 21 Apr 2010 23:13:31 +0900 + +file-manager-service (0.68.0-22) unstable; urgency=low + + * reupload for misupload + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-22 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 21 Apr 2010 14:27:06 +0900 + +file-manager-service (0.68.0-21) unstable; urgency=low + + * reupload for misupload + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-19 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 21 Apr 2010 14:26:06 +0900 + +file-manager-service (0.68.0-20) unstable; urgency=low + + * reupload for permission error + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-20 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 21 Apr 2010 14:18:33 +0900 + +file-manager-service (0.68.0-19) unstable; urgency=low + + * reupload for misupload + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-19 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 21 Apr 2010 13:48:27 +0900 + +file-manager-service (0.68.0-18) unstable; urgency=low + + * Update mp error code + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-18 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 20 Apr 2010 20:25:17 +0900 + +file-manager-service (0.68.0-17) unstable; urgency=low + + * Package ownership & permission policy applied + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-17 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 20 Apr 2010 14:56:39 +0900 + +file-manager-service (0.68.0-16) unstable; urgency=low + + * re-re-upload + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-16 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 15 Apr 2010 20:04:24 +0900 + +file-manager-service (0.68.0-15) unstable; urgency=low + + * reupload for miss upload 0.68.0.14 + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-15 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 15 Apr 2010 19:47:39 +0900 + +file-manager-service (0.68.0-14) unstable; urgency=low + + * add mmc checking logic foreach file-process + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-14 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 15 Apr 2010 12:53:59 +0900 + +file-manager-service (0.68.0-13) unstable; urgency=low + + * add new API fexplorer_get_image_face + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-13 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Wed, 14 Apr 2010 20:02:33 +0900 + +file-manager-service (0.68.0-12) unstable; urgency=low + + * reupload for email-violation + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-12 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 12 Apr 2010 22:00:20 +0900 + +file-manager-service (0.68.0-11) unstable; urgency=low + + * support additional category + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-11 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 12 Apr 2010 21:52:07 +0900 + +file-manager-service (0.68.0-10) unstable; urgency=low + + * repackaging + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-10 + + -- hochul shin <dsp.shin@samsung.com> Sun, 11 Apr 2010 10:19:49 +0900 + +file-manager-service (0.68.0-9) unstable; urgency=low + + * repackaging + + -- hochul shin <dsp.shin@samsung.com> Sun, 11 Apr 2010 10:17:26 +0900 + +file-manager-service (0.68.0-8) unstable; urgency=low + + * append chmod 755 + + -- hochul shin <dsp.shin@samsung.com> Sun, 11 Apr 2010 10:04:59 +0900 + +file-manager-service (0.68.0-7) unstable; urgency=low + + * add boot script + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-7 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Sat, 10 Apr 2010 17:33:36 +0900 + +file-manager-service (0.68.0-6) unstable; urgency=low + + * re-upload previous version + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-5 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 08 Apr 2010 16:04:54 +0900 + +file-manager-service (0.68.0-5) unstable; urgency=low + + * Remove unused defines + * Add support for .3g2 the Video file + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-5 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 08 Apr 2010 14:11:17 +0900 + +file-manager-service (0.68.0-4) unstable; urgency=low + + * hibernate support + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-4 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 05 Apr 2010 20:42:06 +0900 + +file-manager-service (0.68.0-3) unstable; urgency=low + + * retry + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service-0_0.68.0-3 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Mon, 05 Apr 2010 08:59:34 +0900 + +file-manager-service (0.68.0-2) unstable; urgency=low + + * Auto-rename feature bug fix + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service-0_0.68.0-2 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 02 Apr 2010 13:31:24 +0900 + +file-manager-service (0.68.0-1) unstable; urgency=low + + * just add tag for build-vertification + * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/file-manager-service-0 + * Tag: file-manager-service_0.68.0-1 + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 02 Apr 2010 10:59:10 +0900 + +file-manager-service (0.68) unstable; urgency=low + + * just repackaged to dupload + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 01 Apr 2010 13:39:45 +0900 + +file-manager-service (0.67) unstable; urgency=low + + * Applying header with DRM-service + * DRM-metadata for audio supporting + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 01 Apr 2010 10:42:26 +0900 + +file-manager-service (0.66) unstable; urgency=low + + * bugfix : list by type mis-ordering + + -- hochul shin <dsp.shin@samsung.com> Wed, 31 Mar 2010 16:23:17 +0900 + +file-manager-service (0.65) unstable; urgency=low + + * append auto-rename functionality + + -- hochul shin <dsp.shin@samsung.com> Wed, 31 Mar 2010 09:56:09 +0900 + +file-manager-service (0.64) unstable; urgency=low + + * exclude __BOTH_FMS_CONTACT_FMSVC_USED__ definition + + -- hochul shin <dsp.shin@samsung.com> Tue, 30 Mar 2010 18:46:38 +0900 + +file-manager-service (0.63) unstable; urgency=low + + * remove #ifdefs and #ifndefs for SDK + + -- hochul shin <dsp.shin@samsung.com> Tue, 30 Mar 2010 16:26:18 +0900 + +file-manager-service (0.62) unstable; urgency=low + + * enable BT visibility functions for mmc items + + -- hochul shin <dsp.shin@samsung.com> Tue, 30 Mar 2010 15:08:18 +0900 + +file-manager-service (0.61) unstable; urgency=low + + * enable protection functions for mmc items + + -- hochul shin <dsp.shin@samsung.com> Tue, 30 Mar 2010 13:49:52 +0900 + +file-manager-service (0.60) unstable; urgency=low + + * repackaging due to the toolchain upgrade. + + -- hochul shin <dsp.shin@samsung.com> Mon, 29 Mar 2010 19:53:38 +0900 + +file-manager-service (0.59) unstable; urgency=low + + * add fSource for myfileUI progress bar. + + -- hochul shin <dsp.shin@samsung.com> Mon, 29 Mar 2010 10:26:58 +0900 + +file-manager-service (0.58) unstable; urgency=low + + * packaging in order to reflect mmfileinfo's modification + + -- hochul shin <dsp.shin@samsung.com> Sat, 27 Mar 2010 15:59:22 +0900 + +file-manager-service (0.57) unstable; urgency=low + + * reupload to sync with media-browser-service + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Fri, 26 Mar 2010 16:05:29 +0900 + +file-manager-service (0.56) unstable; urgency=low + + * enable PM controls + + -- hochul shin <dsp.shin@samsung.com> Fri, 26 Mar 2010 11:53:02 +0900 + +file-manager-service (0.55) unstable; urgency=low + + * remark temporarily PM apis. + * it should be modified soon. + + -- hochul shin <dsp.shin@samsung.com> Fri, 26 Mar 2010 10:13:57 +0900 + +file-manager-service (0.53) unstable; urgency=low + + * rollback boot-script install code + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 25 Mar 2010 17:41:17 +0900 + +file-manager-service (0.52) unstable; urgency=low + + * /etc/rc.d script added + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 25 Mar 2010 16:45:57 +0900 + +file-manager-service (0.51) unstable; urgency=low + + * reupload by uploading mistake + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 25 Mar 2010 15:31:17 +0900 + +file-manager-service (0.50) unstable; urgency=low + + * Importing all database - file-manager, music and media-browser + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Thu, 25 Mar 2010 15:20:14 +0900 + +file-manager-service (0.49) unstable; urgency=low + + * ignore noti about parent_dir_path when deleting + + -- hochul shin <dsp.shin@samsung.com> Wed, 24 Mar 2010 21:34:03 +0900 + +file-manager-service (0.48) unstable; urgency=low + + * changing the timing of MMC_IN_OPERATION + + -- hochul shin <dsp.shin@samsung.com> Wed, 24 Mar 2010 12:10:44 +0900 + +file-manager-service (0.47) unstable; urgency=low + + * add database file and thumbnail files + * db is syncronized with media-data(0.1.1-38) !! + + -- hochul shin <dsp.shin@samsung.com> Mon, 22 Mar 2010 18:40:30 +0900 + +file-manager-service (0.46) unstable; urgency=low + + * repackaging + + -- hochul shin <dsp.shin@samsung.com> Thu, 18 Mar 2010 10:36:34 +0900 + +file-manager-service (0.45) unstable; urgency=low + + * enable locking dirs + + -- hochul shin <dsp.shin@samsung.com> Wed, 17 Mar 2010 16:34:52 +0900 + +file-manager-service (0.44) unstable; urgency=low + + * increase MAX PATH LENGTH to 4KB. + + -- hochul shin <dsp.shin@samsung.com> Mon, 15 Mar 2010 21:19:21 +0900 + +file-manager-service (0.43) unstable; urgency=low + + * enable wav support for music player + + -- hochul shin <dsp.shin@samsung.com> Sat, 13 Mar 2010 15:52:59 +0900 + +file-manager-service (0.42) unstable; urgency=low + + * packaging + + -- hochul shin <dsp.shin@samsung.com> Sat, 13 Mar 2010 10:58:35 +0900 + +file-manager-service (0.41) unstable; urgency=low + + * reset mmc db whenever mmc inserted + + -- hochul shin <dsp.shin@samsung.com> Fri, 12 Mar 2010 14:46:18 +0900 + +file-manager-service (0.40) unstable; urgency=low + + * modify redefined enums in fms-contact module + + -- hochul shin <dsp.shin@samsung.com> Thu, 11 Mar 2010 11:43:26 +0900 + +file-manager-service (0.39) unstable; urgency=low + + * remove dbus-noti routines temporarily. + + -- hochul shin <dsp.shin@samsung.com> Wed, 10 Mar 2010 20:17:44 +0900 + +file-manager-service (0.38) unstable; urgency=low + + * avoid redefinition violation when using both fms-contact and fm-svc at same time + + -- hochul shin <dsp.shin@samsung.com> Tue, 09 Mar 2010 11:19:16 +0900 + +file-manager-service (0.37) unstable; urgency=low + + * repackaging + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 02 Mar 2010 21:20:19 +0900 + +file-manager-service (0.36) unstable; urgency=low + + * remove dependency with UI-flash + + -- Seong-hyeon Kim <shyeon.kim@samsung.com> Tue, 02 Mar 2010 21:14:42 +0900 + +file-manager-service (0.35) unstable; urgency=low + + * add default lock files + + -- hochul shin <dsp.shin@samsung.com> Tue, 02 Mar 2010 19:32:00 +0900 + +file-manager-service (0.34) unstable; urgency=low + + * Comment out flashlite and flash thumbnail related code. + + -- Qiu LongBin <longbin.qiu@samsung.com> Mon, 01 Mar 2010 09:21:22 +0800 + +file-manager-service (0.33) unstable; urgency=low + + * Add _fms_{register,unregister}_file_usage functions in fms-contact lib. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 25 Feb 2010 19:05:02 +0800 + +file-manager-service (0.32-12) unstable; urgency=low + + * _fm_svc_ext_sync_rename_file: call mb_svc_move_item_direct instead of + mb_svc_update_path. + * enable dbg pkgs. (By dsp.shin) + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 25 Feb 2010 15:29:48 +0800 + +file-manager-service (0.32-11) unstable; urgency=low + + * Sync media browser's DB in move,copy,rename operation. + * Add EXPORT_API to fms-contact lib. + + -- Qiu LongBin <longbin.qiu@samsung.com> Wed, 24 Feb 2010 11:07:44 +0800 + +file-manager-service (0.32-10) unstable; urgency=low + + * append is_using_file_usage function + + -- hochul shin <dsp.shin@samsung.com> Tue, 23 Feb 2010 13:44:25 +0900 + +file-manager-service (0.32-9) unstable; urgency=low + + * append ALARMTONE as a usage type + + -- hochul shin <dsp.shin@samsung.com> Mon, 22 Feb 2010 23:12:32 +0900 + +file-manager-service (0.32-8) unstable; urgency=low + + * append get_index_from_path + + -- hochul shin <dsp.shin@samsung.com> Mon, 22 Feb 2010 23:01:41 +0900 + +file-manager-service (0.32-7) unstable; urgency=low + + * Refine build script for install .filemanager.db. + + -- Qiu LongBin <longbin.qiu@samsung.com> Mon, 22 Feb 2010 13:09:25 +0800 + +file-manager-service (0.32-6) unstable; urgency=low + + * append fexplorer_get_file_count_by_ext + + -- hochul shin <dsp.shin@samsung.com> Fri, 19 Feb 2010 16:30:29 +0900 + +file-manager-service (0.32-5) unstable; urgency=low + + * let install filemanager.db + + -- hochul shin <dsp.shin@samsung.com> Thu, 18 Feb 2010 11:32:39 +0900 + +file-manager-service (0.32-2) unstable; urgency=low + + * autogen.sh: copy instead of link. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 11 Feb 2010 17:43:46 +0800 + +file-manager-service (0.32-1) unstable; urgency=low + + * Re-run autogen.sh. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 11 Feb 2010 17:07:57 +0800 + +file-manager-service (0.32) unstable; urgency=low + + * Add funcation call to delete media-browser-service's DB record. + + -- Qiu LongBin <longbin.qiu@samsung.com> Wed, 10 Feb 2010 13:29:11 +0800 + +file-manager-service (0.31-1) unstable; urgency=low + + * Remove *-dev dependencies of dbg package. + * Fix bug of init dirs of phone. + + -- Qiu LongBin <longbin.qiu@samsung.com> Tue, 09 Feb 2010 16:57:35 +0800 + +file-manager-service (0.30) unstable; urgency=low + + * Change thumb dir to /opt/data/.thumb. + * Re-implement cp function. + * Init Phone/MMC default dirs. + + -- Qiu LongBin <longbin.qiu@samsung.com> Mon, 08 Feb 2010 16:19:35 +0800 + +file-manager-service (0.29) unstable; urgency=low + + * Add SVG category iterator support. + + -- Qiu LongBin <longbin.qiu@samsung.com> Fri, 05 Feb 2010 19:07:01 +0800 + +file-manager-service (0.28) unstable; urgency=low + + * Add fms-contact library for contact-engine. + + -- Qiu LongBin <longbin.qiu@samsung.com> Fri, 05 Feb 2010 17:31:20 +0800 + +file-manager-service (0.27-1) unstable; urgency=low + + * src_thumb_path use array instead of pointer. + * print_record: lld as for int64_t. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 04 Feb 2010 11:20:27 +0800 + +file-manager-service (0.26) unstable; urgency=low + + * Rewrite thumbnail path operations. + + -- Qiu LongBin <longbin.qiu@samsung.com> Wed, 03 Feb 2010 22:31:36 +0800 + +file-manager-service (0.25) unstable; urgency=low + + * Apply unified thumb path and naming; Add invalidate mp, mb DB. + Add missing dbus signal. + + -- Qiu LongBin <longbin.qiu@samsung.com> Tue, 02 Feb 2010 15:31:44 +0800 + +file-manager-service (0.24) unstable; urgency=low + + * packaging + + -- hochul shin <dsp.shin@samsung.com> Thu, 28 Jan 2010 19:58:48 +0900 + +file-manager-service (0.23) unstable; urgency=low + + * debian/control: Add libslp-pm-dev to dev package. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 28 Jan 2010 16:47:11 +0800 + +file-manager-service (0.22) unstable; urgency=low + + * Add back.kim to uploaders list for re-packaging. + + -- Haejeong Kim <backto.kim@samsung.com> Thu, 28 Jan 2010 13:29:11 +0800 + +file-manager-service (0.21) unstable; urgency=low + + * packaging again + + -- hochul shin <dsp.shin@samsung.com> Wed, 27 Jan 2010 15:21:20 +0900 + +file-manager-service (0.20) unstable; urgency=low + + * packaging + + -- hochul shin <dsp.shin@samsung.com> Wed, 27 Jan 2010 13:29:28 +0900 + +file-manager-service (0.19) unstable; urgency=low + + * file-manager-service.pc.in: remove SLP. + + -- Qiu LongBin <longbin.qiu@samsung.com> Wed, 27 Jan 2010 11:52:11 +0800 + +file-manager-service (0.18) unstable; urgency=low + + * "SLP" prefix name removal. + + -- Qiu LongBin <longbin.qiu@samsung.com> Wed, 27 Jan 2010 11:34:51 +0800 + +file-manager-service (0.17) unstable; urgency=low + + * packaging, modifying control file + + -- hochul shin <dsp.shin@samsung.com> Sat, 23 Jan 2010 15:38:26 +0900 + +file-manager-service (0.16) unstable; urgency=low + + * packaging + + -- hochul shin <dsp.shin@samsung.com> Sat, 23 Jan 2010 15:29:19 +0900 + +file-manager-service (0.15) unstable; urgency=low + + * Refine UMS support and MMC support. + + -- Qiu LongBin <longbin.qiu@samsung.com> Sat, 23 Jan 2010 11:10:04 +0800 + +file-manager-service (0.14) unstable; urgency=low + + * add ums support by mr. qiu + + -- HoChul Shin <dsp.shin@samsung.com> Thu, 21 Jan 2010 19:48:18 +0900 + +file-manager-service (0.13) unstable; urgency=low + + * enable any + + -- HoChul Shin <dsp.shin@samsung.com> Wed, 20 Jan 2010 21:04:47 +0900 + +file-manager-service (0.12) unstable; urgency=low + + * Add drm-service support. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 21 Jan 2010 13:57:36 +0800 + +file-manager-service (0.11) unstable; urgency=low + + * Change phone root dir. + * Enable flash thumbnail support. + * Fix DB path name error of rename api. + * Fix error code error of move file to fexplorer. + + -- Qiu LongBin <longbin.qiu@samsung.com> Tue, 19 Jan 2010 18:19:18 +0800 + +file-manager-service (0.10) unstable; urgency=low + + * only support armel Tang Feng <feng.tang@samsung.com> Sat, 16 Jan 2010 19:48:38 +0900 + + -- MyoungJune Park <mj2004.park@samsung.com> Sat, 16 Jan 2010 19:48:38 +0900 + +file-manager-service (0.9) unstable; urgency=low + + * uploading + + -- MyoungJune Park <mj2004.park@samsung.com> Sat, 16 Jan 2010 19:12:38 +0900 + +file-manager-service (0.8) unstable; urgency=low + + * Disable flush thumbnail extraction temp for the demo. + + -- Qiu LongBin <longbin.qiu@samsung.com> Sat, 16 Jan 2010 16:39:07 +0900 + +file-manager-service (0.7) unstable; urgency=low + + * Add flash thumbnail support. + * Add UMS removal callback. + * Add some thumbnail manager code. + * Modify some phone status keys. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 14 Jan 2010 21:29:56 +0800 + -- Liu RuiChao <ruichao.liu@samsung.com> Thu, 14 Jan 2010 21:29:56 +0800 + +file-manager-service (0.6) unstable; urgency=low + + * Integrate notification mechanism. Fix phone status. + + -- Qiu LongBin <longbin.qiu@samsung.com> Fri, 08 Jan 2010 14:15:07 +0900 + +file-manager-service (0.5) unstable; urgency=low + + * Set setting keys, change db file name, add postinst. + + -- Qiu LongBin <longbin.qiu@samsung.com> Thu, 07 Jan 2010 21:07:49 +0800 + +file-manager-service (0.4) unstable; urgency=low + + * Add MMC support. + + -- Qiu LongBin <longbin.qiu@samsung.com> Mon, 04 Jan 2010 21:07:33 +0800 + +file-manager-service (0.3) unstable; urgency=low + + * Replace gconf, phonestatus with SLP-setting. + + -- Qiu LongBin <longbin.qiu@samsung.com> Mon, 28 Dec 2009 18:43:58 +0800 + +file-manager-service (0.2) unstable; urgency=low + + * Add media-browser-service and music-service support. + * Change filemanager-* to file-manager-*. + + -- Qiu LongBin <longbin.qiu@samsung.com> Tue, 15 Dec 2009 21:36:12 +0800 + +file-manager-service (0.1) unstable; urgency=low + * Initial debinization edition. - * Git : pkgs/m/media-server - * Tag : media-server_0.1.51 - -- Yong Yeon Kim <yy9875.kim@samsung.com> Wed, 07 Dec 2011 12:33:12 +0800 + -- Qiu LongBin <longbin.qiu@samsung.com> Wed, 09 Dec 2009 02:33:12 +0800 diff --git a/debian/control b/debian/control index 64f8e1d..df28ba2 100755 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 5), autotools-dev, libglib2.0-dev, libslp-setting-dev, dlog-dev, - drm-service-dev, + drm-client-dev, libaul-1-dev, libslp-pm-dev Standards-Version: 0.1.0 diff --git a/debian/media-server.postinst.in b/debian/media-server.postinst.in index 78f538c..afbff93 100755 --- a/debian/media-server.postinst.in +++ b/debian/media-server.postinst.in @@ -2,10 +2,8 @@ #################################################################### - vconftool set -t int db/filemanager/dbupdate "1" vconftool set -t int memory/filemanager/Mmc "0" -i -vconftool set -t int db/Apps/mediaserver/usbmode "0" -vconftool set -t string db/Apps/mediaserver/mmc_info "" +vconftool set -t string db/private/mediaserver/mmc_info "" diff --git a/debian/rules b/debian/rules index 7272284..c8caff9 100755 --- a/debian/rules +++ b/debian/rules @@ -36,7 +36,7 @@ configure: configure.ac config.status: configure dh_testdir # Add here commands to configure the package. - CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --prefix=$(PREFIX) + CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --prefix=$(PREFIX) --disable-static build: build-stamp diff --git a/lib/include/.media-util-register.h.swp b/lib/include/.media-util-register.h.swp Binary files differdeleted file mode 100644 index c6c9aaf..0000000 --- a/lib/include/.media-util-register.h.swp +++ /dev/null diff --git a/lib/include/media-util-err.h b/lib/include/media-util-err.h index f658582..241742f 100755 --- a/lib/include/media-util-err.h +++ b/lib/include/media-util-err.h @@ -34,7 +34,7 @@ #define MS_ERROR(X) (X & MS_ERROR_MASKL16) #define MS_MEDIA_ERR_NONE 0 -#define MS_MEDIA_ERR_OCCURRED (MS_MEDIA_ERR_NONE - MS_ERROR(0x01)) +#define MS_MEDIA_ERR_OCCURRED (MS_MEDIA_ERR_NONE - MS_ERROR(0x01)) #define MS_MEDIA_ERR_INVALID_PARAMETER (MS_MEDIA_ERR_NONE - MS_ERROR(0x01)) /**< invalid parameter(s) */ #define MS_MEDIA_ERR_INVALID_PATH (MS_MEDIA_ERR_NONE - MS_ERROR(0x02)) /**< Invalid file path */ @@ -48,6 +48,9 @@ #define MS_MEDIA_ERR_INSERT_FAIL (MS_MEDIA_ERR_NONE - MS_ERROR(0x09))/**< DB insert fail */ #define MS_MEDIA_ERR_DRM_INSERT_FAIL (MS_MEDIA_ERR_NONE - MS_ERROR(0x0a))/**< DRM file insert fail */ +#define MS_MEDIA_ERR_DBUS_ADD_FILTER (MS_MEDIA_ERR_NONE - MS_ERROR(0x0b)) +#define MS_MEDIA_ERR_DBUS_GET (MS_MEDIA_ERR_NONE - MS_ERROR(0x0c)) + #define MS_MEDIA_ERR_UNKNOWN (MS_MEDIA_ERR_NONE - MS_ERROR(0x10)) /**<Unknown error*/ #endif /*_MEDIA_UTIL_ERR_H_*/ diff --git a/lib/include/media-util-internal.h b/lib/include/media-util-internal.h index 690a367..f1922dd 100755 --- a/lib/include/media-util-internal.h +++ b/lib/include/media-util-internal.h @@ -31,6 +31,8 @@ #ifndef _MEDIA_UTIL_GLOBAL_H_ #define _MEDIA_UTIL_GLOBAL_H_ +#define MS_SAFE_FREE(src) { if(src) {free(src); src = NULL;} } + #define MS_MEDIA_TIMEOUT_SEC 10 /*timeout of waiting reponse for IPC*/ #define MS_MEDIA_UPDATE_NOTI_PATH "/opt/data/file-manager-service/_FILEOPERATION_END" @@ -40,4 +42,9 @@ #define MS_MEDIA_PHONE_ROOT_PATH "/opt/media" #define MS_MEDIA_MMC_ROOT_PATH "/opt/storage/sdcard" +#define MS_MEDIA_DBUS_PATH "/com/mediaserver/dbus/notify" +#define MS_MEDIA_DBUS_INTERFACE "com.mediaserver.dbus.Signal" +#define MS_MEDIA_DBUS_NAME "ms_db_updated" +#define MS_MEDIA_DBUS_MATCH_RULE "type='signal',interface='com.mediaserver.dbus.Signal'" + #endif /*_MEDIA_UTIL_GLOBAL_H_*/ diff --git a/lib/include/media-util-noti.h b/lib/include/media-util-noti.h index 27535d8..3ebb97b 100755 --- a/lib/include/media-util-noti.h +++ b/lib/include/media-util-noti.h @@ -75,6 +75,45 @@ extern "C" { int ms_noti_update_complete(void); /** +* @fn int ms_noti_db_update_complete(void); +* @brief This function announce media database is updated to other applications.<br> +* @return This function returns 0 on success, and -1 on failure. +* @param[in] none +* @remark This function is recommandation for other application being aware of database updating.<br> +* @par example +* @code + +#include <stdio.h> +#include <glib.h> +#include <media-util-noti.h> + +void callback() +{ + printf("listen dbus from media-server\n"); +} + +int +main (int argc, char **argv) +{ + GMainLoop *loop; + + loop = g_main_loop_new (NULL, FALSE); + + media_db_update_subscribe(callback); + + g_main_loop_run (loop); + + return 0; +} + +*/ + +typedef void (*db_update_cb)(void); + +int media_db_update_subscribe(db_update_cb user_cb); + + +/** * @} */ diff --git a/lib/media-util-noti.c b/lib/media-util-noti.c index d647aa9..cdda750 100755 --- a/lib/media-util-noti.c +++ b/lib/media-util-noti.c @@ -32,12 +32,39 @@ #include <sys/types.h> #include <sys/stat.h> #include <string.h> +#include <glib.h> +#include <dbus/dbus-glib.h> +#include <dbus/dbus.h> +#include <dbus/dbus-glib-lowlevel.h> #include "media-util-dbg.h" #include "media-util-err.h" #include "media-util-internal.h" #include "media-util-noti.h" +static DBusHandlerResult +__message_filter (DBusConnection *connection, DBusMessage *message, void *user_data) +{ + db_update_cb user_cb = user_data; + + /* A Ping signal on the com.burtonini.dbus.Signal interface */ + if (dbus_message_is_signal (message, MS_MEDIA_DBUS_INTERFACE, MS_MEDIA_DBUS_NAME)) { + DBusError error; + dbus_uint16_t noti_type; + + dbus_error_init (&error); + if (dbus_message_get_args (message, &error, DBUS_TYPE_UINT16, ¬i_type, DBUS_TYPE_INVALID)) { + MSAPI_DBG("noti type: %d\n", noti_type); + user_cb(); + } else { + MSAPI_DBG("messgae received, but error getting message: %s\n", error.message); + dbus_error_free (&error); + } + return DBUS_HANDLER_RESULT_HANDLED; + } + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; +} + int ms_noti_update_complete(void) { int ret; @@ -52,3 +79,29 @@ return err; } +int media_db_update_subscribe(db_update_cb user_cb) +{ + DBusConnection *bus; + DBusError error; + + dbus_g_thread_init(); + + dbus_error_init (&error); + + bus = dbus_bus_get (DBUS_BUS_SESSION, &error); + if (!bus) { + MSAPI_DBG ("Failed to connect to the D-BUS daemon: %s", error.message); + dbus_error_free (&error); + return MS_MEDIA_ERR_DBUS_GET; + } + + dbus_connection_setup_with_g_main (bus, NULL); + + /* listening to messages from all objects as no path is specified */ + dbus_bus_add_match (bus, MS_MEDIA_DBUS_MATCH_RULE, &error); + if( !dbus_connection_add_filter (bus, __message_filter, user_cb, NULL)) + return MS_MEDIA_ERR_DBUS_ADD_FILTER; + + return MS_MEDIA_ERR_NONE; +} + diff --git a/lib/media-util-register.c b/lib/media-util-register.c index 7f0a24d..1d3a946 100755 --- a/lib/media-util-register.c +++ b/lib/media-util-register.c @@ -182,7 +182,7 @@ int media_list_free(media_list list) for(i = 0; i < len; i++) { data = g_array_index(list, char*, i); - free(data); + MS_SAFE_FREE(data); } g_array_free(list, TRUE); diff --git a/packaging/media-server.spec b/packaging/media-server.spec index f15e26f..e7cdff1 100644 --- a/packaging/media-server.spec +++ b/packaging/media-server.spec @@ -1,19 +1,21 @@ #sbs-git:slp/pkgs/m/media-server media-server 0.1.60 e216f565fe5687a6f387f2b3ee2097b926225517 Name: media-server Summary: File manager service server. -Version: 0.1.66 +Version: 0.1.88 Release: 1 -Group: Services -License: Apache-2.0 +Group: utils +License: Samsung Source0: %{name}-%{version}.tar.gz Requires(post): /usr/bin/vconftool BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(drm-service) +BuildRequires: pkgconfig(drm-client) BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(pmapi) +BuildRequires: pkgconfig(heynoti) +BuildRequires: pkgconfig(dbus-glib-1) %description Description: File manager service server @@ -54,16 +56,16 @@ rm -rf %{buildroot} vconftool set -t int db/filemanager/dbupdate "1" vconftool set -t int memory/filemanager/Mmc "0" -i -vconftool set -t int db/Apps/mediaserver/usbmode "0" -vconftool set -t string db/Apps/mediaserver/mmc_info "" +vconftool set -t string db/private/mediaserver/mmc_info "" %files %defattr(-,root,root,-) %{_bindir}/media-server %attr(755,-,-) %{_sysconfdir}/rc.d/init.d/mediasvr -/etc/rc.d/rc3.d/S48mediasvr -/etc/rc.d/rc5.d/S48mediasvr +/etc/rc.d/rc3.d/S99mediasvr +/etc/rc.d/rc5.d/S99mediasvr +/usr/local/bin/reset_mediadb.sh %files -n libmedia-utils %defattr(-,root,root,-) @@ -76,4 +78,21 @@ vconftool set -t string db/Apps/mediaserver/mmc_info "" %{_libdir}/pkgconfig/libmedia-utils.pc %{_includedir}/media-utils/*.h +%changelog +* Mon Aug 06 2012 Yong Yeon Kim <yy9875.kim@samsnug.com> - 0.1.86 +- add notification subscribe function for application +- fix bug : once validity checking time, call insert_item_batch two times. +- add MS_SAFE_FREE Macro, modify check value after using snprintf by secure coding guide +- change macro name MS_PHONE_ROOT_PATH, MS_MMC_ROOT_PATH +- make reference directory list by each thread + +* Tue Jul 03 2012 Yong Yeon Kim <yy9875.kim@samsnug.com> - 0.1.80 +- manage db handle by plug-in + +* Wed Jun 27 2012 Yong Yeon Kim <yy9875.kim@samsnug.com> - 0.1.79 +- If item exists in media db, return directly + +* Tue Jun 26 2012 Yong Yeon Kim <yy9875.kim@samsnug.com> - 0.1.78 +- change modified file updating routine (delete & insert -> refresh) +- modify return error type of media_file_register diff --git a/reset_mediadb.sh b/reset_mediadb.sh new file mode 100755 index 0000000..1061599 --- /dev/null +++ b/reset_mediadb.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo 'Usage : reset_mediadb.sh [phone|sd|all]' + exit +fi + +if [ $1 = "phone" ] +then + vconftool set -f -t int db/filemanager/dbupdate "0" + killall media-server +fi + +if [ $1 = "sd" ] +then + vconftool set -f -t string db/private/mediaserver/mmc_info "" + killall media-server +fi + +if [ $1 = "all" ] +then + vconftool set -f -t int db/filemanager/dbupdate "0" + vconftool set -f -t string db/private/mediaserver/mmc_info "" + killall media-server +fi + + |