"Fossies" - the Fresh Open Source Software Archive

Member "dav-4.0.3/lib/CalDAV/Backend/SchedulingSupport.php" (10 Jan 2020, 2133 Bytes) of package /linux/www/dav-4.0.3.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) PHP source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "SchedulingSupport.php" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 4.0.2_vs_4.0.3.

    1 <?php
    2 
    3 declare(strict_types=1);
    4 
    5 namespace Sabre\CalDAV\Backend;
    6 
    7 /**
    8  * Implementing this interface adds CalDAV Scheduling support to your caldav
    9  * server, as defined in rfc6638.
   10  *
   11  * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
   12  * @author Evert Pot (http://evertpot.com/)
   13  * @license http://sabre.io/license/ Modified BSD License
   14  */
   15 interface SchedulingSupport extends BackendInterface
   16 {
   17     /**
   18      * Returns a single scheduling object for the inbox collection.
   19      *
   20      * The returned array should contain the following elements:
   21      *   * uri - A unique basename for the object. This will be used to
   22      *           construct a full uri.
   23      *   * calendardata - The iCalendar object
   24      *   * lastmodified - The last modification date. Can be an int for a unix
   25      *                    timestamp, or a PHP DateTime object.
   26      *   * etag - A unique token that must change if the object changed.
   27      *   * size - The size of the object, in bytes.
   28      *
   29      * @param string $principalUri
   30      * @param string $objectUri
   31      *
   32      * @return array
   33      */
   34     public function getSchedulingObject($principalUri, $objectUri);
   35 
   36     /**
   37      * Returns all scheduling objects for the inbox collection.
   38      *
   39      * These objects should be returned as an array. Every item in the array
   40      * should follow the same structure as returned from getSchedulingObject.
   41      *
   42      * The main difference is that 'calendardata' is optional.
   43      *
   44      * @param string $principalUri
   45      *
   46      * @return array
   47      */
   48     public function getSchedulingObjects($principalUri);
   49 
   50     /**
   51      * Deletes a scheduling object from the inbox collection.
   52      *
   53      * @param string $principalUri
   54      * @param string $objectUri
   55      */
   56     public function deleteSchedulingObject($principalUri, $objectUri);
   57 
   58     /**
   59      * Creates a new scheduling object. This should land in a users' inbox.
   60      *
   61      * @param string          $principalUri
   62      * @param string          $objectUri
   63      * @param string|resource $objectData
   64      */
   65     public function createSchedulingObject($principalUri, $objectUri, $objectData);
   66 }