1<?php 2 3namespace SabreForRainLoop\CalDAV; 4use SabreForRainLoop\DAV; 5 6/** 7 * Calendar interface 8 * 9 * Implement this interface to allow a node to be recognized as an calendar. 10 * 11 * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/). 12 * @author Evert Pot (http://evertpot.com/) 13 * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License 14 */ 15interface ICalendar extends DAV\ICollection { 16 17 /** 18 * Performs a calendar-query on the contents of this calendar. 19 * 20 * The calendar-query is defined in RFC4791 : CalDAV. Using the 21 * calendar-query it is possible for a client to request a specific set of 22 * object, based on contents of iCalendar properties, date-ranges and 23 * iCalendar component types (VTODO, VEVENT). 24 * 25 * This method should just return a list of (relative) urls that match this 26 * query. 27 * 28 * The list of filters are specified as an array. The exact array is 29 * documented by \SabreForRainLoop\CalDAV\CalendarQueryParser. 30 * 31 * @param array $filters 32 * @return array 33 */ 34 public function calendarQuery(array $filters); 35 36} 37