1*a1a3b679SAndreas Boehler<?php 2*a1a3b679SAndreas Boehler 3*a1a3b679SAndreas Boehlernamespace Sabre\DAV; 4*a1a3b679SAndreas Boehler 5*a1a3b679SAndreas Boehler/** 6*a1a3b679SAndreas Boehler * IMultiGet 7*a1a3b679SAndreas Boehler * 8*a1a3b679SAndreas Boehler * This interface adds a tiny bit of functionality to collections. 9*a1a3b679SAndreas Boehler * 10*a1a3b679SAndreas Boehler * There a certain situations, in particular in relation to WebDAV-Sync, CalDAV 11*a1a3b679SAndreas Boehler * and CardDAV, where information for a list of items will be requested. 12*a1a3b679SAndreas Boehler * 13*a1a3b679SAndreas Boehler * Because the getChild() call is the main abstraction method, this can in 14*a1a3b679SAndreas Boehler * reality result in many database calls, which could potentially be 15*a1a3b679SAndreas Boehler * optimized. 16*a1a3b679SAndreas Boehler * 17*a1a3b679SAndreas Boehler * The MultiGet interface is used by the server in these cases. 18*a1a3b679SAndreas Boehler * 19*a1a3b679SAndreas Boehler * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/). 20*a1a3b679SAndreas Boehler * @author Evert Pot (http://evertpot.com/) 21*a1a3b679SAndreas Boehler * @license http://sabre.io/license/ Modified BSD License 22*a1a3b679SAndreas Boehler */ 23*a1a3b679SAndreas Boehlerinterface IMultiGet extends ICollection { 24*a1a3b679SAndreas Boehler 25*a1a3b679SAndreas Boehler /** 26*a1a3b679SAndreas Boehler * This method receives a list of paths in it's first argument. 27*a1a3b679SAndreas Boehler * It must return an array with Node objects. 28*a1a3b679SAndreas Boehler * 29*a1a3b679SAndreas Boehler * If any children are not found, you do not have to return them. 30*a1a3b679SAndreas Boehler * 31*a1a3b679SAndreas Boehler * @param string[] $paths 32*a1a3b679SAndreas Boehler * @return array 33*a1a3b679SAndreas Boehler */ 34*a1a3b679SAndreas Boehler function getMultipleChildren(array $paths); 35*a1a3b679SAndreas Boehler 36*a1a3b679SAndreas Boehler} 37