| Top |
This object stores all parameters for all operations performed by BraseroBurn such as burning, blanking and checksuming. To have this object configured automatically see BraseroSessionCfg.
BraseroBurnSession *
brasero_burn_session_new (void);
Returns a new BraseroBurnSession object.
BraseroBurnResult brasero_burn_session_add_track (BraseroBurnSession *session,BraseroTrack *new_track,BraseroTrack *sibling);
Inserts a new track after sibling
or appended if sibling
is NULL. If track
is NULL then all tracks
already in session
will be removed.
NOTE: if there are already BraseroTrack objects inserted in the session and if they are not
of the same type as new_track
then they will be removed before the insertion of new_track
.
session |
||
new_track |
a BraseroTrack or NULL. |
[allow-none] |
sibling |
a BraseroTrack or NULL. |
[allow-none] |
a BraseroBurnResult. BRASERO_BURN_OK if the track was successfully inserted or BRASERO_BURN_ERR otherwise.
BraseroBurnResult brasero_burn_session_move_track (BraseroBurnSession *session,BraseroTrack *track,BraseroTrack *sibling);
Moves track
after sibling
; if sibling
is NULL then it is appended.
a BraseroBurnResult. BRASERO_BURN_OK if the track was successfully moved or BRASERO_BURN_ERR otherwise.
BraseroBurnResult brasero_burn_session_remove_track (BraseroBurnSession *session,BraseroTrack *track);
Removes track
from session
.
a BraseroBurnResult. BRASERO_BURN_OK if the track was successfully removed or BRASERO_BURN_ERR otherwise.
GSList *
brasero_burn_session_get_tracks (BraseroBurnSession *session);
Returns the list of BraseroTrack added to session
.
a GSList or BraseroTrack object. Do not unref the objects in the list nor destroy the list.
[element-type BraseroBurn.Track][transfer none]
BraseroBurnResult brasero_burn_session_get_status (BraseroBurnSession *session,BraseroStatus *status);
Sets status
to reflect whether session
is ready to be used.
a BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if track
needs more time for processing
BRASERO_BURN_ERR if something is wrong or if it is empty
BraseroBurnResult brasero_burn_session_get_size (BraseroBurnSession *session,goffset *blocks,goffset *bytes);
Returns the size of the data contained by session
in bytes or in sectors
a BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if track
needs more time for processing the size
BRASERO_BURN_ERR if something is wrong or if it is empty
BraseroBurnResult brasero_burn_session_get_input_type (BraseroBurnSession *session,BraseroTrackType *type);
Sets type
to reflect the type of data contained in session
BraseroBurnResult brasero_burn_session_tag_lookup (BraseroBurnSession *session,const gchar *tag,GValue **value);
Retrieves a value associated with session
through
brasero_session_tag_add() and stores it in value
. Do
not destroy value
afterwards as it is not a copy.
a BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful BRASERO_BURN_ERR otherwise
BraseroBurnResult brasero_burn_session_tag_add (BraseroBurnSession *session,const gchar *tag,GValue *value);
Associates a new tag
with session
. This can be used
to pass arbitrary information for plugins, like parameters
for video discs, ...
NOTE: the BraseroBurnSession object takes ownership of value
.
See brasero-tags.h for a list of knowns tags.
BraseroBurnResult brasero_burn_session_tag_remove (BraseroBurnSession *session,const gchar *tag);
Removes a value associated with session
through
brasero_session_tag_add().
a BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful BRASERO_BURN_ERR otherwise
BraseroDrive *
brasero_burn_session_get_burner (BraseroBurnSession *session);
Returns the BraseroDrive that should be used to burn the session contents.
void brasero_burn_session_set_burner (BraseroBurnSession *session,BraseroDrive *drive);
Sets the BraseroDrive that should be used to burn the session contents.
BraseroBurnResult brasero_burn_session_set_image_output_full (BraseroBurnSession *session,BraseroImageFormat format,const gchar *image,const gchar *toc);
When the contents of session
should be written to a
file, this function sets the different parameters of this
image like its path (and the one of the associated toc if
necessary) and its format.
NOTE: after a call to this function the BraseroDrive for
session
will be the fake BraseroDrive.
a BraseroBurnResult. BRASERO_BURN_OK if it was successfully set; BRASERO_BURN_ERR otherwise.
BraseroBurnResult brasero_burn_session_get_output (BraseroBurnSession *session,gchar **image,gchar **toc);
When the contents of session
should be written to a
file then this function returns the image path (and if
necessary a toc path).
image
and toc
should be freed if not used anymore.
NOTE: before using this function a BraseroDrive should have been
set with brasero_burn_session_set_burner() and it should be the
fake drive (see brasero_drive_is_fake()).
BraseroImageFormat
brasero_burn_session_get_output_format
(BraseroBurnSession *session);
When the contents of session
should be written to a
file then this function returns the format of the image to write.
NOTE: before using this function a BraseroDrive should have been
set with brasero_burn_session_set_burner() and it should be the
fake drive (see brasero_drive_is_fake()).
void brasero_burn_session_set_flags (BraseroBurnSession *session,BraseroBurnFlag flags);
Replaces the current flags set in session
with flags
.
void brasero_burn_session_add_flag (BraseroBurnSession *session,BraseroBurnFlag flags);
Merges the current flags set in session
with flags
.
void brasero_burn_session_remove_flag (BraseroBurnSession *session,BraseroBurnFlag flags);
Removes flags
from the current flags set for session
.
BraseroBurnFlag
brasero_burn_session_get_flags (BraseroBurnSession *session);
Returns the current flags set for session
.
BraseroBurnResult brasero_burn_session_set_tmpdir (BraseroBurnSession *session,const gchar *path);
Sets the path of the directory in which to write temporary directories and files.
If set to NULL then the result of g_get_tmp_dir() will be used.
a BraseroBurnResult. BRASERO_BURN_OK if it was successfully set; BRASERO_BURN_ERR otherwise.
const gchar *
brasero_burn_session_get_tmpdir (BraseroBurnSession *session);
Returns the path of the directory in which to write temporary directories and files.
BraseroBurnResult brasero_burn_session_get_burn_flags (BraseroBurnSession *session,BraseroBurnFlag *supported,BraseroBurnFlag *compulsory);
Given the various parameters stored in session
, this function
stores:
the flags that can be used (supported
)
the flags that must be used (compulsory
)
when writing session
to a disc.
a BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful. BRASERO_BURN_ERR otherwise.
BraseroBurnResult brasero_burn_session_get_blank_flags (BraseroBurnSession *session,BraseroBurnFlag *supported,BraseroBurnFlag *compulsory);
Given the various parameters stored in session
,
stores in supported
and compulsory
, the flags
that can be used (supported
) and must be used
(compulsory
) when blanking the medium in the
BraseroDrive (set with brasero_burn_session_set_burner()).
a BraseroBurnResult. BRASERO_BURN_OK if the retrieval was successful. BRASERO_BURN_ERR otherwise.
BraseroBurnResult
brasero_burn_session_can_blank (BraseroBurnSession *session);
Given the various parameters stored in session
, this
function checks whether the medium in the
BraseroDrive (set with brasero_burn_session_set_burner())
can be blanked.
BraseroBurnResult brasero_burn_session_can_burn (BraseroBurnSession *session,gboolean check_flags);
Given the various parameters stored in session
, this
function checks whether the data contained in session
can be burnt to the medium in the BraseroDrive (set
through brasero_burn_session_set_burner()).
If check_flags
determine the behavior of this function.
BraseroBurnResult brasero_burn_session_input_supported (BraseroBurnSession *session,BraseroTrackType *input,gboolean check_flags);
Given the various parameters stored in session
, this
function checks whether a session with the data type
type
could be burnt to the medium in the BraseroDrive (set
through brasero_burn_session_set_burner()).
If check_flags
is TRUE, then flags are taken into account
and are not if it is FALSE.
BraseroBurnResult brasero_burn_session_output_supported (BraseroBurnSession *session,BraseroTrackType *output);
Make sure that the image type or medium type defined in output
can be
created/burnt given the parameters and the current data set in session
.
BraseroMedia
brasero_burn_session_get_required_media_type
(BraseroBurnSession *session);
Return the medium types that could be used to burn
session
.
guint brasero_burn_session_get_possible_output_formats (BraseroBurnSession *session,BraseroImageFormat *formats);
Returns the disc image types that could be set to create
an image given the current state of session
.
BraseroImageFormat
brasero_burn_session_get_default_output_format
(BraseroBurnSession *session);
Returns the default disc image type that should be set to create
an image given the current state of session
.
const gchar *
brasero_burn_session_get_label (BraseroBurnSession *session);
Returns the label (a string) set for session
.
void brasero_burn_session_set_label (BraseroBurnSession *session,const gchar *label);
Sets the label for session
.
BraseroBurnResult brasero_burn_session_set_rate (BraseroBurnSession *session,guint64 rate);
Sets the speed at which the medium should be burnt.
NOTE: before using this function a BraseroDrive should have been
set with brasero_burn_session_set_burner().
guint64
brasero_burn_session_get_rate (BraseroBurnSession *session);
Returns the speed at which the medium should be burnt.
NOTE: before using this function a BraseroDrive should have been
set with brasero_burn_session_set_burner().
struct BraseroBurnSessionClass {
GObjectClass parent_class;
/** Virtual functions **/
BraseroBurnResult (*set_output_image) (BraseroBurnSession *session,
BraseroImageFormat format,
const gchar *image,
const gchar *toc);
BraseroBurnResult (*get_output_path) (BraseroBurnSession *session,
gchar **image,
gchar **toc);
BraseroImageFormat (*get_output_format) (BraseroBurnSession *session);
/** Signals **/
void (*tag_changed) (BraseroBurnSession *session,
const gchar *tag);
void (*track_added) (BraseroBurnSession *session,
BraseroTrack *track);
void (*track_removed) (BraseroBurnSession *session,
BraseroTrack *track,
guint former_position);
void (*track_changed) (BraseroBurnSession *session,
BraseroTrack *track);
void (*output_changed) (BraseroBurnSession *session,
BraseroMedium *former_medium);
};