aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/external/mount.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/lib/external/mount.php')
-rw-r--r--apps/files_sharing/lib/external/mount.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/external/mount.php b/apps/files_sharing/lib/external/mount.php
new file mode 100644
index 00000000000..a42a12f9b9a
--- /dev/null
+++ b/apps/files_sharing/lib/external/mount.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OCA\Files_Sharing\External;
+
+use OC\Files\Mount\MoveableMount;
+
+class Mount extends \OC\Files\Mount\Mount implements MoveableMount {
+
+ /**
+ * @var \OCA\Files_Sharing\External\Manager
+ */
+ protected $manager;
+
+ /**
+ * @param string|\OC\Files\Storage\Storage $storage
+ * @param string $mountpoint
+ * @param array $options
+ * @param \OCA\Files_Sharing\External\Manager $manager
+ * @param \OC\Files\Storage\Loader $loader
+ */
+ public function __construct($storage, $mountpoint, $options, $manager, $loader = null) {
+ parent::__construct($storage, $mountpoint, $options, $loader);
+ $this->manager = $manager;
+ }
+
+ /**
+ * Move the mount point to $target
+ *
+ * @param string $target the target mount point
+ * @return bool
+ */
+ public function moveMount($target) {
+ $result = $this->manager->setMountPoint($this->mountPoint, $target);
+ $this->setMountPoint($target);
+ return $result;
+ }
+
+ /**
+ * Remove the mount points
+ *
+ * @return mixed
+ * @return bool
+ */
+ public function removeMount() {
+ return $this->manager->removeShare($this->mountPoint);
+ }
+}