xref: /plugin/davcal/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php (revision a1a3b6794e0e143a4a8b51d3185ce2d339be61ab)
1*a1a3b679SAndreas Boehler<?php
2*a1a3b679SAndreas Boehler
3*a1a3b679SAndreas Boehlernamespace Sabre\CalDAV\Notifications;
4*a1a3b679SAndreas Boehler
5*a1a3b679SAndreas Boehler/**
6*a1a3b679SAndreas Boehler * This node represents a single notification.
7*a1a3b679SAndreas Boehler *
8*a1a3b679SAndreas Boehler * The signature is mostly identical to that of Sabre\DAV\IFile, but the get() method
9*a1a3b679SAndreas Boehler * MUST return an xml document that matches the requirements of the
10*a1a3b679SAndreas Boehler * 'caldav-notifications.txt' spec.
11*a1a3b679SAndreas Boehler *
12*a1a3b679SAndreas Boehler * For a complete example, check out the Notification class, which contains
13*a1a3b679SAndreas Boehler * some helper functions.
14*a1a3b679SAndreas Boehler *
15*a1a3b679SAndreas Boehler * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
16*a1a3b679SAndreas Boehler * @author Evert Pot (http://evertpot.com/)
17*a1a3b679SAndreas Boehler * @license http://sabre.io/license/ Modified BSD License
18*a1a3b679SAndreas Boehler */
19*a1a3b679SAndreas Boehlerinterface INode {
20*a1a3b679SAndreas Boehler
21*a1a3b679SAndreas Boehler    /**
22*a1a3b679SAndreas Boehler     * This method must return an xml element, using the
23*a1a3b679SAndreas Boehler     * Sabre\CalDAV\Notifications\INotificationType classes.
24*a1a3b679SAndreas Boehler     *
25*a1a3b679SAndreas Boehler     * @return INotificationType
26*a1a3b679SAndreas Boehler     */
27*a1a3b679SAndreas Boehler    function getNotificationType();
28*a1a3b679SAndreas Boehler
29*a1a3b679SAndreas Boehler    /**
30*a1a3b679SAndreas Boehler     * Returns the etag for the notification.
31*a1a3b679SAndreas Boehler     *
32*a1a3b679SAndreas Boehler     * The etag must be surrounded by litteral double-quotes.
33*a1a3b679SAndreas Boehler     *
34*a1a3b679SAndreas Boehler     * @return string
35*a1a3b679SAndreas Boehler     */
36*a1a3b679SAndreas Boehler    function getETag();
37*a1a3b679SAndreas Boehler
38*a1a3b679SAndreas Boehler}
39