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