mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-30 16:40:28 +01:00
62 lines
2.1 KiB
PHP
62 lines
2.1 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Sabre\CalDAV\Backend;
|
||
|
|
||
|
use Sabre\CalDAV\Xml\Notification\NotificationInterface;
|
||
|
|
||
|
/**
|
||
|
* Adds caldav notification support to a backend.
|
||
|
*
|
||
|
* Note: This feature is experimental, and may change in between different
|
||
|
* SabreDAV versions.
|
||
|
*
|
||
|
* Notifications are defined at:
|
||
|
* http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk/doc/Extensions/caldav-notifications.txt
|
||
|
*
|
||
|
* These notifications are basically a list of server-generated notifications
|
||
|
* displayed to the user. Users can dismiss notifications by deleting them.
|
||
|
*
|
||
|
* The primary usecase is to allow for calendar-sharing.
|
||
|
*
|
||
|
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
|
||
|
* @author Evert Pot (http://evertpot.com/)
|
||
|
* @license http://sabre.io/license/ Modified BSD License
|
||
|
*/
|
||
|
interface NotificationSupport extends BackendInterface {
|
||
|
|
||
|
/**
|
||
|
* Returns a list of notifications for a given principal url.
|
||
|
*
|
||
|
* @param string $principalUri
|
||
|
* @return NotificationInterface[]
|
||
|
*/
|
||
|
function getNotificationsForPrincipal($principalUri);
|
||
|
|
||
|
/**
|
||
|
* This deletes a specific notifcation.
|
||
|
*
|
||
|
* This may be called by a client once it deems a notification handled.
|
||
|
*
|
||
|
* @param string $principalUri
|
||
|
* @param NotificationInterface $notification
|
||
|
* @return void
|
||
|
*/
|
||
|
function deleteNotification($principalUri, NotificationInterface $notification);
|
||
|
|
||
|
/**
|
||
|
* This method is called when a user replied to a request to share.
|
||
|
*
|
||
|
* If the user chose to accept the share, this method should return the
|
||
|
* newly created calendar url.
|
||
|
*
|
||
|
* @param string $href The sharee who is replying (often a mailto: address)
|
||
|
* @param int $status One of the SharingPlugin::STATUS_* constants
|
||
|
* @param string $calendarUri The url to the calendar thats being shared
|
||
|
* @param string $inReplyTo The unique id this message is a response to
|
||
|
* @param string $summary A description of the reply
|
||
|
* @return null|string
|
||
|
*/
|
||
|
function shareReply($href, $status, $calendarUri, $inReplyTo, $summary = null);
|
||
|
|
||
|
}
|