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