## FmFileOpsJob

FmFileOpsJob

## Synopsis

    #define             FM_FILE_OPS_JOB_TYPE
    struct              FmFileOpsJob;
    struct              FmFileOpsJobClass;
    FmFileOpOption      fm_file_ops_job_ask_rename          (FmFileOpsJob *job,
                                                             GFile *src,
                                                             GFileInfo *src_inf,
                                                             GFile *dest,
                                                             GFile **new_dest);
    void                fm_file_ops_job_emit_cur_file       (FmFileOpsJob *job,
                                                             const char *cur_file);
    void                fm_file_ops_job_emit_percent        (FmFileOpsJob *job);
    void                fm_file_ops_job_emit_prepared       (FmFileOpsJob *job);
    FmPath *            fm_file_ops_job_get_dest            (FmFileOpsJob *job);
    FmJob *             fm_file_ops_job_new                 (FmFileOpType type,
                                                             FmPathList *files);
    void                fm_file_ops_job_set_chmod           (FmFileOpsJob *job,
                                                             mode_t new_mode,
                                                             mode_t new_mode_mask);
    void                fm_file_ops_job_set_chown           (FmFileOpsJob *job,
                                                             guint uid,
                                                             guint gid);
    void                fm_file_ops_job_set_dest            (FmFileOpsJob *job,
                                                             FmPath *dest);
    void                fm_file_ops_job_set_recursive       (FmFileOpsJob *job,
                                                             gboolean recursive);

## Object Hierarchy

      GObject
       +----FmJob
             +----FmFileOpsJob

## Signals

      "ask-rename"                                     : Run Last
      "cur-file"                                       : Run First
      "percent"                                        : Run First
      "prepared"                                       : Run First

## Description

## Details

### FM_FILE_OPS_JOB_TYPE

    #define FM_FILE_OPS_JOB_TYPE                (fm_file_ops_job_get_type())

### struct FmFileOpsJob

    struct FmFileOpsJob;

### struct FmFileOpsJobClass

    struct FmFileOpsJobClass {
        FmJobClass parent_class;
        void (*cur_file)(FmFileOpsJob* job, FmPath* file);
        void (*percent)(FmFileOpsJob* job, guint percent);
        FmFileOpOption (*ask_rename)(FmFileOpsJob* job, FmFileInfo* src, FmFileInfo* dest, char** new_name);
    };

### fm_file_ops_job_ask_rename ()

    FmFileOpOption      fm_file_ops_job_ask_rename          (FmFileOpsJob *job,
                                                             GFile *src,
                                                             GFileInfo *src_inf,
                                                             GFile *dest,
                                                             GFile **new_dest);

### fm_file_ops_job_emit_cur_file ()

    void                fm_file_ops_job_emit_cur_file       (FmFileOpsJob *job,
                                                             const char *cur_file);

### fm_file_ops_job_emit_percent ()

    void                fm_file_ops_job_emit_percent        (FmFileOpsJob *job);

### fm_file_ops_job_emit_prepared ()

    void                fm_file_ops_job_emit_prepared       (FmFileOpsJob *job);

### fm_file_ops_job_get_dest ()

    FmPath *            fm_file_ops_job_get_dest            (FmFileOpsJob *job);

### fm_file_ops_job_new ()

    FmJob *             fm_file_ops_job_new                 (FmFileOpType type,
                                                             FmPathList *files);

### fm_file_ops_job_set_chmod ()

    void                fm_file_ops_job_set_chmod           (FmFileOpsJob *job,
                                                             mode_t new_mode,
                                                             mode_t new_mode_mask);

### fm_file_ops_job_set_chown ()

    void                fm_file_ops_job_set_chown           (FmFileOpsJob *job,
                                                             guint uid,
                                                             guint gid);

### fm_file_ops_job_set_dest ()

    void                fm_file_ops_job_set_dest            (FmFileOpsJob *job,
                                                             FmPath *dest);

### fm_file_ops_job_set_recursive ()

    void                fm_file_ops_job_set_recursive       (FmFileOpsJob *job,
                                                             gboolean recursive);

## Signal Details

### The `"ask-rename"` signal

    gint                user_function                      (FmFileOpsJob *fmfileopsjob,
                                                            gpointer      arg1,
                                                            gpointer      arg2,
                                                            gpointer      arg3,
                                                            gpointer      user_data)         : Run Last

### The `"cur-file"` signal

    void                user_function                      (FmFileOpsJob *fmfileopsjob,
                                                            gpointer      arg1,
                                                            gpointer      user_data)         : Run First

### The `"percent"` signal

    void                user_function                      (FmFileOpsJob *fmfileopsjob,
                                                            guint         arg1,
                                                            gpointer      user_data)         : Run First

### The `"prepared"` signal

    void                user_function                      (FmFileOpsJob *fmfileopsjob,
                                                            gpointer      user_data)         : Run First