## thunar-io-jobs thunar-io-jobs |

## Functions

ThunarJob * | thunar_io_jobs_create_files ()
ThunarJob * | thunar_io_jobs_make_directories ()
ThunarJob * | thunar_io_jobs_unlink_files ()
ThunarJob * | thunar_io_jobs_move_files ()
ThunarJob * | thunar_io_jobs_copy_files ()
ThunarJob * | thunar_io_jobs_link_files ()
ThunarJob * | thunar_io_jobs_trash_files ()
ThunarJob * | thunar_io_jobs_restore_files ()
ThunarJob * | thunar_io_jobs_change_group ()
ThunarJob * | thunar_io_jobs_change_mode ()
ThunarJob * | thunar_io_jobs_list_directory ()
ThunarJob * | thunar_io_jobs_rename_file ()
ThunarJob * | thunar_io_jobs_count_files ()
ThunarJob * | thunar_io_jobs_search_directory ()
ThunarJob * | thunar_io_jobs_clear_metadata_for_files ()
ThunarJob * | thunar_io_jobs_set_metadata_for_files ()
ThunarJob * | thunar_io_jobs_load_content_types ()
ThunarJob * | thunar_io_jobs_load_statusbar_text_for_folder ()
ThunarJob * | thunar_io_jobs_load_statusbar_text_for_selection ()

## Description

## Functions

### thunar_io_jobs_create_files ()

    ThunarJob *
    thunar_io_jobs_create_files (GList *file_list,
                                 GFile *template_file);

### thunar_io_jobs_make_directories ()

    ThunarJob *
    thunar_io_jobs_make_directories (GList *file_list);

### thunar_io_jobs_unlink_files ()

    ThunarJob *
    thunar_io_jobs_unlink_files (GList *file_list);

### thunar_io_jobs_move_files ()

    ThunarJob *
    thunar_io_jobs_move_files (GList *source_file_list,
                               GList *target_file_list);

### thunar_io_jobs_copy_files ()

    ThunarJob *
    thunar_io_jobs_copy_files (GList *source_file_list,
                               GList *target_file_list);

### thunar_io_jobs_link_files ()

    ThunarJob *
    thunar_io_jobs_link_files (GList *source_file_list,
                               GList *target_file_list);

### thunar_io_jobs_trash_files ()

    ThunarJob *
    thunar_io_jobs_trash_files (GList *file_list);

### thunar_io_jobs_restore_files ()

    ThunarJob *
    thunar_io_jobs_restore_files (GList *source_file_list,
                                  GList *target_file_list);

### thunar_io_jobs_change_group ()

    ThunarJob *
    thunar_io_jobs_change_group (GList *files,
                                 guint32 gid,
                                 gboolean recursive);

### thunar_io_jobs_change_mode ()

    ThunarJob *
    thunar_io_jobs_change_mode (GList *files,
                                ThunarFileMode dir_mask,
                                ThunarFileMode dir_mode,
                                ThunarFileMode file_mask,
                                ThunarFileMode file_mode,
                                gboolean recursive);

### thunar_io_jobs_list_directory ()

    ThunarJob *
    thunar_io_jobs_list_directory (GFile *directory);

### thunar_io_jobs_rename_file ()

    ThunarJob *
    thunar_io_jobs_rename_file (ThunarFile *file,
                                const gchar *display_name,
                                ThunarOperationLogMode log_mode);

### thunar_io_jobs_count_files ()

    ThunarJob *
    thunar_io_jobs_count_files (ThunarFile *file);

### thunar_io_jobs_search_directory ()

    ThunarJob *
    thunar_io_jobs_search_directory (ThunarStandardViewModel *model,
                                     const gchar *search_query,
                                     ThunarFile *directory);

### thunar_io_jobs_clear_metadata_for_files ()

    ThunarJob *
    thunar_io_jobs_clear_metadata_for_files
                                   (GList *files,
                                    ...);

Accepts a variable length metadata_setting_names to clear for `files` .

Note: the reason for making this func variable length is that by clearing multiple metadata at once we don't have to call this func for each metadata setting. Individual calls would trigger multiple threads which would then require a mutex logic to handle callback.

#### Parameters

files | a GList of ThunarFiles |
first_metadata_setting_name | the setting name to set |
... | followed by the corresponding setting value and more setting_name/value pairs, finally ending with a `NULL` |

### thunar_io_jobs_set_metadata_for_files ()

    ThunarJob *
    thunar_io_jobs_set_metadata_for_files (GList *files,
                                           ThunarGType type,
                                           ...);

Accepts a variable length metadata setting_name & setting_value pairs to set for `files` .

Note: the reason for making this func variable length is that by clearing multiple metadata at once we don't have to call this func for each metadata setting. Individual calls would trigger multiple threads which would then require a mutex logic to handle callback.

#### Parameters

files | a GList of ThunarFiles |
type | ThunarGType of the metadata |
first_metadata_setting_name | the setting name to set |
... | followed by the corresponding setting value and more setting_name/value pairs, finally ending with a `NULL` |

### thunar_io_jobs_load_content_types ()

    ThunarJob *
    thunar_io_jobs_load_content_types (GHashTable *files);

Loads the content types of the passed ThunarFiles in a separate thread. When loaded,'thunar_file_set_content_type' is called for each ThunarFile. Sice that happens from within a separate thread, 'thunar_file_set_content_type' has to care for mutex protection.

#### Parameters

files | a GList of ThunarFiles |

#### Returns

the ThunarJob which manages the separate thread.

[transfer none]

### thunar_io_jobs_load_statusbar_text_for_folder ()

    ThunarJob *
    thunar_io_jobs_load_statusbar_text_for_folder
                                   (ThunarStandardView *standard_view,
                                    ThunarFolder *folder);

### thunar_io_jobs_load_statusbar_text_for_selection ()

    ThunarJob *
    thunar_io_jobs_load_statusbar_text_for_selection
                                   (ThunarStandardView *standard_view,
                                    GHashTable *selected_files);