aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/lib/DAV/IMoveTarget.php
diff options
context:
space:
mode:
authorWave <wave72@users.noreply.github.com>2016-07-22 10:55:02 +0200
committerGitHub <noreply@github.com>2016-07-22 10:55:02 +0200
commit744ad84714fe0f7a3d90250a4ff02dc4327b9061 (patch)
tree595fb74ec9ea0bc7130d18bd7993d719a222d343 /vendor/sabre/dav/lib/DAV/IMoveTarget.php
parentc38c79d71c8ef70ef649f83e322f1984b75ee2dd (diff)
parent7d897a3f03bd57ed556433eb84a41963ba44e02e (diff)
downloadvolse-hubzilla-744ad84714fe0f7a3d90250a4ff02dc4327b9061.tar.gz
volse-hubzilla-744ad84714fe0f7a3d90250a4ff02dc4327b9061.tar.bz2
volse-hubzilla-744ad84714fe0f7a3d90250a4ff02dc4327b9061.zip
Merge pull request #6 from redmatrix/dev
Dev
Diffstat (limited to 'vendor/sabre/dav/lib/DAV/IMoveTarget.php')
-rw-r--r--vendor/sabre/dav/lib/DAV/IMoveTarget.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/sabre/dav/lib/DAV/IMoveTarget.php b/vendor/sabre/dav/lib/DAV/IMoveTarget.php
new file mode 100644
index 000000000..f0f67bc26
--- /dev/null
+++ b/vendor/sabre/dav/lib/DAV/IMoveTarget.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace Sabre\DAV;
+
+/**
+ * By implementing this interface, a collection can effectively say "other
+ * nodes may be moved into this collection".
+ *
+ * The benefit of this, is that sabre/dav will by default perform a move, by
+ * tranfersing an entire directory tree, copying every collection, and deleting
+ * every item.
+ *
+ * If a backend supports a better optimized move operation, this can trigger
+ * some huge speed gains.
+ *
+ * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
+ * @author Evert Pot (http://evertpot.com/)
+ * @license http://sabre.io/license/ Modified BSD License
+ */
+interface IMoveTarget extends ICollection {
+
+ /**
+ * Moves a node into this collection.
+ *
+ * It is up to the implementors to:
+ * 1. Create the new resource.
+ * 2. Remove the old resource.
+ * 3. Transfer any properties or other data.
+ *
+ * Generally you should make very sure that your collection can easily move
+ * the move.
+ *
+ * If you don't, just return false, which will trigger sabre/dav to handle
+ * the move itself. If you return true from this function, the assumption
+ * is that the move was successful.
+ *
+ * @param string $targetName New local file/collection name.
+ * @param string $sourcePath Full path to source node
+ * @param INode $sourceNode Source node itself
+ * @return bool
+ */
+ function moveInto($targetName, $sourcePath, INode $sourceNode);
+
+}