xref: /plugin/davcal/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php (revision a1a3b6794e0e143a4a8b51d3185ce2d339be61ab)
1*a1a3b679SAndreas Boehler<?php
2*a1a3b679SAndreas Boehler
3*a1a3b679SAndreas Boehlernamespace Sabre\CalDAV\Xml\Notification;
4*a1a3b679SAndreas Boehler
5*a1a3b679SAndreas Boehleruse Sabre\Xml\XmlSerializable;
6*a1a3b679SAndreas Boehleruse Sabre\Xml\Writer;
7*a1a3b679SAndreas Boehler
8*a1a3b679SAndreas Boehler/**
9*a1a3b679SAndreas Boehler * This interface reflects a single notification type.
10*a1a3b679SAndreas Boehler *
11*a1a3b679SAndreas Boehler * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
12*a1a3b679SAndreas Boehler * @author Evert Pot (http://evertpot.com/)
13*a1a3b679SAndreas Boehler * @license http://sabre.io/license/ Modified BSD License
14*a1a3b679SAndreas Boehler */
15*a1a3b679SAndreas Boehlerinterface NotificationInterface extends XmlSerializable {
16*a1a3b679SAndreas Boehler
17*a1a3b679SAndreas Boehler    /**
18*a1a3b679SAndreas Boehler     * This method serializes the entire notification, as it is used in the
19*a1a3b679SAndreas Boehler     * response body.
20*a1a3b679SAndreas Boehler     *
21*a1a3b679SAndreas Boehler     * @param Writer $writer
22*a1a3b679SAndreas Boehler     * @return void
23*a1a3b679SAndreas Boehler     */
24*a1a3b679SAndreas Boehler    function xmlSerializeFull(Writer $writer);
25*a1a3b679SAndreas Boehler
26*a1a3b679SAndreas Boehler    /**
27*a1a3b679SAndreas Boehler     * Returns a unique id for this notification
28*a1a3b679SAndreas Boehler     *
29*a1a3b679SAndreas Boehler     * This is just the base url. This should generally be some kind of unique
30*a1a3b679SAndreas Boehler     * id.
31*a1a3b679SAndreas Boehler     *
32*a1a3b679SAndreas Boehler     * @return string
33*a1a3b679SAndreas Boehler     */
34*a1a3b679SAndreas Boehler    function getId();
35*a1a3b679SAndreas Boehler
36*a1a3b679SAndreas Boehler    /**
37*a1a3b679SAndreas Boehler     * Returns the ETag for this notification.
38*a1a3b679SAndreas Boehler     *
39*a1a3b679SAndreas Boehler     * The ETag must be surrounded by literal double-quotes.
40*a1a3b679SAndreas Boehler     *
41*a1a3b679SAndreas Boehler     * @return string
42*a1a3b679SAndreas Boehler     */
43*a1a3b679SAndreas Boehler    function getETag();
44*a1a3b679SAndreas Boehler
45*a1a3b679SAndreas Boehler}
46