## BraseroSessionCfg BraseroSessionCfg — Configure automatically a BraseroBurnSession object |

## Synopsis

    #include <brasero-session-cfg.h>

                        BraseroSessionCfg;
    #define             BRASERO_DRIVE_PROPERTIES_FLAGS
    enum                BraseroSessionError;
    #define             BRASERO_SESSION_IS_VALID            (result_MACRO)
    BraseroSessionCfg * brasero_session_cfg_new             (void);
    BraseroSessionError  brasero_session_cfg_get_error      (BraseroSessionCfg *cfg);
    void                brasero_session_cfg_add_flags       (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flags);
    void                brasero_session_cfg_remove_flags    (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flags);
    gboolean            brasero_session_cfg_is_supported    (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flag);
    gboolean            brasero_session_cfg_is_compulsory   (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flag);
    gboolean            brasero_session_cfg_has_default_output_path
                                                            (BraseroSessionCfg *cfg);
    void                brasero_session_cfg_enable          (BraseroSessionCfg *cfg);
    void                brasero_session_cfg_disable         (BraseroSessionCfg *cfg);

## Description

This object configures automatically a session reacting to any change made to the various parameters.

## Details

### BraseroSessionCfg

    typedef struct {
    	BraseroSessionSpan parent_instance;
    } BraseroSessionCfg;

### BRASERO_DRIVE_PROPERTIES_FLAGS

    #define             BRASERO_DRIVE_PROPERTIES_FLAGS

### enum BraseroSessionError

    typedef enum {
    	BRASERO_SESSION_VALID				= 0,
    	BRASERO_SESSION_NO_CD_TEXT			= 1,
    	BRASERO_SESSION_NOT_READY,
    	BRASERO_SESSION_EMPTY,
    	BRASERO_SESSION_NO_INPUT_IMAGE,
    	BRASERO_SESSION_UNKNOWN_IMAGE,
    	BRASERO_SESSION_NO_INPUT_MEDIUM,
    	BRASERO_SESSION_NO_OUTPUT,
    	BRASERO_SESSION_INSUFFICIENT_SPACE,
    	BRASERO_SESSION_OVERBURN_NECESSARY,
    	BRASERO_SESSION_NOT_SUPPORTED,
    	BRASERO_SESSION_DISC_PROTECTED
    } BraseroSessionError;

### BRASERO_SESSION_IS_VALID()

    #define             BRASERO_SESSION_IS_VALID(result_MACRO)

`result_MACRO` : |

### brasero_session_cfg_new ()

    BraseroSessionCfg * brasero_session_cfg_new             (void);

Creates a new BraseroSessionCfg object.

Returns : | a BraseroSessionCfg object.

### brasero_session_cfg_get_error ()

    BraseroSessionError  brasero_session_cfg_get_error      (BraseroSessionCfg *cfg);

This function returns the current status and if autoconfiguration is/was successful.

`cfg` : | a BraseroSessionCfg
Returns : | a BraseroSessionError.

### brasero_session_cfg_add_flags ()

    void                brasero_session_cfg_add_flags       (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flags);

Adds all flags from `flags` that are supported.

`cfg` : | a BraseroSessionCfg
`flags` : | a BraseroBurnFlag

### brasero_session_cfg_remove_flags ()

    void                brasero_session_cfg_remove_flags    (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flags);

Removes all flags that are not compulsory.

`cfg` : | a BraseroSessionCfg
`flags` : | a BraseroBurnFlag

### brasero_session_cfg_is_supported ()

    gboolean            brasero_session_cfg_is_supported    (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flag);

Checks whether a particular flag is supported.

`cfg` : | a BraseroSessionCfg
`flag` : | a BraseroBurnFlag
Returns : | a gboolean. TRUE if it is supported; FALSE otherwise.

### brasero_session_cfg_is_compulsory ()

    gboolean            brasero_session_cfg_is_compulsory   (BraseroSessionCfg *cfg,
                                                             BraseroBurnFlag flag);

Checks whether a particular flag is compulsory.

`cfg` : | a BraseroSessionCfg
`flag` : | a BraseroBurnFlag
Returns : | a gboolean. TRUE if it is compulsory; FALSE otherwise.

### brasero_session_cfg_has_default_output_path ()

    gboolean            brasero_session_cfg_has_default_output_path
                                                            (BraseroSessionCfg *cfg);

This function returns whether the path returned by `brasero_burn_session_get_output()` is an automatically created one.

`cfg` : | a BraseroSessionCfg
Returns : | a gboolean. TRUE if the path(s) creation is handled by `session`, FALSE if it was set.

### brasero_session_cfg_enable ()

    void                brasero_session_cfg_enable          (BraseroSessionCfg *cfg);

This function (re)-enables autoconfiguration

`cfg` : | a BraseroSessionCfg

### brasero_session_cfg_disable ()

    void                brasero_session_cfg_disable         (BraseroSessionCfg *cfg);

This function disables autoconfiguration

`cfg` : | a BraseroSessionCfg

## See Also

BraseroBurn, BraseroBurnSession