annotate plugins/libcalendaring/lib/Sabre/VObject/Splitter/SplitterInterface.php @ 38:ac106d4c8961 default tip

flip /etc/roundcube to point here
author Charlie Root
date Sat, 29 Dec 2018 05:39:53 -0500
parents 888e774ee983
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
1 <?php
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
2
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
3 namespace Sabre\VObject\Splitter;
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
4
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
5 /**
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
6 * VObject splitter
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
7 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
8 * The splitter is responsible for reading a large vCard or iCalendar object,
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
9 * and splitting it into multiple objects.
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
10 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
11 * This is for example for Card and CalDAV, which require every event and vcard
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
12 * to exist in their own objects, instead of one large one.
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
13 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
14 * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
15 * @author Dominik Tobschall
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
16 * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
17 */
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
18 interface SplitterInterface {
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
19
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
20 /**
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
21 * Constructor
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
22 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
23 * The splitter should receive an readable file stream as it's input.
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
24 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
25 * @param resource $input
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
26 */
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
27 function __construct($input);
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
28
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
29 /**
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
30 * Every time getNext() is called, a new object will be parsed, until we
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
31 * hit the end of the stream.
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
32 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
33 * When the end is reached, null will be returned.
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
34 *
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
35 * @return Sabre\VObject\Component|null
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
36 */
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
37 function getNext();
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
38
888e774ee983 libcalendar plugin as distributed
Charlie Root
parents:
diff changeset
39 }