]> rtime.felk.cvut.cz Git - frescor/forb.git/blob - forb-idl/forb-idl-backend.h
Prepared test cases for executors (thread specific data)
[frescor/forb.git] / forb-idl / forb-idl-backend.h
1 /*
2  * forb-idl-backend.h:
3  *
4  * Copyright (C) 2002 Sun Microsystems, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the
18  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  *
21  * Authors:
22  *      Mark McLoughlin <mark@skynet.ie>
23  */
24
25 #ifndef __FORB_IDL_BACKEND_H__
26 #define __FORB_IDL_BACKEND_H__
27
28 #include <glib.h>
29 #include <libIDL/IDL.h>
30
31 G_BEGIN_DECLS
32
33 typedef struct {
34         IDL_tree  tree;
35         char     *filename;
36
37         guint     do_stubs  : 1;
38         guint     do_skels  : 1;
39         guint     do_common : 1;
40 } ForbIDLBackendContext;
41
42 /* Define a function with this signature and named "forb_idl_backend_func"
43  * in the module.
44  *
45  * The module should be named libforb-idl-backend-$(language).so. $(language)
46  * is defined with the --lang idl-compiler command line option.
47  *
48  * Modules are searched for in the following order:
49  *   1. The directory specified by the --backenddir option.
50  *   2. %(prefix)/lib/forb-2.0/idl-backends/, where $(prefix) is the prefix
51  *      Forb2 was installed in.
52  *   3. For each $(path) in the $FORB_BACKENDS_PATH environment variable,
53  *      the module is searched for in $(path)/lib/forb-2.0/idl-backends/
54  *   4. For each $(path) in the $GNOME2_PATH environment variable,
55  *      the module is searched for in $(path)/lib/forb-2.0/idl-backends/
56  */
57
58 typedef gboolean (*ForbIDLBackendFunc) (ForbIDLBackendContext *context);
59
60 G_END_DECLS
61
62 #endif