## nautilus-burn-process

nautilus-burn-process

## Synopsis

                        NautilusBurnProcess;
                        NautilusBurnProcessFuncs;
    gboolean            (*NautilusBurnProcessLineFunc)      (NautilusBurnProcess *process,
                                                             const char *line,
                                                             gpointer data);
    #define             NAUTILUS_BURN_PROCESS_ERROR
    GQuark              nautilus_burn_process_error_quark   (void);
    enum                NautilusBurnProcessError;
    NautilusBurnProcess* nautilus_burn_process_new          (void);
    void                nautilus_burn_process_free          (NautilusBurnProcess *process);
    gboolean            nautilus_burn_process_cancel        (NautilusBurnProcess *process,
                                                             gboolean skip_if_dangerous);
    int                 nautilus_burn_process_run           (NautilusBurnProcess *process,
                                                             GPtrArray *argv,
                                                             NautilusBurnProcessLineFunc out_line_func,
                                                             NautilusBurnProcessLineFunc err_line_func,
                                                             gpointer data,
                                                             GError **error);
    gboolean            nautilus_burn_process_set_error     (NautilusBurnProcess *process,
                                                             const char *message,
                                                             int code);
    gboolean            nautilus_burn_process_get_error     (NautilusBurnProcess *process,
                                                             char **message,
                                                             int *code);

## Description

## Details

### NautilusBurnProcess

    typedef struct {
            GMainLoop                *loop;
            GPid                      pid;

            int                       result;
            char                     *last_error;

            GString                  *line;
            GString                  *line_stderr;
            NautilusBurnProcessFuncs *funcs;

            int                       pipe_stdin;

            time_t                    start_time;
            gint64                    start_num;
            GList                    *rates;

            gboolean                  changed_text;
            gboolean                  expect_process_to_die;

            gboolean                  dangerous;
            gboolean                  debug;

            guint                     hup_refcount;
    } NautilusBurnProcess;

### NautilusBurnProcessFuncs

    typedef struct {
            gboolean (* out_line) (NautilusBurnProcess *process,
                                   const char          *line,
                                   gpointer             data);
            gboolean (* err_line) (NautilusBurnProcess *process,
                                   const char          *line,
                                   gpointer             data);
    } NautilusBurnProcessFuncs;

### NautilusBurnProcessLineFunc ()

    gboolean            (*NautilusBurnProcessLineFunc)      (NautilusBurnProcess *process,
                                                             const char *line,
                                                             gpointer data);

`process` : |
`line` : |
`data` : |
Returns : |

### NAUTILUS_BURN_PROCESS_ERROR

    #define NAUTILUS_BURN_PROCESS_ERROR nautilus_burn_process_error_quark ()

### nautilus_burn_process_error_quark ()

    GQuark              nautilus_burn_process_error_quark   (void);

Returns : |

### enum NautilusBurnProcessError

    typedef enum {
            NAUTILUS_BURN_PROCESS_ERROR_INTERNAL,
            NAUTILUS_BURN_PROCESS_ERROR_GENERAL
    } NautilusBurnProcessError;

### nautilus_burn_process_new ()

    NautilusBurnProcess* nautilus_burn_process_new          (void);

Returns : |

### nautilus_burn_process_free ()

    void                nautilus_burn_process_free          (NautilusBurnProcess *process);

`process` : |

### nautilus_burn_process_cancel ()

    gboolean            nautilus_burn_process_cancel        (NautilusBurnProcess *process,
                                                             gboolean skip_if_dangerous);

`process` : |
`skip_if_dangerous` : |
Returns : |

### nautilus_burn_process_run ()

    int                 nautilus_burn_process_run           (NautilusBurnProcess *process,
                                                             GPtrArray *argv,
                                                             NautilusBurnProcessLineFunc out_line_func,
                                                             NautilusBurnProcessLineFunc err_line_func,
                                                             gpointer data,
                                                             GError **error);

`process` : |
`argv` : |
`out_line_func` : |
`err_line_func` : |
`data` : |
`error` : |
Returns : |

### nautilus_burn_process_set_error ()

    gboolean            nautilus_burn_process_set_error     (NautilusBurnProcess *process,
                                                             const char *message,
                                                             int code);

`process` : |
`message` : |
`code` : |
Returns : |

### nautilus_burn_process_get_error ()

    gboolean            nautilus_burn_process_get_error     (NautilusBurnProcess *process,
                                                             char **message,
                                                             int *code);

`process` : |
`message` : |
`code` : |
Returns : |