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