~ubuntu-branches/ubuntu/maverick/brasero/maverick

« back to all changes in this revision

Viewing changes to libbrasero-burn/brasero-track.c

  • Committer: Bazaar Package Importer
  • Author(s): Chris Coulson
  • Date: 2009-08-13 18:16:50 UTC
  • mto: (1.4.1 experimental)
  • mto: This revision was merged to the branch mainline in revision 48.
  • Revision ID: james.westby@ubuntu.com-20090813181650-zv4i4o8jjbk1ko73
Tags: upstream-2.27.90
ImportĀ upstreamĀ versionĀ 2.27.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
 
63
63
G_DEFINE_TYPE (BraseroTrack, brasero_track, G_TYPE_OBJECT);
64
64
 
 
65
/**
 
66
 * brasero_track_get_track_type:
 
67
 * @track: a #BraseroTrack
 
68
 * @type: a #BraseroTrackType or NULL
 
69
 *
 
70
 * Sets @type to reflect the type of data contained in @track
 
71
 *
 
72
 * Return value: the#BraseroTrackDataType of the track
 
73
 **/
 
74
 
65
75
BraseroTrackDataType
66
76
brasero_track_get_track_type (BraseroTrack *track,
67
77
                              BraseroTrackType *type)
77
87
        return klass->get_type (track, type);
78
88
}
79
89
 
 
90
/**
 
91
 * brasero_track_get_size:
 
92
 * @track: a #BraseroTrack
 
93
 * @blocks: a #goffset or NULL
 
94
 * @bytes: a #goffset or NULL
 
95
 *
 
96
 * Returns the size of the data contained by @track in bytes or in sectors
 
97
 *
 
98
 * Return value: a #BraseroBurnResult.
 
99
 * BRASERO_BURN_OK if it was successful
 
100
 * BRASERO_BURN_NOT_READY if @track needs more time for processing the size
 
101
 * BRASERO_BURN_ERR if something is wrong or if it is empty
 
102
 **/
 
103
 
80
104
BraseroBurnResult
81
105
brasero_track_get_size (BraseroTrack *track,
82
106
                        goffset *blocks,
106
130
        return BRASERO_BURN_OK;
107
131
}
108
132
 
 
133
/**
 
134
 * brasero_track_get_status:
 
135
 * @track: a #BraseroTrack
 
136
 * @status: a #BraseroTrackStatus
 
137
 *
 
138
 * Sets @status to reflect whether @track is ready to be used
 
139
 *
 
140
 * Return value: a #BraseroBurnResult.
 
141
 * BRASERO_BURN_OK if it was successful
 
142
 * BRASERO_BURN_NOT_READY if @track needs more time for processing
 
143
 * BRASERO_BURN_ERR if something is wrong or if it is empty
 
144
 **/
 
145
 
109
146
BraseroBurnResult
110
147
brasero_track_get_status (BraseroTrack *track,
111
148
                          BraseroStatus *status)
131
168
}
132
169
 
133
170
/**
134
 
 *
135
 
 */
 
171
 * brasero_track_set_checksum:
 
172
 * @track: a #BraseroTrack
 
173
 * @type: a #BraseroChecksumType
 
174
 * @checksum: a #gchar * holding the checksum
 
175
 *
 
176
 * Sets a checksum for the track
 
177
 *
 
178
 * Return value: a #BraseroBurnResult.
 
179
 * BRASERO_BURN_OK if the checksum was previously empty or matches the new one
 
180
 * BRASERO_BURN_ERR otherwise
 
181
 **/
136
182
 
137
183
BraseroBurnResult
138
184
brasero_track_set_checksum (BraseroTrack *track,
162
208
        return result;
163
209
}
164
210
 
 
211
/**
 
212
 * brasero_track_get_checksum:
 
213
 * @track: a #BraseroTrack
 
214
 *
 
215
 * Get the current checksum (as a string) for the track
 
216
 *
 
217
 * Return value: a #gchar * (not to be freed) or NULL
 
218
 **/
 
219
 
165
220
const gchar *
166
221
brasero_track_get_checksum (BraseroTrack *track)
167
222
{
170
225
        g_return_val_if_fail (BRASERO_IS_TRACK (track), NULL);
171
226
        priv = BRASERO_TRACK_PRIVATE (track);
172
227
 
173
 
        return priv->checksum ? priv->checksum : "";
 
228
        return priv->checksum ? priv->checksum : NULL;
174
229
}
175
230
 
 
231
/**
 
232
 * brasero_track_get_checksum_type:
 
233
 * @track: a #BraseroTrack
 
234
 *
 
235
 * Get the current checksum type for the track if any.
 
236
 *
 
237
 * Return value: a #BraseroChecksumType
 
238
 **/
 
239
 
176
240
BraseroChecksumType
177
241
brasero_track_get_checksum_type (BraseroTrack *track)
178
242
{
187
251
/**
188
252
 * Can be used to set arbitrary data
189
253
 */
 
254
 
190
255
static void
191
256
brasero_track_tag_value_free (gpointer user_data)
192
257
{
196
261
        g_free (value);
197
262
}
198
263
 
 
264
/**
 
265
 * brasero_track_tag_add:
 
266
 * @track: a #BraseroTrack
 
267
 * @tag: a #gchar *
 
268
 * @value: a #GValue
 
269
 *
 
270
 * Associates a new @tag with a track. This can be used
 
271
 * to pass arbitrary information for plugins, like parameters
 
272
 * for video discs, ...
 
273
 * See brasero-tags.h for a list of knowns tags.
 
274
 *
 
275
 * Return value: a #BraseroBurnResult.
 
276
 * BRASERO_BURN_OK if it was successful,
 
277
 * BRASERO_BURN_ERR otherwise.
 
278
 **/
 
279
 
199
280
BraseroBurnResult
200
281
brasero_track_tag_add (BraseroTrack *track,
201
282
                       const gchar *tag,
219
300
        return BRASERO_BURN_OK;
220
301
}
221
302
 
 
303
/**
 
304
 * brasero_track_tag_add_int:
 
305
 * @track: a #BraseroTrack
 
306
 * @tag: a #gchar *
 
307
 * @value: a #int
 
308
 *
 
309
 * A wrapper around brasero_track_tag_add () to associate
 
310
 * a int value with @track
 
311
 * See also brasero_track_tag_add ()
 
312
 *
 
313
 * Return value: a #BraseroBurnResult.
 
314
 * BRASERO_BURN_OK if it was successful,
 
315
 * BRASERO_BURN_ERR otherwise.
 
316
 **/
 
317
 
222
318
BraseroBurnResult
223
319
brasero_track_tag_add_int (BraseroTrack *track,
224
320
                           const gchar *tag,
233
329
        return brasero_track_tag_add (track, tag, value);
234
330
}
235
331
 
 
332
/**
 
333
 * brasero_track_tag_add_string:
 
334
 * @track: a #BraseroTrack
 
335
 * @tag: a #gchar *
 
336
 * @string: a #gchar *
 
337
 *
 
338
 * A wrapper around brasero_track_tag_add () to associate
 
339
 * a string with @track
 
340
 * See also brasero_track_tag_add ()
 
341
 *
 
342
 * Return value: a #BraseroBurnResult.
 
343
 * BRASERO_BURN_OK if it was successful,
 
344
 * BRASERO_BURN_ERR otherwise.
 
345
 **/
 
346
 
236
347
BraseroBurnResult
237
348
brasero_track_tag_add_string (BraseroTrack *track,
238
349
                              const gchar *tag,
247
358
        return brasero_track_tag_add (track, tag, value);
248
359
}
249
360
 
 
361
/**
 
362
 * brasero_track_tag_lookup:
 
363
 * @track: a #BraseroTrack
 
364
 * @tag: a #gchar *
 
365
 * @value: a #GValue **
 
366
 *
 
367
 * Retrieves a value associated with @track through
 
368
 * brasero_track_tag_add () and stores it in @value. Do
 
369
 * not destroy @value afterwards as it is not a copy
 
370
 *
 
371
 * Return value: a #BraseroBurnResult.
 
372
 * BRASERO_BURN_OK if the retrieval was successful
 
373
 * BRASERO_BURN_ERR otherwise
 
374
 **/
 
375
 
250
376
BraseroBurnResult
251
377
brasero_track_tag_lookup (BraseroTrack *track,
252
378
                          const gchar *tag,
272
398
        return BRASERO_BURN_OK;
273
399
}
274
400
 
 
401
/**
 
402
 * brasero_track_tag_lookup_int:
 
403
 * @track: a #BraseroTrack
 
404
 * @tag: a #gchar *
 
405
 *
 
406
 * Retrieves a int value associated with @track. This
 
407
 * is a wrapper around brasero_track_tag_lookup ().
 
408
 *
 
409
 * Return value: a #int; the value or 0 otherwise
 
410
 **/
 
411
 
275
412
int
276
413
brasero_track_tag_lookup_int (BraseroTrack *track,
277
414
                              const gchar *tag)
292
429
        return g_value_get_int (value);
293
430
}
294
431
 
 
432
/**
 
433
 * brasero_track_tag_lookup_string:
 
434
 * @track: a #BraseroTrack
 
435
 * @tag: a #gchar *
 
436
 *
 
437
 * Retrieves a string value associated with @track. This
 
438
 * is a wrapper around brasero_track_tag_lookup ().
 
439
 *
 
440
 * Return value: a #gchar *. The value or NULL otherwise.
 
441
 * Do not free the string as it is not a copy.
 
442
 **/
 
443
 
295
444
const gchar *
296
445
brasero_track_tag_lookup_string (BraseroTrack *track,
297
446
                                 const gchar *tag)
312
461
        return g_value_get_string (value);
313
462
}
314
463
 
 
464
/**
 
465
 * brasero_track_tag_copy_missing:
 
466
 * @dest: a #BraseroTrack
 
467
 * @src: a #BraseroTrack
 
468
 *
 
469
 * Adds all tags of @dest to @src provided they do not
 
470
 * already exists.
 
471
 *
 
472
 **/
 
473
 
315
474
void
316
475
brasero_track_tag_copy_missing (BraseroTrack *dest,
317
476
                                BraseroTrack *src)
355
514
        }
356
515
}
357
516
 
 
517
/**
 
518
 * brasero_track_changed:
 
519
 * @track: a #BraseroTrack
 
520
 * 
 
521
 * Used internally in #BraseroTrack implementations to 
 
522
 * signal a #BraseroTrack object has changed.
 
523
 *
 
524
 **/
 
525
 
358
526
void
359
527
brasero_track_changed (BraseroTrack *track)
360
528
{