1<?php 2 3declare(strict_types=1); 4 5namespace Sabre\DAV; 6 7/** 8 * By implementing this interface, a collection can effectively say "other 9 * nodes may be copied into this collection". 10 * 11 * If a backend supports a better optimized copy operation, e.g. by avoiding 12 * copying the contents, this can trigger some huge speed gains. 13 * 14 * @copyright Copyright (C) fruux GmbH (https://fruux.com/) 15 * @author Evert Pot (http://evertpot.com/) 16 * @license http://sabre.io/license/ Modified BSD License 17 */ 18interface ICopyTarget extends ICollection 19{ 20 /** 21 * Copies a node into this collection. 22 * 23 * It is up to the implementors to: 24 * 1. Create the new resource. 25 * 2. Copy the data and any properties. 26 * 27 * If you return true from this function, the assumption 28 * is that the copy was successful. 29 * If you return false, sabre/dav will handle the copy itself. 30 * 31 * @param string $targetName new local file/collection name 32 * @param string $sourcePath Full path to source node 33 * @param INode $sourceNode Source node itself 34 * 35 * @return bool 36 */ 37 public function copyInto($targetName, $sourcePath, INode $sourceNode); 38} 39