Lines Matching refs:dir
80 static void ip_watched_dir_free (ip_watched_dir_t *dir);
111 ip_watched_dir_t *dir) in ip_map_path_dir() argument
113 g_assert (path && dir); in ip_map_path_dir()
114 g_hash_table_insert (path_dir_hash, dir->path, dir); in ip_map_path_dir()
119 ip_watched_dir_t *dir) in ip_map_sub_dir() argument
122 g_assert (dir && sub); in ip_map_sub_dir()
123 g_hash_table_insert (sub_dir_hash, sub, dir); in ip_map_sub_dir()
124 dir->subs = g_list_prepend (dir->subs, sub); in ip_map_sub_dir()
129 ip_watched_dir_t *dir) in ip_map_wd_dir() argument
133 g_assert (wd >= 0 && dir); in ip_map_wd_dir()
135 dir_list = g_list_prepend (dir_list, dir); in ip_map_wd_dir()
136 g_hash_table_replace (wd_dir_hash, GINT_TO_POINTER (dir->wd), dir_list); in ip_map_wd_dir()
144 ip_watched_dir_t *dir; in _ip_start_watching() local
151 dir = g_hash_table_lookup (path_dir_hash, sub->dirname); in _ip_start_watching()
152 if (dir) in _ip_start_watching()
171 dir = ip_watched_dir_new (sub->dirname, wd); in _ip_start_watching()
172 ip_map_wd_dir (wd, dir); in _ip_start_watching()
173 ip_map_path_dir (sub->dirname, dir); in _ip_start_watching()
177 ip_map_sub_dir (sub, dir); in _ip_start_watching()
184 ip_watched_dir_t *dir) in ip_unmap_path_dir() argument
186 g_assert (path && dir); in ip_unmap_path_dir()
187 g_hash_table_remove (path_dir_hash, dir->path); in ip_unmap_path_dir()
192 ip_watched_dir_t *dir) in ip_unmap_wd_dir() argument
199 g_assert (wd >= 0 && dir); in ip_unmap_wd_dir()
200 dir_list = g_list_remove (dir_list, dir); in ip_unmap_wd_dir()
202 g_hash_table_remove (wd_dir_hash, GINT_TO_POINTER (dir->wd)); in ip_unmap_wd_dir()
204 g_hash_table_replace (wd_dir_hash, GINT_TO_POINTER (dir->wd), dir_list); in ip_unmap_wd_dir()
220 ip_watched_dir_t *dir) in ip_unmap_sub_dir() argument
222 g_assert (sub && dir); in ip_unmap_sub_dir()
224 dir->subs = g_list_remove (dir->subs, sub); in ip_unmap_sub_dir()
228 ip_unmap_all_subs (ip_watched_dir_t *dir) in ip_unmap_all_subs() argument
232 for (l = dir->subs; l; l = l->next) in ip_unmap_all_subs()
237 g_list_free (dir->subs); in ip_unmap_all_subs()
238 dir->subs = NULL; in ip_unmap_all_subs()
244 ip_watched_dir_t *dir = NULL; in _ip_stop_watching() local
246 dir = g_hash_table_lookup (sub_dir_hash, sub); in _ip_stop_watching()
247 if (!dir) in _ip_stop_watching()
250 ip_unmap_sub_dir (sub, dir); in _ip_stop_watching()
253 if (dir->subs == NULL) in _ip_stop_watching()
255 _ik_ignore (dir->path, dir->wd); in _ip_stop_watching()
256 ip_unmap_wd_dir (dir->wd, dir); in _ip_stop_watching()
257 ip_unmap_path_dir (dir->path, dir); in _ip_stop_watching()
258 ip_watched_dir_free (dir); in _ip_stop_watching()
269 ip_watched_dir_t *dir = g_new0 (ip_watched_dir_t, 1); in ip_watched_dir_new() local
271 dir->path = g_strdup (path); in ip_watched_dir_new()
272 dir->wd = wd; in ip_watched_dir_new()
274 return dir; in ip_watched_dir_new()
278 ip_watched_dir_free (ip_watched_dir_t *dir) in ip_watched_dir_free() argument
280 g_assert (dir->subs == NULL); in ip_watched_dir_free()
281 g_free (dir->path); in ip_watched_dir_free()
282 g_free (dir); in ip_watched_dir_free()
289 ip_watched_dir_t *dir = data; in ip_wd_delete() local
292 for (l = dir->subs; l; l = l->next) in ip_wd_delete()
298 ip_unmap_all_subs (dir); in ip_wd_delete()
300 ip_unmap_path_dir (dir->path, dir); in ip_wd_delete()
301 ip_watched_dir_free (dir); in ip_wd_delete()
317 ip_watched_dir_t *dir = dirl->data; in ip_event_dispatch() local
319 for (subl = dir->subs; subl; subl = subl->next) in ip_event_dispatch()
354 ip_watched_dir_t *dir = dirl->data; in ip_event_dispatch() local
356 for (subl = dir->subs; subl; subl = subl->next) in ip_event_dispatch()