Tizen 2.1 base
[framework/multimedia/media-server.git] / common / include / media-server-inotify.h
1 /*
2  *  Media Server
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Yong Yeon Kim <yy9875.kim@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 /**
23  * This file defines api utilities of contents manager engines.
24  *
25  * @file                media-server-inotify.h
26  * @author      Yong Yeon Kim(yy9875.kim@samsung.com)
27  * @version     1.0
28  * @brief
29  */
30
31 #ifndef _MEDIA_SERVER_INOTI_H_
32 #define _MEDIA_SERVER_INOTI_H_
33
34 #include <glib.h>
35 #include "media-server-types.h"
36
37 #if MS_INOTI_ENABLE
38
39 typedef struct ms_ignore_file_info {
40         char *path;
41         struct ms_ignore_file_info *previous;
42         struct ms_ignore_file_info *next;
43 } ms_ignore_file_info;
44
45 int ms_inoti_init(void);
46
47 gboolean ms_inoti_thread(gpointer data);
48
49 void ms_inoti_add_watch(char *path);
50
51 int ms_inoti_add_watch_with_node(ms_dir_scan_info * const current_node, int depth);
52
53 void ms_inoti_remove_watch_recursive(char *path);
54
55 void ms_inoti_remove_watch(char *path);
56
57 void ms_inoti_modify_watch(char *path_from, char *path_to);
58
59 int ms_inoti_add_ignore_file(const char *path);
60
61 int ms_inoti_delete_ignore_file(ms_ignore_file_info * delete_node);
62
63 ms_ignore_file_info *ms_inoti_find_ignore_file(const char *path);
64
65 void ms_inoti_delete_mmc_ignore_file(void);
66
67 void ms_inoti_add_watch_all_directory(ms_storage_type_t storage_type);
68
69 #endif
70 #endif/* _MEDIA_SERVER_INOTI_H_ */