## BurnerSessionSpan

BurnerSessionSpan

## Functions

BurnerSessionSpan * | burner_session_span_new ()
BurnerBurnResult | burner_session_span_again ()
BurnerBurnResult | burner_session_span_possible ()
BurnerBurnResult | burner_session_span_start ()
BurnerBurnResult | burner_session_span_next ()
void | burner_session_span_stop ()

## Types and Values

struct | BurnerSessionSpan

## Description

## Functions

### burner_session_span_new ()

    BurnerSessionSpan *
    burner_session_span_new (void);

Creates a new BurnerSessionSpan object.

#### Returns

a BurnerSessionSpan object

### burner_session_span_again ()

    BurnerBurnResult
    burner_session_span_again (BurnerSessionSpan *session);

Checks whether some data were not included during calls to `burner_session_span_next()`.

#### Parameters

session | a BurnerSessionSpan |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if there is not anymore data. BURNER_BURN_RETRY if the operation was successful and a new BurnerTrackDataCfg was created. BURNER_BURN_ERR otherwise.

### burner_session_span_possible ()

    BurnerBurnResult
    burner_session_span_possible (BurnerSessionSpan *session);

Checks if a new BurnerTrackData can be created from the files remaining in the tree after calls to `burner_session_span_next()`. The maximum size of the data will be the one of the medium inserted in the BurnerDrive set for `session` (see `burner_burn_session_set_burner()`).

#### Parameters

session | a BurnerSessionSpan |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if there is not anymore data. BURNER_BURN_RETRY if the operation was successful and a new BurnerTrackDataCfg was created. BURNER_BURN_ERR otherwise.

### burner_session_span_start ()

    BurnerBurnResult
    burner_session_span_start (BurnerSessionSpan *session);

Get the object ready for spanning a BurnerBurnSession object. This function must be called before `burner_session_span_next()`.

#### Parameters

session | a BurnerSessionSpan |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if successful.

### burner_session_span_next ()

    BurnerBurnResult
    burner_session_span_next (BurnerSessionSpan *session);

Sets the next batch of data to be burnt onto the medium inserted in the BurnerDrive set for `session` (see `burner_burn_session_set_burner()`). Its free space or it capacity will be used as the maximum amount of data to be burnt.

#### Parameters

session | a BurnerSessionSpan |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if successful.

### burner_session_span_stop ()

    void
    burner_session_span_stop (BurnerSessionSpan *session);

Ends and cleans a spanning operation started with `burner_session_span_start()`.

#### Parameters

session | a BurnerSessionSpan |

## Types and Values

### struct BurnerSessionSpan

    struct BurnerSessionSpan {
    	BurnerBurnSession parent_instance;
    };