1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
2 
3    caja-directory-notify.h: Caja directory notify calls.
4 
5    Copyright (C) 2000, 2001 Eazel, Inc.
6 
7    This program is free software; you can redistribute it and/or
8    modify it under the terms of the GNU General Public License as
9    published by the Free Software Foundation; either version 2 of the
10    License, or (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    General Public License for more details.
16 
17    You should have received a copy of the GNU General Public
18    License along with this program; if not, write to the
19    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
20    Boston, MA 02110-1301, USA.
21 
22    Author: Darin Adler <darin@bentspoon.com>
23 */
24 
25 #ifndef __CAJA_DIRECTORY_NOTIFY_H__
26 #define __CAJA_DIRECTORY_NOTIFY_H__
27 
28 #include <gdk/gdk.h>
29 
30 #include "caja-file.h"
31 
32 typedef struct
33 {
34     char *from_uri;
35     char *to_uri;
36 } URIPair;
37 
38 typedef struct
39 {
40     GFile *from;
41     GFile *to;
42 } GFilePair;
43 
44 typedef struct
45 {
46     GFile *location;
47     gboolean set;
48     GdkPoint point;
49     int screen;
50 } CajaFileChangesQueuePosition;
51 
52 /* Almost-public change notification calls */
53 void caja_directory_notify_files_added   (GList *files);
54 void caja_directory_notify_files_moved   (GList *file_pairs);
55 void caja_directory_notify_files_changed (GList *files);
56 void caja_directory_notify_files_removed (GList *files);
57 
58 void caja_directory_schedule_metadata_copy   (GList        *file_pairs);
59 void caja_directory_schedule_metadata_move   (GList        *file_pairs);
60 void caja_directory_schedule_metadata_remove (GList        *files);
61 
62 void caja_directory_schedule_metadata_copy_by_uri   (GList        *uri_pairs);
63 void caja_directory_schedule_metadata_move_by_uri   (GList        *uri_pairs);
64 void caja_directory_schedule_metadata_remove_by_uri (GList        *uris);
65 void caja_directory_schedule_position_set    (GList        *position_setting_list);
66 
67 /* Change notification hack.
68  * This is called when code modifies the file and it needs to trigger
69  * a notification. Eventually this should become private, but for now
70  * it needs to be used for code like the thumbnail generation.
71  */
72 void caja_file_changed                       (CajaFile *file);
73 
74 #endif	/* __CAJA_DIRECTORY_NOTIFY_H__ */
75 
76