Lines Matching refs:archive

58 	FrArchive     *archive;  member
71 dropped_items_data_new (FrArchive *archive, in dropped_items_data_new() argument
84 data->archive = archive; in dropped_items_data_new()
132 FrArchive *archive; member
187 static void fr_archive_init (FrArchive *archive);
295 fr_archive_stoppable (FrArchive *archive, in fr_archive_stoppable() argument
298 g_signal_emit (G_OBJECT (archive), in fr_archive_stoppable()
306 fr_archive_stop (FrArchive *archive) in fr_archive_stop() argument
308 if (archive->process != NULL) { in fr_archive_stop()
309 fr_process_stop (archive->process); in fr_archive_stop()
313 if (! g_cancellable_is_cancelled (archive->priv->cancellable)) in fr_archive_stop()
314 g_cancellable_cancel (archive->priv->cancellable); in fr_archive_stop()
319 fr_archive_action_completed (FrArchive *archive, in fr_archive_action_completed() argument
324 archive->error.type = error_type; in fr_archive_action_completed()
325 archive->error.status = 0; in fr_archive_action_completed()
326 g_clear_error (&archive->error.gerror); in fr_archive_action_completed()
328 archive->error.gerror = g_error_new_literal (fr_error_quark (), in fr_archive_action_completed()
331 g_signal_emit (G_OBJECT (archive), in fr_archive_action_completed()
335 &archive->error); in fr_archive_action_completed()
341 FrArchive *archive) in archive_sticky_only_cb() argument
343 fr_archive_stoppable (archive, FALSE); in archive_sticky_only_cb()
349 fr_archive_init (FrArchive *archive) in fr_archive_init() argument
351 archive->file = NULL; in fr_archive_init()
352 archive->local_copy = NULL; in fr_archive_init()
353 archive->is_remote = FALSE; in fr_archive_init()
354 archive->command = NULL; in fr_archive_init()
355 archive->is_compressed_file = FALSE; in fr_archive_init()
356 archive->can_create_compressed_file = FALSE; in fr_archive_init()
358 archive->priv = g_new0 (FrArchivePrivData, 1); in fr_archive_init()
359 archive->priv->fake_load_func = NULL; in fr_archive_init()
360 archive->priv->fake_load_data = NULL; in fr_archive_init()
362 archive->priv->extraction_destination = NULL; in fr_archive_init()
363 archive->priv->temp_extraction_dir = NULL; in fr_archive_init()
364 archive->priv->cancellable = g_cancellable_new (); in fr_archive_init()
366 archive->process = fr_process_new (); in fr_archive_init()
367 g_signal_connect (G_OBJECT (archive->process), in fr_archive_init()
370 archive); in fr_archive_init()
406 fr_archive_set_uri (FrArchive *archive, in fr_archive_set_uri() argument
409 if ((archive->local_copy != NULL) && archive->is_remote) { in fr_archive_set_uri()
413 g_file_delete (archive->local_copy, NULL, &err); in fr_archive_set_uri()
419 temp_folder = g_file_get_parent (archive->local_copy); in fr_archive_set_uri()
429 if (archive->file != NULL) { in fr_archive_set_uri()
430 g_object_unref (archive->file); in fr_archive_set_uri()
431 archive->file = NULL; in fr_archive_set_uri()
433 if (archive->local_copy != NULL) { in fr_archive_set_uri()
434 g_object_unref (archive->local_copy); in fr_archive_set_uri()
435 archive->local_copy = NULL; in fr_archive_set_uri()
437 archive->content_type = NULL; in fr_archive_set_uri()
442 archive->file = g_file_new_for_uri (uri); in fr_archive_set_uri()
443 archive->is_remote = ! g_file_has_uri_scheme (archive->file, "file"); in fr_archive_set_uri()
444 if (archive->is_remote) in fr_archive_set_uri()
445 archive->local_copy = get_local_copy_for_file (archive->file); in fr_archive_set_uri()
447 archive->local_copy = g_file_dup (archive->file); in fr_archive_set_uri()
452 fr_archive_remove_temp_work_dir (FrArchive *archive) in fr_archive_remove_temp_work_dir() argument
454 if (archive->priv->temp_dir == NULL) in fr_archive_remove_temp_work_dir()
456 remove_local_directory (archive->priv->temp_dir); in fr_archive_remove_temp_work_dir()
457 g_free (archive->priv->temp_dir); in fr_archive_remove_temp_work_dir()
458 archive->priv->temp_dir = NULL; in fr_archive_remove_temp_work_dir()
465 FrArchive *archive; in fr_archive_finalize() local
470 archive = FR_ARCHIVE (object); in fr_archive_finalize()
472 fr_archive_set_uri (archive, NULL); in fr_archive_finalize()
473 fr_archive_remove_temp_work_dir (archive); in fr_archive_finalize()
474 if (archive->command != NULL) in fr_archive_finalize()
475 g_object_unref (archive->command); in fr_archive_finalize()
476 g_object_unref (archive->process); in fr_archive_finalize()
477 if (archive->priv->dropped_items_data != NULL) { in fr_archive_finalize()
478 dropped_items_data_free (archive->priv->dropped_items_data); in fr_archive_finalize()
479 archive->priv->dropped_items_data = NULL; in fr_archive_finalize()
481 g_free (archive->priv->temp_extraction_dir); in fr_archive_finalize()
482 g_free (archive->priv->extraction_destination); in fr_archive_finalize()
483 g_free (archive->priv); in fr_archive_finalize()
619 create_command_from_type (FrArchive *archive, in create_command_from_type() argument
627 archive->command = FR_COMMAND (g_object_new (command_type, in create_command_from_type()
628 "process", archive->process, in create_command_from_type()
632 if (! fr_command_is_capable_of (archive->command, requested_capabilities)) { in create_command_from_type()
633 g_object_unref (archive->command); in create_command_from_type()
634 archive->command = NULL; in create_command_from_type()
635 archive->is_compressed_file = FALSE; in create_command_from_type()
638archive->is_compressed_file = ! fr_command_is_capable_of (archive->command, FR_COMMAND_CAN_ARCHIVE… in create_command_from_type()
640 return (archive->command != NULL); in create_command_from_type()
645 create_command_to_load_archive (FrArchive *archive, in create_command_to_load_archive() argument
668 return create_command_from_type (archive, in create_command_to_load_archive()
676 create_command_to_create_archive (FrArchive *archive, in create_command_to_create_archive() argument
688 return create_command_from_type (archive, in create_command_to_create_archive()
698 FrArchive *archive) in action_started() argument
704 g_signal_emit (G_OBJECT (archive), in action_started()
715 fr_archive_copy_done (FrArchive *archive, in fr_archive_copy_done() argument
726 fr_archive_action_completed (archive, action, error_type, error_details); in fr_archive_copy_done()
736 fr_archive_copy_done (xfer_data->archive, xfer_data->action, error); in copy_to_remote_location_done()
752 g_signal_emit (G_OBJECT (xfer_data->archive), in copy_to_remote_location_progress()
760 copy_to_remote_location (FrArchive *archive, in copy_to_remote_location() argument
766 xfer_data->archive = archive; in copy_to_remote_location()
769 g_copy_file_async (archive->local_copy, in copy_to_remote_location()
770 archive->file, in copy_to_remote_location()
773 archive->priv->cancellable, in copy_to_remote_location()
785 move_here (FrArchive *archive) in move_here() argument
794 content_uri = get_dir_content_if_unique (archive->priv->extraction_destination); in move_here()
800 if (uricmp (parent, archive->priv->extraction_destination) == 0) { in move_here()
803 new_uri = get_alternative_uri_for_uri (archive->priv->extraction_destination); in move_here()
805 source = g_file_new_for_uri (archive->priv->extraction_destination); in move_here()
808 …g_warning ("could not rename %s to %s: %s", archive->priv->extraction_destination, new_uri, error-… in move_here()
814 g_free (archive->priv->extraction_destination); in move_here()
815 archive->priv->extraction_destination = new_uri; in move_here()
819 content_uri = get_dir_content_if_unique (archive->priv->extraction_destination); in move_here()
843 g_free (archive->priv->extraction_destination); in move_here()
844 archive->priv->extraction_destination = new_content_uri; in move_here()
856 FrArchive *archive = user_data; in copy_extracted_files_done() local
858 remove_local_directory (archive->priv->temp_extraction_dir); in copy_extracted_files_done()
859 g_free (archive->priv->temp_extraction_dir); in copy_extracted_files_done()
860 archive->priv->temp_extraction_dir = NULL; in copy_extracted_files_done()
862 fr_archive_action_completed (archive, in copy_extracted_files_done()
867 if ((error == NULL) && (archive->priv->extract_here)) in copy_extracted_files_done()
868 move_here (archive); in copy_extracted_files_done()
870 fr_archive_copy_done (archive, FR_ACTION_EXTRACTING_FILES, error); in copy_extracted_files_done()
883 FrArchive *archive = user_data; in copy_extracted_files_progress() local
885 g_signal_emit (G_OBJECT (archive), in copy_extracted_files_progress()
893 copy_extracted_files_to_destination (FrArchive *archive) in copy_extracted_files_to_destination() argument
895 g_directory_copy_async (archive->priv->temp_extraction_dir, in copy_extracted_files_to_destination()
896 archive->priv->extraction_destination, in copy_extracted_files_to_destination()
899 archive->priv->cancellable, in copy_extracted_files_to_destination()
901 archive, in copy_extracted_files_to_destination()
903 archive); in copy_extracted_files_to_destination()
911 fr_archive_change_name (FrArchive *archive, in fr_archive_change_name() argument
919 parent = g_file_get_parent (archive->file); in fr_archive_change_name()
920 g_object_unref (archive->file); in fr_archive_change_name()
921 archive->file = g_file_get_child (parent, name); in fr_archive_change_name()
924 parent = g_file_get_parent (archive->local_copy); in fr_archive_change_name()
925 g_object_unref (archive->local_copy); in fr_archive_change_name()
926 archive->local_copy = g_file_get_child (parent, name); in fr_archive_change_name()
935 FrArchive *archive) in action_performed() argument
944 if (! g_file_has_uri_scheme (archive->file, "file")) { in action_performed()
945 copy_to_remote_location (archive, action); in action_performed()
953 fr_archive_remove_temp_work_dir (archive); in action_performed()
954 if (archive->priv->continue_adding_dropped_items) { in action_performed()
955 add_dropped_items (archive->priv->dropped_items_data); in action_performed()
958 if (archive->priv->dropped_items_data != NULL) { in action_performed()
959 dropped_items_data_free (archive->priv->dropped_items_data); in action_performed()
960 archive->priv->dropped_items_data = NULL; in action_performed()
964 if (archive->command->multi_volume) in action_performed()
965 fr_archive_change_name (archive, archive->command->filename); in action_performed()
966 if (! g_file_has_uri_scheme (archive->file, "file")) { in action_performed()
967 copy_to_remote_location (archive, action); in action_performed()
975 if (archive->priv->remote_extraction) { in action_performed()
976 copy_extracted_files_to_destination (archive); in action_performed()
979 else if (archive->priv->extract_here) in action_performed()
980 move_here (archive); in action_performed()
987 if ((archive->priv->remote_extraction) && (archive->priv->temp_extraction_dir != NULL)) { in action_performed()
988 remove_local_directory (archive->priv->temp_extraction_dir); in action_performed()
989 g_free (archive->priv->temp_extraction_dir); in action_performed()
990 archive->priv->temp_extraction_dir = NULL; in action_performed()
993 if (archive->priv->extract_here) in action_performed()
994 remove_directory (archive->priv->extraction_destination); in action_performed()
1001 if (archive->command->multi_volume) in action_performed()
1002 fr_archive_change_name (archive, archive->command->filename); in action_performed()
1003 fr_command_update_capabilities (archive->command); in action_performed()
1004 if (! fr_command_is_capable_of (archive->command, FR_COMMAND_CAN_WRITE)) in action_performed()
1005 archive->read_only = TRUE; in action_performed()
1013 g_signal_emit (G_OBJECT (archive), in action_performed()
1024 FrArchive *archive) in archive_progress_cb() argument
1026 g_signal_emit (G_OBJECT (archive), in archive_progress_cb()
1037 FrArchive *archive) in archive_message_cb() argument
1039 g_signal_emit (G_OBJECT (archive), in archive_message_cb()
1050 FrArchive *archive) in archive_working_archive_cb() argument
1052 g_signal_emit (G_OBJECT (archive), in archive_working_archive_cb()
1061 fr_archive_connect_to_command (FrArchive *archive) in fr_archive_connect_to_command() argument
1063 g_signal_connect (G_OBJECT (archive->command), in fr_archive_connect_to_command()
1066 archive); in fr_archive_connect_to_command()
1067 g_signal_connect (G_OBJECT (archive->command), in fr_archive_connect_to_command()
1070 archive); in fr_archive_connect_to_command()
1071 g_signal_connect (G_OBJECT (archive->command), in fr_archive_connect_to_command()
1074 archive); in fr_archive_connect_to_command()
1075 g_signal_connect (G_OBJECT (archive->command), in fr_archive_connect_to_command()
1078 archive); in fr_archive_connect_to_command()
1079 g_signal_connect (G_OBJECT (archive->command), in fr_archive_connect_to_command()
1082 archive); in fr_archive_connect_to_command()
1087 fr_archive_create (FrArchive *archive, in fr_archive_create() argument
1096 fr_archive_set_uri (archive, uri); in fr_archive_create()
1098 tmp_command = archive->command; in fr_archive_create()
1100 mime_type = get_mime_type_from_filename (archive->local_copy); in fr_archive_create()
1101 if (! create_command_to_create_archive (archive, mime_type)) { in fr_archive_create()
1102 archive->command = tmp_command; in fr_archive_create()
1107 g_signal_handlers_disconnect_by_data (tmp_command, archive); in fr_archive_create()
1111 fr_archive_connect_to_command (archive); in fr_archive_create()
1112 archive->read_only = FALSE; in fr_archive_create()
1119 fr_archive_set_fake_load_func (FrArchive *archive, in fr_archive_set_fake_load_func() argument
1123 archive->priv->fake_load_func = func; in fr_archive_set_fake_load_func()
1124 archive->priv->fake_load_data = data; in fr_archive_set_fake_load_func()
1129 fr_archive_fake_load (FrArchive *archive) in fr_archive_fake_load() argument
1131 if (archive->priv->fake_load_func != NULL) in fr_archive_fake_load()
1132 return (*archive->priv->fake_load_func) (archive, archive->priv->fake_load_data); in fr_archive_fake_load()
1142 load_local_archive (FrArchive *archive, in load_local_archive() argument
1148 if (! g_file_query_exists (archive->file, archive->priv->cancellable)) { in load_local_archive()
1149 fr_archive_action_completed (archive, in load_local_archive()
1156 archive->have_permissions = check_file_permissions (archive->file, W_OK); in load_local_archive()
1157 archive->read_only = ! archive->have_permissions; in load_local_archive()
1159 old_command = archive->command; in load_local_archive()
1161 mime_type = get_mime_type_from_filename (archive->local_copy); in load_local_archive()
1162 if (! create_command_to_load_archive (archive, mime_type)) { in load_local_archive()
1163 mime_type = get_mime_type_from_content (archive->local_copy); in load_local_archive()
1164 if (! create_command_to_load_archive (archive, mime_type)) { in load_local_archive()
1165 mime_type = get_mime_type_from_magic_numbers (archive->local_copy); in load_local_archive()
1166 if (! create_command_to_load_archive (archive, mime_type)) { in load_local_archive()
1167 archive->command = old_command; in load_local_archive()
1168 archive->content_type = mime_type; in load_local_archive()
1169 fr_archive_action_completed (archive, in load_local_archive()
1179 g_signal_handlers_disconnect_by_data (old_command, archive); in load_local_archive()
1183 fr_archive_connect_to_command (archive); in load_local_archive()
1185 archive->content_type = "application/x-raw-disk-image"; in load_local_archive()
1187 archive->content_type = mime_type; in load_local_archive()
1188 if (! fr_command_is_capable_of (archive->command, FR_COMMAND_CAN_WRITE)) in load_local_archive()
1189 archive->read_only = TRUE; in load_local_archive()
1190 fr_archive_stoppable (archive, TRUE); in load_local_archive()
1191 archive->command->fake_load = fr_archive_fake_load (archive); in load_local_archive()
1193 fr_archive_action_completed (archive, in load_local_archive()
1200 fr_process_clear (archive->process); in load_local_archive()
1201 g_object_set (archive->command, in load_local_archive()
1202 "file", archive->local_copy, in load_local_archive()
1205 fr_command_list (archive->command); in load_local_archive()
1216 fr_archive_copy_done (xfer_data->archive, FR_ACTION_LOADING_ARCHIVE, error); in copy_remote_file_done()
1218 load_local_archive (xfer_data->archive, xfer_data->password); in copy_remote_file_done()
1234 g_signal_emit (G_OBJECT (xfer_data->archive), in copy_remote_file_progress()
1253 copy_remote_file (FrArchive *archive, in copy_remote_file() argument
1258 if (! g_file_query_exists (archive->file, archive->priv->cancellable)) { in copy_remote_file()
1262 fr_archive_copy_done (archive, FR_ACTION_LOADING_ARCHIVE, error); in copy_remote_file()
1269 xfer_data->archive = archive; in copy_remote_file()
1270 xfer_data->uri = g_file_get_uri (archive->file); in copy_remote_file()
1274 if (! archive->is_remote) { in copy_remote_file()
1279 g_copy_file_async (archive->file, in copy_remote_file()
1280 archive->local_copy, in copy_remote_file()
1283 archive->priv->cancellable, in copy_remote_file()
1292 fr_archive_load (FrArchive *archive, in fr_archive_load() argument
1296 g_return_val_if_fail (archive != NULL, FALSE); in fr_archive_load()
1298 g_signal_emit (G_OBJECT (archive), in fr_archive_load()
1303 fr_archive_set_uri (archive, uri); in fr_archive_load()
1304 copy_remote_file (archive, password); in fr_archive_load()
1311 fr_archive_load_local (FrArchive *archive, in fr_archive_load_local() argument
1315 g_return_val_if_fail (archive != NULL, FALSE); in fr_archive_load_local()
1317 g_signal_emit (G_OBJECT (archive), in fr_archive_load_local()
1322 fr_archive_set_uri (archive, uri); in fr_archive_load_local()
1323 copy_remote_file (archive, password); in fr_archive_load_local()
1330 fr_archive_reload (FrArchive *archive, in fr_archive_reload() argument
1335 g_return_if_fail (archive != NULL); in fr_archive_reload()
1336 g_return_if_fail (archive->file != NULL); in fr_archive_reload()
1338 fr_archive_stoppable (archive, TRUE); in fr_archive_reload()
1339 archive->command->fake_load = fr_archive_fake_load (archive); in fr_archive_reload()
1341 uri = g_file_get_uri (archive->file); in fr_archive_reload()
1342 fr_archive_load (archive, uri, password); in fr_archive_reload()
1396 find_file_in_archive (FrArchive *archive, in find_file_in_archive() argument
1403 i = find_path_in_file_data_array (archive->command->files, path); in find_file_in_archive()
1405 return (FileData *) g_ptr_array_index (archive->command->files, i); in find_file_in_archive()
1411 static void delete_from_archive (FrArchive *archive, GList *file_list);
1415 newer_files_only (FrArchive *archive, in newer_files_only() argument
1428 fdata = find_file_in_archive (archive, filename); in newer_files_only()
1544 fr_archive_add (FrArchive *archive, in fr_archive_add() argument
1567 if (archive->read_only) in fr_archive_add()
1570 g_object_set (archive->command, in fr_archive_add()
1577 fr_archive_stoppable (archive, TRUE); in fr_archive_add()
1605 if (update && ! archive->command->propAddCanUpdate) { in fr_archive_add()
1609 new_file_list = newer_files_only (archive, tmp_file_list, tmp_base_dir); in fr_archive_add()
1620 archive->process->error.type = FR_PROC_ERROR_NONE; in fr_archive_add()
1621 g_signal_emit_by_name (G_OBJECT (archive->process), in fr_archive_add()
1623 &archive->process->error); in fr_archive_add()
1627archive->command->creating_archive = ! g_file_query_exists (archive->local_copy, archive->priv->ca… in fr_archive_add()
1641 local_copy_parent = g_file_get_parent (archive->local_copy); in fr_archive_add()
1644 archive_filename = g_file_get_path (archive->local_copy); in fr_archive_add()
1647 g_object_set (archive->command, "file", tmp_file, NULL); in fr_archive_add()
1649 if (! archive->command->creating_archive) { in fr_archive_add()
1652 fr_process_begin_command (archive->process, "cp"); in fr_archive_add()
1653 fr_process_add_arg (archive->process, "-f"); in fr_archive_add()
1654 fr_process_add_arg (archive->process, archive_filename); in fr_archive_add()
1655 fr_process_add_arg (archive->process, tmp_archive_filename); in fr_archive_add()
1656 fr_process_end_command (archive->process); in fr_archive_add()
1664 fr_command_uncompress (archive->command); in fr_archive_add()
1673 if ((! update && ! archive->command->propAddCanReplace) in fr_archive_add()
1674 || (update && ! archive->command->propAddCanUpdate)) in fr_archive_add()
1680 if (find_file_in_archive (archive, filename)) in fr_archive_add()
1687 delete_from_archive (archive, del_list); in fr_archive_add()
1688 fr_process_set_ignore_error (archive->process, TRUE); in fr_archive_add()
1695 fr_command_set_n_files (archive->command, g_list_length (new_file_list)); in fr_archive_add()
1697 if (archive->command->propListFromFile in fr_archive_add()
1698 && (archive->command->n_files > LIST_LENGTH_TO_USE_FILE)) in fr_archive_add()
1705 archive->process->error.type = FR_PROC_ERROR_GENERIC; in fr_archive_add()
1706 archive->process->error.status = 0; in fr_archive_add()
1707 archive->process->error.gerror = g_error_copy (error); in fr_archive_add()
1708 g_signal_emit_by_name (G_OBJECT (archive->process), in fr_archive_add()
1710 &archive->process->error); in fr_archive_add()
1715 fr_command_add (archive->command, in fr_archive_add()
1724 fr_process_begin_command (archive->process, "rm"); in fr_archive_add()
1725 fr_process_set_working_dir (archive->process, g_get_tmp_dir()); in fr_archive_add()
1726 fr_process_set_sticky (archive->process, TRUE); in fr_archive_add()
1727 fr_process_add_arg (archive->process, "-rf"); in fr_archive_add()
1728 fr_process_add_arg (archive->process, list_dir); in fr_archive_add()
1729 fr_process_end_command (archive->process); in fr_archive_add()
1746 fr_command_add (archive->command, in fr_archive_add()
1762 fr_command_recompress (archive->command); in fr_archive_add()
1766 fr_process_begin_command (archive->process, "mv"); in fr_archive_add()
1767 fr_process_add_arg (archive->process, "-f"); in fr_archive_add()
1768 fr_process_add_arg (archive->process, tmp_archive_filename); in fr_archive_add()
1769 fr_process_add_arg (archive->process, archive_filename); in fr_archive_add()
1770 fr_process_end_command (archive->process); in fr_archive_add()
1774 fr_process_begin_command (archive->process, "rm"); in fr_archive_add()
1775 fr_process_set_working_dir (archive->process, g_get_tmp_dir()); in fr_archive_add()
1776 fr_process_set_sticky (archive->process, TRUE); in fr_archive_add()
1777 fr_process_add_arg (archive->process, "-rf"); in fr_archive_add()
1778 fr_process_add_arg (archive->process, tmp_archive_dir); in fr_archive_add()
1779 fr_process_end_command (archive->process); in fr_archive_add()
1784 fr_process_begin_command (archive->process, "rm"); in fr_archive_add()
1785 fr_process_set_working_dir (archive->process, g_get_tmp_dir()); in fr_archive_add()
1786 fr_process_set_sticky (archive->process, TRUE); in fr_archive_add()
1787 fr_process_add_arg (archive->process, "-rf"); in fr_archive_add()
1788 fr_process_add_arg (archive->process, tmp_base_dir); in fr_archive_add()
1789 fr_process_end_command (archive->process); in fr_archive_add()
1801 fr_archive_add_local_files (FrArchive *archive, in fr_archive_add_local_files() argument
1811 fr_process_clear (archive->process); in fr_archive_add_local_files()
1812 fr_archive_add (archive, in fr_archive_add_local_files()
1822 fr_process_start (archive->process); in fr_archive_add_local_files()
1832 fr_archive_copy_done (xfer_data->archive, FR_ACTION_COPYING_FILES_FROM_REMOTE, error); in copy_remote_files_done()
1835 fr_archive_add_local_files (xfer_data->archive, in copy_remote_files_done()
1859 g_signal_emit (G_OBJECT (xfer_data->archive), in copy_remote_files_progress()
1867 copy_remote_files (FrArchive *archive, in copy_remote_files() argument
1901 fr_archive_action_completed (archive, in copy_remote_files()
1924 xfer_data->archive = archive; in copy_remote_files()
1935 g_signal_emit (G_OBJECT (archive), in copy_remote_files()
1944 archive->priv->cancellable, in copy_remote_files()
1956 fr_archive_get_temp_work_dir (FrArchive *archive) in fr_archive_get_temp_work_dir() argument
1958 fr_archive_remove_temp_work_dir (archive); in fr_archive_get_temp_work_dir()
1959 archive->priv->temp_dir = get_temp_work_dir (NULL); in fr_archive_get_temp_work_dir()
1960 return archive->priv->temp_dir; in fr_archive_get_temp_work_dir()
1965 fr_archive_add_files (FrArchive *archive, in fr_archive_add_files() argument
1977 fr_archive_add_local_files (archive, in fr_archive_add_files()
1989 copy_remote_files (archive, in fr_archive_add_files()
1998 fr_archive_get_temp_work_dir (archive)); in fr_archive_add_files()
2006 FrArchive *archive; member
2034 FrArchive *archive = aww_data->archive; in add_with_wildcard__step2() local
2037 fr_archive_action_completed (archive, in add_with_wildcard__step2()
2044 fr_archive_action_completed (archive, in add_with_wildcard__step2()
2050 fr_archive_add_files (aww_data->archive, in add_with_wildcard__step2()
2067 fr_archive_add_with_wildcard (FrArchive *archive, in fr_archive_add_with_wildcard() argument
2082 g_return_if_fail (! archive->read_only); in fr_archive_add_with_wildcard()
2085 aww_data->archive = archive; in fr_archive_add_with_wildcard()
2094 g_signal_emit (G_OBJECT (archive), in fr_archive_add_with_wildcard()
2109 archive->priv->cancellable, in fr_archive_add_with_wildcard()
2119 FrArchive *archive; member
2147 FrArchive *archive = ad_data->archive; in add_directory__step2() local
2150 fr_archive_action_completed (archive, in add_directory__step2()
2157 fr_archive_action_completed (archive, in add_directory__step2()
2162 if (archive->command->propAddCanStoreFolders) in add_directory__step2()
2168 fr_archive_add_files (ad_data->archive, in add_directory__step2()
2185 fr_archive_add_directory (FrArchive *archive, in fr_archive_add_directory() argument
2198 g_return_if_fail (! archive->read_only); in fr_archive_add_directory()
2201 ad_data->archive = archive; in fr_archive_add_directory()
2210 g_signal_emit (G_OBJECT (archive), in fr_archive_add_directory()
2218 archive->priv->cancellable, in fr_archive_add_directory()
2225 fr_archive_add_items (FrArchive *archive, in fr_archive_add_items() argument
2238 g_return_if_fail (! archive->read_only); in fr_archive_add_items()
2241 ad_data->archive = archive; in fr_archive_add_items()
2250 g_signal_emit (G_OBJECT (archive), in fr_archive_add_items()
2257 archive->priv->cancellable, in fr_archive_add_items()
2306 FrArchive *archive = data->archive; in add_dropped_items() local
2311 dropped_items_data_free (archive->priv->dropped_items_data); in add_dropped_items()
2312 archive->priv->dropped_items_data = NULL; in add_dropped_items()
2313 fr_archive_action_completed (archive, in add_dropped_items()
2326 fr_archive_add_items (data->archive, in add_dropped_items()
2337 dropped_items_data_free (archive->priv->dropped_items_data); in add_dropped_items()
2338 archive->priv->dropped_items_data = NULL; in add_dropped_items()
2354 archive->priv->continue_adding_dropped_items = TRUE; in add_dropped_items()
2357 fr_archive_add_directory (archive, in add_dropped_items()
2388 fr_archive_add_files (archive, in add_dropped_items()
2407 fr_archive_stoppable (archive, FALSE); in add_dropped_items()
2408archive->command->creating_archive = ! g_file_query_exists (archive->local_copy, archive->priv->ca… in add_dropped_items()
2409 g_object_set (archive->command, in add_dropped_items()
2410 "file", archive->local_copy, in add_dropped_items()
2416 fr_process_clear (archive->process); in add_dropped_items()
2417 fr_command_uncompress (archive->command); in add_dropped_items()
2425 fr_command_add (archive->command, in add_dropped_items()
2434 fr_command_recompress (archive->command); in add_dropped_items()
2435 fr_process_start (archive->process); in add_dropped_items()
2443 fr_archive_add_dropped_items (FrArchive *archive, in fr_archive_add_dropped_items() argument
2456 if (archive->read_only) { in fr_archive_add_dropped_items()
2457 fr_archive_action_completed (archive, in fr_archive_add_dropped_items()
2460 …! archive->have_permissions ? _("You don't have the right permissions.") : _("This archive type ca… in fr_archive_add_dropped_items()
2465 archive_uri = g_file_get_uri (archive->file); in fr_archive_add_dropped_items()
2469 fr_archive_action_completed (archive, in fr_archive_add_dropped_items()
2478 if (archive->priv->dropped_items_data != NULL) in fr_archive_add_dropped_items()
2479 dropped_items_data_free (archive->priv->dropped_items_data); in fr_archive_add_dropped_items()
2480 archive->priv->dropped_items_data = dropped_items_data_new ( in fr_archive_add_dropped_items()
2481 archive, in fr_archive_add_dropped_items()
2490 add_dropped_items (archive->priv->dropped_items_data); in fr_archive_add_dropped_items()
2517 archive_type_has_issues_deleting_non_empty_folders (FrArchive *archive) in archive_type_has_issues_deleting_non_empty_folders() argument
2519 return ! archive->command->propCanDeleteNonEmptyFolders; in archive_type_has_issues_deleting_non_empty_folders()
2524 delete_from_archive (FrArchive *archive, in delete_from_archive() argument
2537 for (i = 0; i < archive->command->files->len; i++) { in delete_from_archive()
2538 FileData *fdata = g_ptr_array_index (archive->command->files, i); in delete_from_archive()
2545 if (archive_type_has_issues_deleting_non_empty_folders (archive)) { in delete_from_archive()
2578 fr_command_set_n_files (archive->command, g_list_length (tmp_file_list)); in delete_from_archive()
2580 if (archive->command->propListFromFile in delete_from_archive()
2581 && (archive->command->n_files > LIST_LENGTH_TO_USE_FILE)) in delete_from_archive()
2587 fr_command_delete (archive->command, in delete_from_archive()
2593 fr_process_begin_command (archive->process, "rm"); in delete_from_archive()
2594 fr_process_set_working_dir (archive->process, g_get_tmp_dir()); in delete_from_archive()
2595 fr_process_set_sticky (archive->process, TRUE); in delete_from_archive()
2596 fr_process_add_arg (archive->process, "-rf"); in delete_from_archive()
2597 fr_process_add_arg (archive->process, list_dir); in delete_from_archive()
2598 fr_process_end_command (archive->process); in delete_from_archive()
2622 fr_command_delete (archive->command, NULL, chunk_list); in delete_from_archive()
2632 fr_archive_remove (FrArchive *archive, in fr_archive_remove() argument
2640 g_return_if_fail (archive != NULL); in fr_archive_remove()
2642 if (archive->read_only) in fr_archive_remove()
2645 fr_archive_stoppable (archive, TRUE); in fr_archive_remove()
2646 archive->command->creating_archive = FALSE; in fr_archive_remove()
2647 g_object_set (archive->command, "compression", compression, NULL); in fr_archive_remove()
2661 local_copy_parent = g_file_get_parent (archive->local_copy); in fr_archive_remove()
2664 archive_filename = g_file_get_path (archive->local_copy); in fr_archive_remove()
2667 g_object_set (archive->command, "file", tmp_file, NULL); in fr_archive_remove()
2669 if (! archive->command->creating_archive) { in fr_archive_remove()
2672 fr_process_begin_command (archive->process, "cp"); in fr_archive_remove()
2673 fr_process_add_arg (archive->process, "-f"); in fr_archive_remove()
2674 fr_process_add_arg (archive->process, archive_filename); in fr_archive_remove()
2675 fr_process_add_arg (archive->process, tmp_archive_filename); in fr_archive_remove()
2676 fr_process_end_command (archive->process); in fr_archive_remove()
2686 fr_command_uncompress (archive->command); in fr_archive_remove()
2687 delete_from_archive (archive, file_list); in fr_archive_remove()
2688 fr_command_recompress (archive->command); in fr_archive_remove()
2692 fr_process_begin_command (archive->process, "mv"); in fr_archive_remove()
2693 fr_process_add_arg (archive->process, "-f"); in fr_archive_remove()
2694 fr_process_add_arg (archive->process, tmp_archive_filename); in fr_archive_remove()
2695 fr_process_add_arg (archive->process, archive_filename); in fr_archive_remove()
2696 fr_process_end_command (archive->process); in fr_archive_remove()
2700 fr_process_begin_command (archive->process, "rm"); in fr_archive_remove()
2701 fr_process_set_working_dir (archive->process, g_get_tmp_dir()); in fr_archive_remove()
2702 fr_process_set_sticky (archive->process, TRUE); in fr_archive_remove()
2703 fr_process_add_arg (archive->process, "-rf"); in fr_archive_remove()
2704 fr_process_add_arg (archive->process, tmp_archive_dir); in fr_archive_remove()
2705 fr_process_end_command (archive->process); in fr_archive_remove()
2717 move_files_to_dir (FrArchive *archive, in move_files_to_dir() argument
2740 fr_process_begin_command (archive->process, "cp"); in move_files_to_dir()
2741 fr_process_add_arg (archive->process, "-R"); in move_files_to_dir()
2743 fr_process_add_arg (archive->process, "-f"); in move_files_to_dir()
2745 fr_process_add_arg (archive->process, "-n"); in move_files_to_dir()
2747 fr_process_add_arg_concat (archive->process, source_dir, filename, NULL); in move_files_to_dir()
2749 fr_process_add_arg_concat (archive->process, source_dir, "/", filename, NULL); in move_files_to_dir()
2750 fr_process_add_arg (archive->process, dest_dir); in move_files_to_dir()
2751 fr_process_end_command (archive->process); in move_files_to_dir()
2768 fr_process_begin_command (archive->process, "mv"); in move_files_to_dir()
2770 fr_process_add_arg (archive->process, "-f"); in move_files_to_dir()
2772 fr_process_add_arg (archive->process, "-n"); in move_files_to_dir()
2777 fr_process_add_arg_concat (archive->process, source_dir, filename, NULL); in move_files_to_dir()
2779 fr_process_add_arg_concat (archive->process, source_dir, "/", filename, NULL); in move_files_to_dir()
2781 fr_process_add_arg (archive->process, dest_dir); in move_files_to_dir()
2782 fr_process_end_command (archive->process); in move_files_to_dir()
2789 move_files_in_chunks (FrArchive *archive, in move_files_in_chunks() argument
2817 move_files_to_dir (archive, chunk_list, temp_dir, dest_dir, overwrite); in move_files_in_chunks()
2824 extract_from_archive (FrArchive *archive, in extract_from_archive() argument
2832 FrCommand *command = archive->command; in extract_from_archive()
2865 fr_process_begin_command (archive->process, "rm"); in extract_from_archive()
2866 fr_process_set_working_dir (archive->process, g_get_tmp_dir()); in extract_from_archive()
2867 fr_process_set_sticky (archive->process, TRUE); in extract_from_archive()
2868 fr_process_add_arg (archive->process, "-rf"); in extract_from_archive()
2869 fr_process_add_arg (archive->process, list_dir); in extract_from_archive()
2870 fr_process_end_command (archive->process); in extract_from_archive()
2999 archive_type_has_issues_extracting_non_empty_folders (FrArchive *archive) in archive_type_has_issues_extracting_non_empty_folders() argument
3003 return ! archive->command->propCanExtractNonEmptyFolders; in archive_type_has_issues_extracting_non_empty_folders()
3055 fr_archive_extract_to_local (FrArchive *archive, in fr_archive_extract_to_local() argument
3072 g_return_if_fail (archive != NULL); in fr_archive_extract_to_local()
3074 fr_archive_stoppable (archive, TRUE); in fr_archive_extract_to_local()
3075 g_object_set (archive->command, "file", archive->local_copy, NULL); in fr_archive_extract_to_local()
3085 && ! (! overwrite && ! archive->command->propExtractCanAvoidOverwrite) in fr_archive_extract_to_local()
3086 && ! (skip_older && ! archive->command->propExtractCanSkipOlder) in fr_archive_extract_to_local()
3087 && ! (junk_paths && ! archive->command->propExtractCanJunkPaths)); in fr_archive_extract_to_local()
3090 if (extract_all && (! all_options_supported || ! archive->command->propCanExtractAll)) { in fr_archive_extract_to_local()
3094 for (i = 0; i < archive->command->files->len; i++) { in fr_archive_extract_to_local()
3095 FileData *fdata = g_ptr_array_index (archive->command->files, i); in fr_archive_extract_to_local()
3102 fr_command_set_n_files (archive->command, archive->command->n_regular_files); in fr_archive_extract_to_local()
3104 fr_command_set_n_files (archive->command, g_list_length (file_list)); in fr_archive_extract_to_local()
3109 if (! extract_all && archive_type_has_issues_extracting_non_empty_folders (archive)) { in fr_archive_extract_to_local()
3120 extract_from_archive (archive, in fr_archive_extract_to_local()
3141 && ! archive->command->propExtractCanJunkPaths))); in fr_archive_extract_to_local()
3147 for (i = 0; i < archive->command->files->len; i++) { in fr_archive_extract_to_local()
3148 FileData *fdata = g_ptr_array_index (archive->command->files, i); in fr_archive_extract_to_local()
3162 fdata = find_file_in_archive (archive, archive_list_filename); in fr_archive_extract_to_local()
3167 if (archive_type_has_issues_extracting_non_empty_folders (archive) in fr_archive_extract_to_local()
3189 if (! archive->command->propExtractCanSkipOlder in fr_archive_extract_to_local()
3195 if (! archive->command->propExtractCanAvoidOverwrite in fr_archive_extract_to_local()
3210 fr_archive_action_completed (archive, in fr_archive_extract_to_local()
3221 extract_from_archive (archive, in fr_archive_extract_to_local()
3230 …GList *tmp_list = compute_list_base_path (base_dir, filtered, junk_paths, archive->command->propEx… in fr_archive_extract_to_local()
3235 move_files_in_chunks (archive, in fr_archive_extract_to_local()
3243 fr_process_begin_command (archive->process, "rm"); in fr_archive_extract_to_local()
3244 fr_process_add_arg (archive->process, "-rf"); in fr_archive_extract_to_local()
3245 fr_process_add_arg (archive->process, temp_dir); in fr_archive_extract_to_local()
3246 fr_process_end_command (archive->process); in fr_archive_extract_to_local()
3251 extract_from_archive (archive, in fr_archive_extract_to_local()
3267 fr_archive_extract (FrArchive *archive, in fr_archive_extract() argument
3276 g_free (archive->priv->extraction_destination); in fr_archive_extract()
3277 archive->priv->extraction_destination = g_strdup (destination); in fr_archive_extract()
3279 g_free (archive->priv->temp_extraction_dir); in fr_archive_extract()
3280 archive->priv->temp_extraction_dir = NULL; in fr_archive_extract()
3282 archive->priv->remote_extraction = ! uri_is_local (destination); in fr_archive_extract()
3283 if (archive->priv->remote_extraction) { in fr_archive_extract()
3284 archive->priv->temp_extraction_dir = get_temp_work_dir (NULL); in fr_archive_extract()
3285 fr_archive_extract_to_local (archive, in fr_archive_extract()
3287 archive->priv->temp_extraction_dir, in fr_archive_extract()
3298 fr_archive_extract_to_local (archive, in fr_archive_extract()
3386 fr_archive_extract_here (FrArchive *archive, in fr_archive_extract_here() argument
3395 destination = get_extract_here_destination (archive->file, &error); in fr_archive_extract_here()
3397 fr_archive_action_completed (archive, in fr_archive_extract_here()
3405 archive->priv->extract_here = TRUE; in fr_archive_extract_here()
3406 fr_archive_extract (archive, in fr_archive_extract_here()
3422 fr_archive_get_last_extraction_destination (FrArchive *archive) in fr_archive_get_last_extraction_destination() argument
3424 return archive->priv->extraction_destination; in fr_archive_get_last_extraction_destination()
3429 fr_archive_test (FrArchive *archive, in fr_archive_test() argument
3432 fr_archive_stoppable (archive, TRUE); in fr_archive_test()
3434 g_object_set (archive->command, in fr_archive_test()
3435 "file", archive->local_copy, in fr_archive_test()
3438 fr_process_clear (archive->process); in fr_archive_test()
3439 fr_command_set_n_files (archive->command, 0); in fr_archive_test()
3440 fr_command_test (archive->command); in fr_archive_test()
3441 fr_process_start (archive->process); in fr_archive_test()