3
* Copyright (C) Philippe Rouquier 2007-2008 <bonfire-app@wanadoo.fr>
5
* Brasero is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.sero is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
* See the GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with brasero. If not, write to:
15
* The Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor
17
* Boston, MA 02110-1301, USA.
24
#include <glib-object.h>
26
#include "burn-basics.h"
27
#include "burn-task-ctx.h"
28
#include "burn-task-item.h"
31
brasero_task_item_get_type (void)
33
static GType type = 0;
36
static const GTypeInfo info = {
37
sizeof (BraseroTaskItemIFace),
39
NULL, /* base_finalize */
40
NULL, /* class_init */
41
NULL, /* class_finalize */
42
NULL, /* class_data */
45
NULL /* instance_init */
47
type = g_type_register_static (G_TYPE_INTERFACE,
56
brasero_task_item_link (BraseroTaskItem *input, BraseroTaskItem *output)
58
BraseroTaskItemIFace *klass;
60
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (input), BRASERO_BURN_ERR);
61
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (output), BRASERO_BURN_ERR);
63
klass = BRASERO_TASK_ITEM_GET_CLASS (input);
65
return klass->link (input, output);
67
klass = BRASERO_TASK_ITEM_GET_CLASS (output);
69
return klass->link (input, output);
71
return BRASERO_BURN_NOT_SUPPORTED;
75
brasero_task_item_previous (BraseroTaskItem *item)
77
BraseroTaskItemIFace *klass;
79
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), NULL);
81
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
83
return klass->previous (item);
89
brasero_task_item_next (BraseroTaskItem *item)
91
BraseroTaskItemIFace *klass;
93
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), NULL);
95
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
97
return klass->next (item);
103
brasero_task_item_is_active (BraseroTaskItem *item)
105
BraseroTaskItemIFace *klass;
107
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), FALSE);
109
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
110
if (klass->is_active)
111
return klass->is_active (item);
117
brasero_task_item_activate (BraseroTaskItem *item,
121
BraseroTaskItemIFace *klass;
123
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), BRASERO_BURN_ERR);
125
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
127
return klass->activate (item, ctx, error);
129
return BRASERO_BURN_NOT_SUPPORTED;
133
brasero_task_item_start (BraseroTaskItem *item,
136
BraseroTaskItemIFace *klass;
138
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), BRASERO_BURN_ERR);
140
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
142
return klass->start (item, error);
144
return BRASERO_BURN_NOT_SUPPORTED;
148
brasero_task_item_clock_tick (BraseroTaskItem *item,
152
BraseroTaskItemIFace *klass;
154
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), BRASERO_BURN_ERR);
156
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
157
if (klass->clock_tick)
158
return klass->clock_tick (item, ctx, error);
160
return BRASERO_BURN_NOT_SUPPORTED;
164
brasero_task_item_stop (BraseroTaskItem *item,
168
BraseroTaskItemIFace *klass;
170
g_return_val_if_fail (BRASERO_IS_TASK_ITEM (item), BRASERO_BURN_ERR);
172
klass = BRASERO_TASK_ITEM_GET_CLASS (item);
174
return klass->stop (item, ctx, error);
176
return BRASERO_BURN_NOT_SUPPORTED;