Version 1
[yaffs-website] / vendor / alchemy / zippy / src / Adapter / BSDTar / TarBSDTarAdapter.php
diff --git a/vendor/alchemy/zippy/src/Adapter/BSDTar/TarBSDTarAdapter.php b/vendor/alchemy/zippy/src/Adapter/BSDTar/TarBSDTarAdapter.php
new file mode 100644 (file)
index 0000000..13a523f
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+
+namespace Alchemy\Zippy\Adapter\BSDTar;
+
+use Alchemy\Zippy\Adapter\AbstractTarAdapter;
+use Alchemy\Zippy\Adapter\VersionProbe\BSDTarVersionProbe;
+use Alchemy\Zippy\Parser\ParserInterface;
+use Alchemy\Zippy\Resource\ResourceManager;
+use Alchemy\Zippy\ProcessBuilder\ProcessBuilderFactoryInterface;
+
+/**
+ * BSDTAR allows you to create and extract files from archives using BSD tar
+ *
+ * @see http://people.freebsd.org/~kientzle/libarchive/man/bsdtar.1.txt
+ */
+class TarBSDTarAdapter extends AbstractTarAdapter
+{
+    public function __construct(ParserInterface $parser, ResourceManager $manager, ProcessBuilderFactoryInterface $inflator, ProcessBuilderFactoryInterface $deflator)
+    {
+        parent::__construct($parser, $manager, $inflator, $deflator);
+        $this->probe = new BSDTarVersionProbe($inflator, $deflator);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function getLocalOptions()
+    {
+        return array();
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public static function getName()
+    {
+        return 'bsd-tar';
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public static function getDefaultDeflatorBinaryName()
+    {
+        return array('bsdtar', 'tar');
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public static function getDefaultInflatorBinaryName()
+    {
+        return array('bsdtar', 'tar');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getListMembersOptions()
+    {
+        return array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtractOptions()
+    {
+        return array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtractMembersOptions()
+    {
+        return array();
+    }
+}