1<?php 2 3declare(strict_types=1); 4 5namespace Sabre\DAV; 6 7/** 8 * IProperties interface. 9 * 10 * Implement this interface to support custom WebDAV properties requested and sent from clients. 11 * 12 * @copyright Copyright (C) fruux GmbH (https://fruux.com/) 13 * @author Evert Pot (http://evertpot.com/) 14 * @license http://sabre.io/license/ Modified BSD License 15 */ 16interface IProperties extends INode 17{ 18 /** 19 * Updates properties on this node. 20 * 21 * This method received a PropPatch object, which contains all the 22 * information about the update. 23 * 24 * To update specific properties, call the 'handle' method on this object. 25 * Read the PropPatch documentation for more information. 26 */ 27 public function propPatch(PropPatch $propPatch); 28 29 /** 30 * Returns a list of properties for this nodes. 31 * 32 * The properties list is a list of propertynames the client requested, 33 * encoded in clark-notation {xmlnamespace}tagname 34 * 35 * If the array is empty, it means 'all properties' were requested. 36 * 37 * Note that it's fine to liberally give properties back, instead of 38 * conforming to the list of requested properties. 39 * The Server class will filter out the extra. 40 * 41 * @param array $properties 42 * 43 * @return array 44 */ 45 public function getProperties($properties); 46} 47