1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
2 
3    nemo-directory-notify.h: Nemo 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 Street - Suite 500,
20    Boston, MA 02110-1335, USA.
21 
22    Author: Darin Adler <darin@bentspoon.com>
23 */
24 
25 #include <gdk/gdk.h>
26 #include <libnemo-private/nemo-file.h>
27 
28 typedef struct {
29 	char *from_uri;
30 	char *to_uri;
31 } URIPair;
32 
33 typedef struct {
34 	GFile *from;
35 	GFile *to;
36 } GFilePair;
37 
38 typedef struct {
39 	GFile *location;
40 	gboolean set;
41 	GdkPoint point;
42 	int screen;
43     int monitor;
44 } NemoFileChangesQueuePosition;
45 
46 /* Almost-public change notification calls */
47 void nemo_directory_notify_files_added   (GList *files);
48 void nemo_directory_notify_files_moved   (GList *file_pairs);
49 void nemo_directory_notify_files_changed (GList *files);
50 void nemo_directory_notify_files_removed (GList *files);
51 
52 void nemo_directory_schedule_metadata_copy   (GList        *file_pairs);
53 void nemo_directory_schedule_metadata_move   (GList        *file_pairs);
54 void nemo_directory_schedule_metadata_remove (GList        *files);
55 
56 /* Deprecated URI versions: to be converted */
57 void nemo_directory_notify_files_added_by_uri      (GList        *uris);
58 void nemo_directory_notify_files_changed_by_uri    (GList        *uris);
59 void nemo_directory_notify_files_moved_by_uri      (GList        *uri_pairs);
60 void nemo_directory_notify_files_removed_by_uri    (GList        *uris);
61 
62 void nemo_directory_schedule_metadata_copy_by_uri   (GList        *uri_pairs);
63 void nemo_directory_schedule_metadata_move_by_uri   (GList        *uri_pairs);
64 void nemo_directory_schedule_metadata_remove_by_uri (GList        *uris);
65 void nemo_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 nemo_file_changed                       (NemoFile *file);
73