1*a1a3b679SAndreas Boehler<?php 2*a1a3b679SAndreas Boehler 3*a1a3b679SAndreas Boehlernamespace Sabre\CalDAV; 4*a1a3b679SAndreas Boehler 5*a1a3b679SAndreas Boehler/** 6*a1a3b679SAndreas Boehler * This interface represents a node that may contain calendar objects. 7*a1a3b679SAndreas Boehler * 8*a1a3b679SAndreas Boehler * This is the shared parent for both the Inbox collection and calendars 9*a1a3b679SAndreas Boehler * resources. 10*a1a3b679SAndreas Boehler * 11*a1a3b679SAndreas Boehler * In most cases you will likely want to look at ICalendar instead of this 12*a1a3b679SAndreas Boehler * interface. 13*a1a3b679SAndreas Boehler * 14*a1a3b679SAndreas Boehler * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/). 15*a1a3b679SAndreas Boehler * @author Evert Pot (http://evertpot.com/) 16*a1a3b679SAndreas Boehler * @license http://sabre.io/license/ Modified BSD License 17*a1a3b679SAndreas Boehler */ 18*a1a3b679SAndreas Boehlerinterface ICalendarObjectContainer extends \Sabre\DAV\ICollection { 19*a1a3b679SAndreas Boehler 20*a1a3b679SAndreas Boehler /** 21*a1a3b679SAndreas Boehler * Performs a calendar-query on the contents of this calendar. 22*a1a3b679SAndreas Boehler * 23*a1a3b679SAndreas Boehler * The calendar-query is defined in RFC4791 : CalDAV. Using the 24*a1a3b679SAndreas Boehler * calendar-query it is possible for a client to request a specific set of 25*a1a3b679SAndreas Boehler * object, based on contents of iCalendar properties, date-ranges and 26*a1a3b679SAndreas Boehler * iCalendar component types (VTODO, VEVENT). 27*a1a3b679SAndreas Boehler * 28*a1a3b679SAndreas Boehler * This method should just return a list of (relative) urls that match this 29*a1a3b679SAndreas Boehler * query. 30*a1a3b679SAndreas Boehler * 31*a1a3b679SAndreas Boehler * The list of filters are specified as an array. The exact array is 32*a1a3b679SAndreas Boehler * documented by \Sabre\CalDAV\CalendarQueryParser. 33*a1a3b679SAndreas Boehler * 34*a1a3b679SAndreas Boehler * @param array $filters 35*a1a3b679SAndreas Boehler * @return array 36*a1a3b679SAndreas Boehler */ 37*a1a3b679SAndreas Boehler function calendarQuery(array $filters); 38*a1a3b679SAndreas Boehler 39*a1a3b679SAndreas Boehler} 40