Version 1
[yaffs-website] / vendor / alchemy / zippy / src / Adapter / GNUTar / TarGNUTarAdapter.php
diff --git a/vendor/alchemy/zippy/src/Adapter/GNUTar/TarGNUTarAdapter.php b/vendor/alchemy/zippy/src/Adapter/GNUTar/TarGNUTarAdapter.php
new file mode 100644 (file)
index 0000000..85d8270
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+
+namespace Alchemy\Zippy\Adapter\GNUTar;
+
+use Alchemy\Zippy\Adapter\AbstractTarAdapter;
+use Alchemy\Zippy\Adapter\VersionProbe\GNUTarVersionProbe;
+use Alchemy\Zippy\Parser\ParserInterface;
+use Alchemy\Zippy\Resource\ResourceManager;
+use Alchemy\Zippy\ProcessBuilder\ProcessBuilderFactoryInterface;
+
+/**
+ * GNUTarAdapter allows you to create and extract files from archives using GNU tar
+ *
+ * @see http://www.gnu.org/software/tar/manual/tar.html
+ */
+class TarGNUTarAdapter extends AbstractTarAdapter
+{
+    public function __construct(ParserInterface $parser, ResourceManager $manager, ProcessBuilderFactoryInterface $inflator, ProcessBuilderFactoryInterface $deflator)
+    {
+        parent::__construct($parser, $manager, $inflator, $deflator);
+        $this->probe = new GNUTarVersionProbe($inflator, $deflator);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function getLocalOptions()
+    {
+        return array();
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public static function getName()
+    {
+        return 'gnu-tar';
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public static function getDefaultDeflatorBinaryName()
+    {
+        return array('gnutar', 'tar');
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public static function getDefaultInflatorBinaryName()
+    {
+        return array('gnutar', 'tar');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getListMembersOptions()
+    {
+        return array('--utc');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtractOptions()
+    {
+        return array('--overwrite');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtractMembersOptions()
+    {
+        return array('--overwrite');
+    }
+}