7
7
***************************************************************************/
10
* This program is free software; you can redistribute it and/or modify
10
* Brasero is free software; you can redistribute it and/or modify
11
11
* it under the terms of the GNU General Public License as published by
12
12
* the Free Software Foundation; either version 2 of the License, or
13
13
* (at your option) any later version.
15
* This program is distributed in the hope that it will be useful,
15
* Brasero is distributed in the hope that it will be useful,
16
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
18
* GNU Library General Public License for more details.
20
20
* You should have received a copy of the GNU General Public License
21
* along with this program; if not, write to the Free Software
22
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
* along with this program; if not, write to:
22
* The Free Software Foundation, Inc.,
23
* 51 Franklin Street, Fifth Floor
24
* Boston, MA 02110-1301, USA.
25
27
#ifndef BURN_SESSION_H
31
33
#include "burn-basics.h"
32
34
#include "burn-track.h"
33
#include "burn-drive.h"
35
#include "brasero-drive.h"
37
#define BRASERO_DRIVE_PROPERTIES_KEY "/apps/brasero/drives"
39
40
#define BRASERO_TYPE_BURN_SESSION (brasero_burn_session_get_type ())
40
41
#define BRASERO_BURN_SESSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BRASERO_TYPE_BURN_SESSION, BraseroBurnSession))
59
60
* it's better to have one global signal and dialogs asking for
60
61
* the session properties they are interested in.
62
void (*input_changed) (BraseroBurnSession *session);
64
void (*output_changed) (BraseroBurnSession *session);
63
void (*input_changed) (BraseroBurnSession *session);
64
void (*output_changed) (BraseroBurnSession *session);
67
67
GType brasero_burn_session_get_type ();
88
90
brasero_burn_session_get_input_type (BraseroBurnSession *session,
89
91
BraseroTrackType *type);
92
brasero_burn_session_get_label (BraseroBurnSession *session);
95
brasero_burn_session_set_label (BraseroBurnSession *session,
94
* This is to set additional arbitrary information
99
98
brasero_burn_session_tag_lookup (BraseroBurnSession *session,
104
103
brasero_burn_session_tag_add (BraseroBurnSession *session,
105
104
const gchar *tag,
108
brasero_burn_session_tag_remove (BraseroBurnSession *session,
112
brasero_burn_session_set_rate (BraseroBurnSession *session,
116
brasero_burn_session_get_rate (BraseroBurnSession *session);
119
brasero_burn_session_set_num_copies (BraseroBurnSession *session,
123
brasero_burn_session_get_num_copies (BraseroBurnSession *session);
126
116
brasero_burn_session_get_burner (BraseroBurnSession *session);
135
125
BraseroDrive *burner);
137
127
BraseroBurnResult
138
brasero_burn_session_set_image_output (BraseroBurnSession *session,
139
BraseroImageFormat format,
143
128
brasero_burn_session_set_image_output_full (BraseroBurnSession *session,
144
129
BraseroImageFormat format,
145
130
const gchar *image,
159
* Used to deal with the temporary files
148
brasero_burn_session_set_flags (BraseroBurnSession *session,
149
BraseroBurnFlag flag);
152
brasero_burn_session_add_flag (BraseroBurnSession *session,
153
BraseroBurnFlag flag);
156
brasero_burn_session_remove_flag (BraseroBurnSession *session,
157
BraseroBurnFlag flag);
160
brasero_burn_session_get_flags (BraseroBurnSession *session);
164
* Used to deal with the temporary files (mostly used by plugins)
162
167
BraseroBurnResult
191
brasero_burn_session_set_flags (BraseroBurnSession *session,
192
BraseroBurnFlag flag);
195
brasero_burn_session_add_flag (BraseroBurnSession *session,
196
BraseroBurnFlag flag);
199
brasero_burn_session_remove_flag (BraseroBurnSession *session,
200
BraseroBurnFlag flag);
203
brasero_burn_session_get_flags (BraseroBurnSession *session);
207
192
* Allow to save a whole session settings/source and restore it later.
193
* (mostly used internally)
218
204
brasero_burn_session_pop_tracks (BraseroBurnSession *session);
222
* Some convenient functions
207
* Some convenience functions
208
* FIXME: maybe they should be put into a brasero burn session helper file?
226
brasero_burn_session_get_config_key (BraseroBurnSession *session,
227
const gchar *property);
230
brasero_burn_session_same_src_dest_drive (BraseroBurnSession *session);
233
212
brasero_burn_session_get_dest_media (BraseroBurnSession *session);
242
221
brasero_burn_session_is_dest_file (BraseroBurnSession *session);
224
brasero_burn_session_same_src_dest_drive (BraseroBurnSession *session);
245
226
#define BRASERO_BURN_SESSION_EJECT(session) \
246
227
(brasero_burn_session_get_flags ((session)) & BRASERO_BURN_FLAG_EJECT)
262
* Used to report wrong checksum
266
brasero_burn_session_add_wrong_checksum (BraseroBurnSession *session,
270
brasero_burn_session_get_wrong_checksums (BraseroBurnSession *session);
274
243
* This is to log a session
295
264
const gchar *format,
268
* These should be converted to tags
272
brasero_burn_session_get_label (BraseroBurnSession *session);
275
brasero_burn_session_set_label (BraseroBurnSession *session,
279
brasero_burn_session_set_rate (BraseroBurnSession *session,
283
brasero_burn_session_get_rate (BraseroBurnSession *session);
300
287
#endif /* BURN_SESSION_H */