Tizen 2.1 base
[framework/uifw/ecore.git] / src / lib / ecore_file / ecore_file_private.h
1 #ifndef ECORE_FILE_PRIVATE_H_
2 #define ECORE_FILE_PRIVATE_H_
3
4 #ifdef __linux__
5 # include <features.h>
6 #endif
7
8 #ifdef HAVE_EVIL
9 # include <Evil.h>
10 #endif
11
12 #ifdef HAVE_ESCAPE
13 # include <Escape.h>
14 #endif
15
16 #include <sys/types.h>
17 #include <sys/stat.h>
18
19 #include "Ecore.h"
20 #include "ecore_private.h"
21
22 #include "Ecore_File.h"
23
24 extern int _ecore_file_log_dom;
25
26 #ifdef ECORE_FILE_DEFAULT_LOG_COLOR
27 #undef ECORE_FILE_DEFAULT_LOG_COLOR
28 #endif
29 #define ECORE_FILE_DEFAULT_LOG_COLOR EINA_COLOR_BLUE
30
31 #ifdef ERR
32 # undef ERR
33 #endif
34 #define ERR(...) EINA_LOG_DOM_ERR(_ecore_file_log_dom, __VA_ARGS__)
35
36 #ifdef DBG
37 # undef DBG
38 #endif
39 #define DBG(...) EINA_LOG_DOM_DBG(_ecore_file_log_dom, __VA_ARGS__)
40
41 #ifdef INF
42 # undef INF
43 #endif
44 #define INF(...) EINA_LOG_DOM_INFO(_ecore_file_log_dom, __VA_ARGS__)
45
46 #ifdef WRN
47 # undef WRN
48 #endif
49 #define WRN(...) EINA_LOG_DOM_WARN(_ecore_file_log_dom, __VA_ARGS__)
50
51 #ifdef CRIT
52 # undef CRIT
53 #endif
54 #define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_file_log_dom, __VA_ARGS__)
55
56 /* ecore_file_monitor */
57 int  ecore_file_monitor_init(void);
58 void ecore_file_monitor_shutdown(void);
59
60 #define ECORE_FILE_MONITOR(x) ((Ecore_File_Monitor *)(x))
61
62 typedef struct _Ecore_File Ecore_File;
63 struct _Ecore_File
64 {
65    EINA_INLIST;
66    char          *name;
67    int            mtime;
68    unsigned char  is_dir;
69 };
70
71 struct _Ecore_File_Monitor
72 {
73    EINA_INLIST;
74    void (*func) (void *data,
75                  Ecore_File_Monitor *ecore_file_monitor,
76                  Ecore_File_Event event,
77                  const char *path);
78
79    char               *path;
80    void               *data;
81    Ecore_File         *files;
82 };
83
84 #ifdef HAVE_INOTIFY
85 int                 ecore_file_monitor_inotify_init(void);
86 int                 ecore_file_monitor_inotify_shutdown(void);
87 Ecore_File_Monitor *ecore_file_monitor_inotify_add(const char *path,
88                                                         void (*func) (void *data,
89                                                                       Ecore_File_Monitor *ecore_file_monitor,
90                                                                       Ecore_File_Event event,
91                                                                       const char *path),
92                                                         void *data);
93 void                ecore_file_monitor_inotify_del(Ecore_File_Monitor *ecore_file_monitor);
94 #endif
95  
96 #ifdef HAVE_NOTIFY_WIN32
97 int                 ecore_file_monitor_win32_init(void);
98 int                 ecore_file_monitor_win32_shutdown(void);
99 Ecore_File_Monitor *ecore_file_monitor_win32_add(const char *path,
100                                                  void      (*func) (void               *data,
101                                                                     Ecore_File_Monitor *ecore_file_monitor,
102                                                                     Ecore_File_Event    event,
103                                                                     const char         *path),
104                                                  void       *data);
105 void                ecore_file_monitor_win32_del(Ecore_File_Monitor *ecore_file_monitor);
106 #endif
107
108 #ifdef HAVE_POLL
109 int                 ecore_file_monitor_poll_init(void);
110 int                 ecore_file_monitor_poll_shutdown(void);
111 Ecore_File_Monitor *ecore_file_monitor_poll_add(const char *path,
112                                                 void (*func) (void *data,
113                                                               Ecore_File_Monitor *ecore_file_monitor,
114                                                               Ecore_File_Event event,
115                                                               const char *path),
116                                                 void *data);
117 void                ecore_file_monitor_poll_del(Ecore_File_Monitor *ecore_file_monitor);
118
119 #endif
120
121 /* ecore_file_path */
122 void ecore_file_path_init(void);
123 void ecore_file_path_shutdown(void);
124
125 /* ecore_file_download */
126 int  ecore_file_download_init(void);
127 void ecore_file_download_shutdown(void);
128
129 #endif