## BraseroTrackData

BraseroTrackData

## Synopsis

                        BraseroGraftPt;
    void                brasero_graft_point_free            (BraseroGraftPt *graft);
    BraseroGraftPt *    brasero_graft_point_copy            (BraseroGraftPt *graft);
                        BraseroTrackData;
    BraseroTrackData *  brasero_track_data_new              (void);
    BraseroBurnResult   brasero_track_data_set_source       (BraseroTrackData *track,
                                                             GSList *grafts,
                                                             GSList *unreadable);
    BraseroBurnResult   brasero_track_data_add_fs           (BraseroTrackData *track,
                                                             BraseroImageFS fstype);
    BraseroBurnResult   brasero_track_data_rm_fs            (BraseroTrackData *track,
                                                             BraseroImageFS fstype);
    BraseroBurnResult   brasero_track_data_set_data_blocks  (BraseroTrackData *track,
                                                             goffset blocks);
    BraseroBurnResult   brasero_track_data_set_file_num     (BraseroTrackData *track,
                                                             guint64 number);
    GSList *            brasero_track_data_get_grafts       (BraseroTrackData *track);
    BraseroBurnResult   brasero_track_data_get_file_num     (BraseroTrackData *track,
                                                             guint64 *file_num);
    BraseroImageFS      brasero_track_data_get_fs           (BraseroTrackData *track);

## Description

## Details

### BraseroGraftPt

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

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

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

### brasero_graft_point_free ()

    void                brasero_graft_point_free            (BraseroGraftPt *graft);

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

`graft` : | a BraseroGraftPt

### brasero_graft_point_copy ()

    BraseroGraftPt *    brasero_graft_point_copy            (BraseroGraftPt *graft);

Copies `graft`.

`graft` : | a BraseroGraftPt
Returns : | a BraseroGraftPt.

### BraseroTrackData

    typedef struct {
    	BraseroTrack parent_instance;
    } BraseroTrackData;

### brasero_track_data_new ()

    BraseroTrackData *  brasero_track_data_new              (void);

Creates a new BraseroTrackData.

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

Returns : | a BraseroTrackData

### brasero_track_data_set_source ()

    BraseroBurnResult   brasero_track_data_set_source       (BraseroTrackData *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.

`track` : | a BraseroTrackData.
`grafts` : | a GSList of BraseroGraftPt. [element-type BraseroBurn.GraftPt][in BraseroBurn.GraftPt][transfer full BraseroBurn.GraftPt]
`unreadable` : | a GSList of URIS as strings or `NULL`. [element-type utf8][allow-none utf8][in utf8][transfer full utf8]
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.

### brasero_track_data_add_fs ()

    BraseroBurnResult   brasero_track_data_add_fs           (BraseroTrackData *track,
                                                             BraseroImageFS fstype);

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

`track` : | a BraseroTrackData
`fstype` : | a BraseroImageFS
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.

### brasero_track_data_rm_fs ()

    BraseroBurnResult   brasero_track_data_rm_fs            (BraseroTrackData *track,
                                                             BraseroImageFS fstype);

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

`track` : | a BraseroTrackData
`fstype` : | a BraseroImageFS
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.

### brasero_track_data_set_data_blocks ()

    BraseroBurnResult   brasero_track_data_set_data_blocks  (BraseroTrackData *track,
                                                             goffset blocks);

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

`track` : | a BraseroTrackData
`blocks` : | a goffset
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.

### brasero_track_data_set_file_num ()

    BraseroBurnResult   brasero_track_data_set_file_num     (BraseroTrackData *track,
                                                             guint64 number);

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

`track` : | a BraseroTrackData
`number` : | a guint64
Returns : | a BraseroBurnResult. BRASERO_BURN_OK if it was successful, BRASERO_BURN_ERR otherwise.

### brasero_track_data_get_grafts ()

    GSList *            brasero_track_data_get_grafts       (BraseroTrackData *track);

Returns a list of BraseroGraftPt.

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

`track` : | a BraseroTrackData
Returns : | a GSList of BraseroGraftPt or `NULL` if empty. [transfer none][element-type BraseroBurn.GraftPt][allow-none BraseroBurn.GraftPt]

### brasero_track_data_get_file_num ()

    BraseroBurnResult   brasero_track_data_get_file_num     (BraseroTrackData *track,
                                                             guint64 *file_num);

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

`track` : | a BraseroTrackData.
`file_num` : | a guint64 or `NULL`. [allow-none][out]
Returns : | a BraseroBurnResult. `TRUE` if `file_num` was set, `FALSE` otherwise.

### brasero_track_data_get_fs ()

    BraseroImageFS      brasero_track_data_get_fs           (BraseroTrackData *track);

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

`track` : | a BraseroTrackData
Returns : | a BraseroImageFS.