1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
3 * Copyright (C) 2006 Armin Burgmeier
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; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Library General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 #ifndef __CLASSGEN_TRANSFORM_H__
21 #define __CLASSGEN_TRANSFORM_H__
23 #include "element-editor.h"
25 #include <glib/ghash.h>
29 /* This file contains several functions that transform the user input from
30 * the main window to the actual output that is given to autogen.
32 * Most of these functions are very specialized and only for one special
33 * use case, but it should not be that hard to make them operate more
34 * general if you need them to. */
37 cg_transform_default_c_type_to_g_type (const gchar
*c_type
,
38 const gchar
**g_type_prefix
,
39 const gchar
**g_type_name
);
42 cg_transform_custom_c_type_to_g_type (const gchar
*c_type
,
43 gchar
**g_type_prefix
,
45 gchar
**g_func_prefix
);
48 cg_transform_c_type_to_g_type (const gchar
*c_type
,
49 gchar
**g_type_prefix
,
53 cg_transform_string (GHashTable
*table
,
57 cg_transform_flags (GHashTable
*table
,
59 const CgElementEditorFlags
*flags
);
62 cg_transform_guess_paramspec (GHashTable
*table
,
63 const gchar
*param_index
,
64 const gchar
*type_index
,
65 const gchar
*guess_entry
);
68 cg_transform_arguments (GHashTable
*table
,
73 cg_transform_string_to_identifier (GHashTable
*table
,
74 const gchar
*string_index
,
75 const gchar
*identifier_index
);
78 cg_transform_first_argument (GHashTable
*table
,
83 cg_transform_arguments_to_gtypes (GHashTable
*table
,
84 const gchar
*arguments_index
,
85 const gchar
*gtypes_index
);
89 #endif /* __CLASSGEN_TRANSFORM_H__ */