167
161
const char *lrzip_mime_type[] = { "application/x-lrzip", NULL };
171
fr_command_lrzip_get_mime_types (FrCommand *comm)
165
fr_command_lrzip_get_mime_types (FrArchive *archive)
173
167
return lrzip_mime_type;
178
fr_command_lrzip_get_capabilities (FrCommand *comm,
172
fr_command_lrzip_get_capabilities (FrArchive *archive,
179
173
const char *mime_type,
180
174
gboolean check_command)
182
FrCommandCap capabilities = FR_COMMAND_CAN_DO_NOTHING;
176
FrArchiveCap capabilities = FR_ARCHIVE_CAN_DO_NOTHING;
184
if (is_program_available ("lrzip", check_command))
185
capabilities |= FR_COMMAND_CAN_READ_WRITE;
178
if (_g_program_is_available ("lrzip", check_command))
179
capabilities |= FR_ARCHIVE_CAN_READ_WRITE;
187
181
return capabilities;
191
185
static const char *
192
fr_command_lrzip_get_packages (FrCommand *comm,
186
fr_command_lrzip_get_packages (FrArchive *archive,
193
187
const char *mime_type)
195
189
return PACKAGES ("lrzip");
200
fr_command_lrzip_class_init (FrCommandLrzipClass *class)
202
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
205
parent_class = g_type_class_peek_parent (class);
206
afc = (FrCommandClass*) class;
208
gobject_class->finalize = fr_command_lrzip_finalize;
210
afc->list = fr_command_lrzip_list;
211
afc->add = fr_command_lrzip_add;
212
afc->extract = fr_command_lrzip_extract;
213
afc->get_mime_types = fr_command_lrzip_get_mime_types;
214
afc->get_capabilities = fr_command_lrzip_get_capabilities;
215
afc->get_packages = fr_command_lrzip_get_packages;
220
fr_command_lrzip_init (FrCommand *comm)
222
comm->propAddCanUpdate = FALSE;
223
comm->propAddCanReplace = FALSE;
224
comm->propAddCanStoreFolders = FALSE;
225
comm->propExtractCanAvoidOverwrite = TRUE;
226
comm->propExtractCanSkipOlder = FALSE;
227
comm->propExtractCanJunkPaths = FALSE;
228
comm->propPassword = FALSE;
229
comm->propTest = FALSE;
234
194
fr_command_lrzip_finalize (GObject *object)
236
196
g_return_if_fail (object != NULL);
237
197
g_return_if_fail (FR_IS_COMMAND_LRZIP (object));
240
if (G_OBJECT_CLASS (parent_class)->finalize)
241
G_OBJECT_CLASS (parent_class)->finalize (object);
246
fr_command_lrzip_get_type ()
248
static GType type = 0;
251
GTypeInfo type_info = {
252
sizeof (FrCommandLrzipClass),
255
(GClassInitFunc) fr_command_lrzip_class_init,
258
sizeof (FrCommandLrzip),
260
(GInstanceInitFunc) fr_command_lrzip_init
263
type = g_type_register_static (FR_TYPE_COMMAND,
199
if (G_OBJECT_CLASS (fr_command_lrzip_parent_class)->finalize)
200
G_OBJECT_CLASS (fr_command_lrzip_parent_class)->finalize (object);
205
fr_command_lrzip_class_init (FrCommandLrzipClass *klass)
207
GObjectClass *gobject_class;
208
FrArchiveClass *archive_class;
209
FrCommandClass *command_class;
211
fr_command_lrzip_parent_class = g_type_class_peek_parent (klass);
213
gobject_class = G_OBJECT_CLASS (klass);
214
gobject_class->finalize = fr_command_lrzip_finalize;
216
archive_class = FR_ARCHIVE_CLASS (klass);
217
archive_class->get_mime_types = fr_command_lrzip_get_mime_types;
218
archive_class->get_capabilities = fr_command_lrzip_get_capabilities;
219
archive_class->get_packages = fr_command_lrzip_get_packages;
221
command_class = FR_COMMAND_CLASS (klass);
222
command_class->list = fr_command_lrzip_list;
223
command_class->add = fr_command_lrzip_add;
224
command_class->extract = fr_command_lrzip_extract;
229
fr_command_lrzip_init (FrCommandLrzip *self)
231
FrArchive *base = FR_ARCHIVE (self);
233
base->propAddCanUpdate = FALSE;
234
base->propAddCanReplace = FALSE;
235
base->propAddCanStoreFolders = FALSE;
236
base->propAddCanStoreLinks = FALSE;
237
base->propExtractCanAvoidOverwrite = TRUE;
238
base->propExtractCanSkipOlder = FALSE;
239
base->propExtractCanJunkPaths = FALSE;
240
base->propPassword = FALSE;
241
base->propTest = FALSE;