[file-roller: 4/6] implemented the get_packages method for all the commands
- From: Paolo Bacchilega <paobac src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [file-roller: 4/6] implemented the get_packages method for all the commands
- Date: Fri, 23 Oct 2009 17:28:26 +0000 (UTC)
commit 389f251cfdd273bec4de61ec858e4f52e3aa04d8
Author: Paolo Bacchilega <paobac src gnome org>
Date: Fri Oct 23 19:13:41 2009 +0200
implemented the get_packages method for all the commands
src/fr-command-7z.c | 16 +++++++++++++++-
src/fr-command-ace.c | 9 +++++++++
src/fr-command-alz.c | 9 +++++++++
src/fr-command-ar.c | 9 +++++++++
src/fr-command-arj.c | 9 +++++++++
src/fr-command-cfile.c | 26 ++++++++++++++++++++++++++
src/fr-command-cpio.c | 9 +++++++++
src/fr-command-iso.c | 9 +++++++++
src/fr-command-jar.c | 9 +++++++++
src/fr-command-lha.c | 9 +++++++++
src/fr-command-rar.c | 6 ++----
src/fr-command-rpm.c | 9 +++++++++
src/fr-command-tar.c | 28 ++++++++++++++++++++++++++++
src/fr-command-unstuff.c | 9 +++++++++
src/fr-command-zip.c | 9 +++++++++
src/fr-command-zoo.c | 9 +++++++++
16 files changed, 179 insertions(+), 5 deletions(-)
---
diff --git a/src/fr-command-7z.c b/src/fr-command-7z.c
index ebc4fe5..858d2da 100644
--- a/src/fr-command-7z.c
+++ b/src/fr-command-7z.c
@@ -550,7 +550,7 @@ fr_command_7z_get_capabilities (FrCommand *comm,
if (is_mime_type (mime_type, "application/x-rar")
|| is_mime_type (mime_type, "application/x-cbr"))
{
- if (g_file_test ("/usr/lib/p7zip/Codecs/Rar29.so", G_FILE_TEST_EXISTS))
+ if (! check_command || g_file_test ("/usr/lib/p7zip/Codecs/Rar29.so", G_FILE_TEST_EXISTS))
capabilities |= FR_COMMAND_CAN_READ;
}
else
@@ -582,6 +582,19 @@ fr_command_7z_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_7z_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ if (is_mime_type (mime_type, "application/x-rar"))
+ return "p7zip,p7zip-rar";
+ else if (is_mime_type (mime_type, "application/zip") || is_mime_type (mime_type, "application/vnd.ms-cab-compressed"))
+ return "p7zip,p7zip-full";
+ else
+ return "p7zip";
+}
+
+
static void
fr_command_7z_class_init (FrCommand7zClass *class)
{
@@ -601,6 +614,7 @@ fr_command_7z_class_init (FrCommand7zClass *class)
afc->handle_error = fr_command_7z_handle_error;
afc->get_mime_types = fr_command_7z_get_mime_types;
afc->get_capabilities = fr_command_7z_get_capabilities;
+ afc->get_packages = fr_command_7z_get_packages;
}
diff --git a/src/fr-command-ace.c b/src/fr-command-ace.c
index 173b4c1..dfdd7cc 100644
--- a/src/fr-command-ace.c
+++ b/src/fr-command-ace.c
@@ -260,6 +260,14 @@ fr_command_ace_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_ace_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "unace";
+}
+
+
static void
fr_command_ace_class_init (FrCommandAceClass *class)
{
@@ -277,6 +285,7 @@ fr_command_ace_class_init (FrCommandAceClass *class)
afc->handle_error = fr_command_ace_handle_error;
afc->get_mime_types = fr_command_ace_get_mime_types;
afc->get_capabilities = fr_command_ace_get_capabilities;
+ afc->get_packages = fr_command_ace_get_packages;
}
diff --git a/src/fr-command-alz.c b/src/fr-command-alz.c
index 34fa368..d46d141 100644
--- a/src/fr-command-alz.c
+++ b/src/fr-command-alz.c
@@ -323,6 +323,14 @@ fr_command_alz_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_alz_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "unalz";
+}
+
+
static void
fr_command_alz_class_init (FrCommandAlzClass *class)
{
@@ -341,6 +349,7 @@ fr_command_alz_class_init (FrCommandAlzClass *class)
afc->handle_error = fr_command_alz_handle_error;
afc->get_mime_types = fr_command_alz_get_mime_types;
afc->get_capabilities = fr_command_alz_get_capabilities;
+ afc->get_packages = fr_command_alz_get_packages;
}
diff --git a/src/fr-command-ar.c b/src/fr-command-ar.c
index 8b7762e..d4658a7 100644
--- a/src/fr-command-ar.c
+++ b/src/fr-command-ar.c
@@ -308,6 +308,14 @@ fr_command_ar_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_ar_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "binutils";
+}
+
+
static void
fr_command_ar_class_init (FrCommandArClass *class)
{
@@ -326,6 +334,7 @@ fr_command_ar_class_init (FrCommandArClass *class)
afc->handle_error = fr_command_ar_handle_error;
afc->get_mime_types = fr_command_ar_get_mime_types;
afc->get_capabilities = fr_command_ar_get_capabilities;
+ afc->get_packages = fr_command_ar_get_packages;
}
diff --git a/src/fr-command-arj.c b/src/fr-command-arj.c
index 2d69d88..6c9b700 100644
--- a/src/fr-command-arj.c
+++ b/src/fr-command-arj.c
@@ -341,6 +341,14 @@ fr_command_arj_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_arj_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "arj";
+}
+
+
static void
fr_command_arj_class_init (FrCommandArjClass *class)
{
@@ -360,6 +368,7 @@ fr_command_arj_class_init (FrCommandArjClass *class)
afc->handle_error = fr_command_arj_handle_error;
afc->get_mime_types = fr_command_arj_get_mime_types;
afc->get_capabilities = fr_command_arj_get_capabilities;
+ afc->get_packages = fr_command_arj_get_packages;
}
diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
index 5e0ba78..9685e39 100644
--- a/src/fr-command-cfile.c
+++ b/src/fr-command-cfile.c
@@ -532,6 +532,31 @@ fr_command_cfile_finalize (GObject *object)
}
+static const char *
+fr_command_cfile_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ if (is_mime_type (mime_type, "application/x-gzip"))
+ return "gzip";
+ else if (is_mime_type (mime_type, "application/x-bzip"))
+ return "bzip2";
+ else if (is_mime_type (mime_type, "application/x-compress"))
+ return "ncompress";
+ else if (is_mime_type (mime_type, "application/x-lzip"))
+ return "lzip";
+ else if (is_mime_type (mime_type, "application/x-lzma"))
+ return "lzma";
+ else if (is_mime_type (mime_type, "application/x-xz"))
+ return "xz";
+ else if (is_mime_type (mime_type, "application/x-lzop"))
+ return "lzop";
+ else if (is_mime_type (mime_type, "application/x-rzip"))
+ return "rzip";
+
+ return NULL;
+}
+
+
static void
fr_command_cfile_class_init (FrCommandCFileClass *class)
{
@@ -549,6 +574,7 @@ fr_command_cfile_class_init (FrCommandCFileClass *class)
afc->extract = fr_command_cfile_extract;
afc->get_mime_types = fr_command_cfile_get_mime_types;
afc->get_capabilities = fr_command_cfile_get_capabilities;
+ afc->get_packages = fr_command_cfile_get_packages;
}
diff --git a/src/fr-command-cpio.c b/src/fr-command-cpio.c
index 189a513..095b33d 100644
--- a/src/fr-command-cpio.c
+++ b/src/fr-command-cpio.c
@@ -241,6 +241,14 @@ fr_command_cpio_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_cpio_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "cpio";
+}
+
+
static void
fr_command_cpio_class_init (FrCommandCpioClass *class)
{
@@ -256,6 +264,7 @@ fr_command_cpio_class_init (FrCommandCpioClass *class)
afc->extract = fr_command_cpio_extract;
afc->get_mime_types = fr_command_cpio_get_mime_types;
afc->get_capabilities = fr_command_cpio_get_capabilities;
+ afc->get_packages = fr_command_cpio_get_packages;
}
diff --git a/src/fr-command-iso.c b/src/fr-command-iso.c
index d0fd769..b275e53 100644
--- a/src/fr-command-iso.c
+++ b/src/fr-command-iso.c
@@ -226,6 +226,14 @@ fr_command_iso_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_iso_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "genisoimage";
+}
+
+
static void
fr_command_iso_class_init (FrCommandIsoClass *class)
{
@@ -241,6 +249,7 @@ fr_command_iso_class_init (FrCommandIsoClass *class)
afc->extract = fr_command_iso_extract;
afc->get_mime_types = fr_command_iso_get_mime_types;
afc->get_capabilities = fr_command_iso_get_capabilities;
+ afc->get_packages = fr_command_iso_get_packages;
}
diff --git a/src/fr-command-jar.c b/src/fr-command-jar.c
index 3efe3d4..e25c8c7 100644
--- a/src/fr-command-jar.c
+++ b/src/fr-command-jar.c
@@ -172,6 +172,14 @@ fr_command_jar_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_jar_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "zip,unzip";
+}
+
+
static void
fr_command_jar_class_init (FrCommandJarClass *class)
{
@@ -185,6 +193,7 @@ fr_command_jar_class_init (FrCommandJarClass *class)
afc->add = fr_command_jar_add;
afc->get_mime_types = fr_command_jar_get_mime_types;
afc->get_capabilities = fr_command_jar_get_capabilities;
+ afc->get_packages = fr_command_jar_get_packages;
}
diff --git a/src/fr-command-lha.c b/src/fr-command-lha.c
index efdb216..a87c208 100644
--- a/src/fr-command-lha.c
+++ b/src/fr-command-lha.c
@@ -326,6 +326,14 @@ fr_command_lha_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_lha_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "lha";
+}
+
+
static void
fr_command_lha_class_init (FrCommandLhaClass *class)
{
@@ -343,6 +351,7 @@ fr_command_lha_class_init (FrCommandLhaClass *class)
afc->extract = fr_command_lha_extract;
afc->get_mime_types = fr_command_lha_get_mime_types;
afc->get_capabilities = fr_command_lha_get_capabilities;
+ afc->get_packages = fr_command_lha_get_packages;
}
diff --git a/src/fr-command-rar.c b/src/fr-command-rar.c
index 2021e5b..d1c27b9 100644
--- a/src/fr-command-rar.c
+++ b/src/fr-command-rar.c
@@ -719,12 +719,10 @@ static const char *
fr_command_rar_get_packages (FrCommand *comm,
const char *mime_type)
{
- if (is_mime_type (mime_type, "application/x-rar") || is_mime_type (mime_type, "application/x-cbr"))
- return "rar,unrar";
- else
- return NULL;
+ return "rar,unrar";
}
+
static void
fr_command_rar_class_init (FrCommandRarClass *class)
{
diff --git a/src/fr-command-rpm.c b/src/fr-command-rpm.c
index c0016c0..bdbc01a 100644
--- a/src/fr-command-rpm.c
+++ b/src/fr-command-rpm.c
@@ -240,6 +240,14 @@ fr_command_rpm_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_rpm_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "cpio,rpm";
+}
+
+
static void
fr_command_rpm_class_init (FrCommandRpmClass *class)
{
@@ -255,6 +263,7 @@ fr_command_rpm_class_init (FrCommandRpmClass *class)
afc->extract = fr_command_rpm_extract;
afc->get_mime_types = fr_command_rpm_get_mime_types;
afc->get_capabilities = fr_command_rpm_get_capabilities;
+ afc->get_packages = fr_command_rpm_get_packages;
}
diff --git a/src/fr-command-tar.c b/src/fr-command-tar.c
index 5cea8a0..7430c1e 100644
--- a/src/fr-command-tar.c
+++ b/src/fr-command-tar.c
@@ -1045,6 +1045,33 @@ fr_command_tar_set_mime_type (FrCommand *comm,
}
+static const char *
+fr_command_tar_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ if (is_mime_type (mime_type, "application/x-tar"))
+ return "tar";
+ else if (is_mime_type (mime_type, "application/x-compressed-tar"))
+ return "tar,gzip";
+ else if (is_mime_type (mime_type, "application/x-bzip-compressed-tar"))
+ return "tar,bzip2";
+ else if (is_mime_type (mime_type, "application/x-tarz"))
+ return "tar,gzip,ncompress";
+ else if (is_mime_type (mime_type, "application/x-lzip-compressed-tar"))
+ return "tar,lzip";
+ else if (is_mime_type (mime_type, "application/x-lzma-compressed-tar"))
+ return "tar,lzma";
+ else if (is_mime_type (mime_type, "application/x-xz-compressed-tar"))
+ return "tar,xz";
+ else if (is_mime_type (mime_type, "application/x-lzop-compressed-tar"))
+ return "tar,lzop";
+ else if (is_mime_type (mime_type, "application/x-7z-compressed-tar"))
+ return "tar,p7zip";
+
+ return NULL;
+}
+
+
static void
fr_command_tar_class_init (FrCommandTarClass *class)
{
@@ -1066,6 +1093,7 @@ fr_command_tar_class_init (FrCommandTarClass *class)
afc->set_mime_type = fr_command_tar_set_mime_type;
afc->recompress = fr_command_tar_recompress;
afc->uncompress = fr_command_tar_uncompress;
+ afc->get_packages = fr_command_tar_get_packages;
}
diff --git a/src/fr-command-unstuff.c b/src/fr-command-unstuff.c
index 5419a12..c2794ca 100644
--- a/src/fr-command-unstuff.c
+++ b/src/fr-command-unstuff.c
@@ -301,6 +301,14 @@ fr_command_unstuff_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_unstaff_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "unstaff";
+}
+
+
static void
fr_command_unstuff_class_init (FrCommandUnstuffClass *class)
{
@@ -319,6 +327,7 @@ fr_command_unstuff_class_init (FrCommandUnstuffClass *class)
afc->handle_error = fr_command_unstuff_handle_error;
afc->get_mime_types = fr_command_unstuff_get_mime_types;
afc->get_capabilities = fr_command_unstuff_get_capabilities;
+ afc->get_packages = fr_command_unstaff_get_packages;
}
diff --git a/src/fr-command-zip.c b/src/fr-command-zip.c
index 3b11a79..63c516a 100644
--- a/src/fr-command-zip.c
+++ b/src/fr-command-zip.c
@@ -407,6 +407,14 @@ fr_command_zip_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_zip_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "zip,unzip";
+}
+
+
static void
fr_command_zip_class_init (FrCommandZipClass *class)
{
@@ -426,6 +434,7 @@ fr_command_zip_class_init (FrCommandZipClass *class)
afc->handle_error = fr_command_zip_handle_error;
afc->get_mime_types = fr_command_zip_get_mime_types;
afc->get_capabilities = fr_command_zip_get_capabilities;
+ afc->get_packages = fr_command_zip_get_packages;
}
diff --git a/src/fr-command-zoo.c b/src/fr-command-zoo.c
index 3fc7ce8..7429302 100644
--- a/src/fr-command-zoo.c
+++ b/src/fr-command-zoo.c
@@ -345,6 +345,14 @@ fr_command_zoo_get_capabilities (FrCommand *comm,
}
+static const char *
+fr_command_zoo_get_packages (FrCommand *comm,
+ const char *mime_type)
+{
+ return "zoo";
+}
+
+
static void
fr_command_zoo_class_init (FrCommandZooClass *class)
{
@@ -363,6 +371,7 @@ fr_command_zoo_class_init (FrCommandZooClass *class)
afc->test = fr_command_zoo_test;
afc->get_mime_types = fr_command_zoo_get_mime_types;
afc->get_capabilities = fr_command_zoo_get_capabilities;
+ afc->get_packages = fr_command_zoo_get_packages;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]