Merge ../mlt
[melted] / src / framework / mlt_tokeniser.h
1 /**
2 * \file mlt_tokeniser.h
3 * \brief string tokeniser
4 * \see mlt_tokeniser_s
5 *
6 * Copyright (C) 2002-2009 Ushodaya Enterprises Limited
7 * \author Charles Yates <charles.yates@pandora.be>
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23
24 #ifndef _MLT_TOKENISER_H_
25 #define _MLT_TOKENISER_H_
26
27 /** \brief Tokeniser class
28 *
29 */
30
31 typedef struct
32 {
33 char *input;
34 char **tokens;
35 int count;
36 int size;
37 }
38 *mlt_tokeniser, mlt_tokeniser_t;
39
40 /* Remote parser API.
41 */
42
43 extern mlt_tokeniser mlt_tokeniser_init( );
44 extern int mlt_tokeniser_parse_new( mlt_tokeniser self, char *text, const char *delimiter );
45 extern char *mlt_tokeniser_get_input( mlt_tokeniser self );
46 extern int mlt_tokeniser_count( mlt_tokeniser self );
47 extern char *mlt_tokeniser_get_string( mlt_tokeniser self, int index );
48 extern void mlt_tokeniser_close( mlt_tokeniser self );
49
50 #endif