Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
tuple_compiler.h
Go to the documentation of this file.
00001 /*
00002  * Audacious - Tuplez compiler
00003  * Copyright (c) 2007 Matti 'ccr' Hämäläinen
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; under version 3 of the License.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program.  If not, see <http://www.gnu.org/licenses>.
00016  *
00017  * The Audacious team does not consider modular code linking to
00018  * Audacious or using our public API to be a derived work.
00019  */
00020 
00021 #ifndef LIBAUDCORE_TUPLE_COMPILER_H
00022 #define LIBAUDCORE_TUPLE_COMPILER_H
00023 
00024 #include <glib.h>
00025 #include <libaudcore/tuple.h>
00026 
00027 struct _TupleEvalNode;
00028 typedef struct _TupleEvalNode TupleEvalNode;
00029 
00030 struct _TupleEvalContext;
00031 typedef struct _TupleEvalContext TupleEvalContext;
00032 
00033 TupleEvalContext * tuple_evalctx_new(void);
00034 void tuple_evalctx_reset(TupleEvalContext *ctx);
00035 void tuple_evalctx_free(TupleEvalContext *ctx);
00036 
00037 void tuple_evalnode_free(TupleEvalNode *expr);
00038 
00039 TupleEvalNode *tuple_formatter_compile(TupleEvalContext *ctx, char *expr);
00040 void tuple_formatter_eval (TupleEvalContext * ctx, TupleEvalNode * expr,
00041  const Tuple * tuple, GString * out);
00042 
00043 #endif /* LIBAUDCORE_TUPLE_COMPILER_H */