## BurnerTrackData

BurnerTrackData

## Functions

void | burner_graft_point_free ()
BurnerGraftPt * | burner_graft_point_copy ()
BurnerTrackData * | burner_track_data_new ()
BurnerBurnResult | burner_track_data_set_source ()
BurnerBurnResult | burner_track_data_add_fs ()
BurnerBurnResult | burner_track_data_rm_fs ()
BurnerBurnResult | burner_track_data_set_data_blocks ()
BurnerBurnResult | burner_track_data_set_file_num ()
GSList * | burner_track_data_get_grafts ()
BurnerBurnResult | burner_track_data_get_file_num ()
BurnerImageFS | burner_track_data_get_fs ()

## Types and Values

| BurnerGraftPt
struct | BurnerTrackData

## Description

## Functions

### burner_graft_point_free ()

    void
    burner_graft_point_free (BurnerGraftPt *graft);

Frees `graft` . Do not use `grafts` afterwards.

#### Parameters

graft | a BurnerGraftPt |

### burner_graft_point_copy ()

    BurnerGraftPt *
    burner_graft_point_copy (BurnerGraftPt *graft);

Copies `graft` .

#### Parameters

graft | a BurnerGraftPt |

#### Returns

a BurnerGraftPt.

### burner_track_data_new ()

    BurnerTrackData *
    burner_track_data_new (void);

Creates a new BurnerTrackData.

This type of tracks is used to create a disc image from or burn a selection of files.

#### Returns

a BurnerTrackData

### burner_track_data_set_source ()

    BurnerBurnResult
    burner_track_data_set_source (BurnerTrackData *track,
                                  GSList *grafts,
                                  GSList *unreadable);

Sets the lists of grafts points (`grafts` ) and excluded URIs (`unreadable` ) to be used to create an image.

Be careful `track` takes ownership of `grafts` and `unreadable` which must not be freed afterwards.

#### Parameters

track | a BurnerTrackData. |
grafts | a GSList of BurnerGraftPt. | [element-type BurnerBurn.GraftPt][in][transfer full]
unreadable | a GSList of URIS as strings or `NULL`. | [element-type utf8][allow-none][in][transfer full]

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if it was successful, BURNER_BURN_ERR otherwise.

### burner_track_data_add_fs ()

    BurnerBurnResult
    burner_track_data_add_fs (BurnerTrackData *track,
                              BurnerImageFS fstype);

Adds one or more parameters determining the file system type and various other options to create an image.

#### Parameters

track | a BurnerTrackData |
fstype | a BurnerImageFS |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if it was successful, BURNER_BURN_ERR otherwise.

### burner_track_data_rm_fs ()

    BurnerBurnResult
    burner_track_data_rm_fs (BurnerTrackData *track,
                             BurnerImageFS fstype);

Removes one or more parameters determining the file system type and various other options to create an image.

#### Parameters

track | a BurnerTrackData |
fstype | a BurnerImageFS |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if it was successful, BURNER_BURN_ERR otherwise.

### burner_track_data_set_data_blocks ()

    BurnerBurnResult
    burner_track_data_set_data_blocks (BurnerTrackData *track,
                                       goffset blocks);

Sets the size of the image to be created (in sectors of 2048 bytes).

#### Parameters

track | a BurnerTrackData |
blocks | a goffset |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if it was successful, BURNER_BURN_ERR otherwise.

### burner_track_data_set_file_num ()

    BurnerBurnResult
    burner_track_data_set_file_num (BurnerTrackData *track,
                                    guint64 number);

Sets the number of files (not directories) in `track` .

#### Parameters

track | a BurnerTrackData |
number | a guint64 |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if it was successful, BURNER_BURN_ERR otherwise.

### burner_track_data_get_grafts ()

    GSList *
    burner_track_data_get_grafts (BurnerTrackData *track);

Returns a list of BurnerGraftPt.

Do not free after usage as `track` retains ownership.

#### Parameters

track | a BurnerTrackData |

#### Returns

a GSList of BurnerGraftPt or `NULL` if empty.

[transfer none][element-type BurnerBurn.GraftPt][allow-none]

### burner_track_data_get_file_num ()

    BurnerBurnResult
    burner_track_data_get_file_num (BurnerTrackData *track,
                                    guint64 *file_num);

Sets the number of files (not directories) in `file_num` .

#### Parameters

track | a BurnerTrackData. |
file_num | a guint64 or `NULL`. | [allow-none][out]

#### Returns

a BurnerBurnResult. `TRUE` if `file_num` was set, `FALSE` otherwise.

### burner_track_data_get_fs ()

    BurnerImageFS
    burner_track_data_get_fs (BurnerTrackData *track);

Returns the parameters determining the file system type and various other options to create an image.

#### Parameters

track | a BurnerTrackData |

#### Returns

a BurnerImageFS.

## Types and Values

### BurnerGraftPt

    typedef struct {
    	gchar *uri;
    	gchar *path;
    } BurnerGraftPt;

A pair of strings describing: `uri` the actual current location of the file `path` the path of the file on the future ISO9660/UDF/... filesystem

#### Members

gchar *`uri`; | a URI |
gchar *`path`; | a file path |

### struct BurnerTrackData

    struct BurnerTrackData {
    	BurnerTrack parent_instance;
    };