1<?php 2 3namespace 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) fruux GmbH (https://fruux.com/) 15 * @author Dominik Tobschall 16 * @license http://sabre.io/license/ Modified BSD License 17 */ 18interface 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 public 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 public function getNext(); 38 39} 40