Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
tuple_compiler.h
Go to the documentation of this file.
1 /*
2  * Audacious - Tuplez compiler
3  * Copyright (c) 2007 Matti 'ccr' Hämäläinen
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; under version 3 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses>.
16  *
17  * The Audacious team does not consider modular code linking to
18  * Audacious or using our public API to be a derived work.
19  */
20 
21 #ifndef LIBAUDCORE_TUPLE_COMPILER_H
22 #define LIBAUDCORE_TUPLE_COMPILER_H
23 
24 #include <glib.h>
25 #include <libaudcore/tuple.h>
26 
27 struct _TupleEvalNode;
28 typedef struct _TupleEvalNode TupleEvalNode;
29 
30 struct _TupleEvalContext;
31 typedef struct _TupleEvalContext TupleEvalContext;
32 
33 TupleEvalContext * tuple_evalctx_new(void);
34 void tuple_evalctx_reset(TupleEvalContext *ctx);
35 void tuple_evalctx_free(TupleEvalContext *ctx);
36 
37 void tuple_evalnode_free(TupleEvalNode *expr);
38 
39 TupleEvalNode *tuple_formatter_compile(TupleEvalContext *ctx, char *expr);
40 void tuple_formatter_eval (TupleEvalContext * ctx, TupleEvalNode * expr,
41  const Tuple * tuple, GString * out);
42 
43 #endif /* LIBAUDCORE_TUPLE_COMPILER_H */