1<?php 2 3namespace Sabre\CalDAV\Xml\Notification; 4 5use Sabre\Xml\Writer; 6use Sabre\Xml\XmlSerializable; 7 8/** 9 * This interface reflects a single notification type. 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 */ 15interface NotificationInterface extends XmlSerializable { 16 17 /** 18 * This method serializes the entire notification, as it is used in the 19 * response body. 20 * 21 * @param Writer $writer 22 * @return void 23 */ 24 function xmlSerializeFull(Writer $writer); 25 26 /** 27 * Returns a unique id for this notification 28 * 29 * This is just the base url. This should generally be some kind of unique 30 * id. 31 * 32 * @return string 33 */ 34 function getId(); 35 36 /** 37 * Returns the ETag for this notification. 38 * 39 * The ETag must be surrounded by literal double-quotes. 40 * 41 * @return string 42 */ 43 function getETag(); 44 45} 46