1<?php 2 3namespace Sabre\CalDAV; 4 5/** 6 * This interface represents a node that may contain calendar objects. 7 * 8 * This is the shared parent for both the Inbox collection and calendars 9 * resources. 10 * 11 * In most cases you will likely want to look at ICalendar instead of this 12 * interface. 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 ICalendarObjectContainer extends \Sabre\DAV\ICollection { 19 20 /** 21 * Performs a calendar-query on the contents of this calendar. 22 * 23 * The calendar-query is defined in RFC4791 : CalDAV. Using the 24 * calendar-query it is possible for a client to request a specific set of 25 * object, based on contents of iCalendar properties, date-ranges and 26 * iCalendar component types (VTODO, VEVENT). 27 * 28 * This method should just return a list of (relative) urls that match this 29 * query. 30 * 31 * The list of filters are specified as an array. The exact array is 32 * documented by \Sabre\CalDAV\CalendarQueryParser. 33 * 34 * @param array $filters 35 * @return array 36 */ 37 function calendarQuery(array $filters); 38 39} 40