source: trunk/ORBit2-2.14.0/src/idl-compiler/orbit-idl-c-backend.h

Last change on this file was 249, checked in by cinc, 19 years ago

Provide parameter info for methods for runtime type information.

File size: 2.8 KB
Line 
1#ifndef ORBIT_IDL_C_BACKEND_H
2#define ORBIT_IDL_C_BACKEND_H
3
4#include "orbit-idl2.h"
5
6#include <unistd.h>
7
8#define OIDL_C_WARNING "/*\n * This file was generated by orbit-idl-2 for Voyager - DO NOT EDIT!\n *\n *\n * And remember, phase 3 is near...\n */\n\n"
9
10typedef struct {
11 char *base_name;
12 char *c_base_name;
13 FILE *fh;
14 GString *ext_dcls;
15 gboolean do_impl_hack;
16 gboolean do_skel_defs;
17} OIDL_C_Info;
18
19gboolean orbit_idl_output_c (IDL_tree tree,
20 OIDL_Run_Info *rinfo);
21void orbit_idl_output_c_headers (IDL_tree tree,
22 OIDL_Run_Info *rinfo,
23 OIDL_C_Info *ci);
24void orbit_idl_output_c_stubs (IDL_tree tree,
25 OIDL_Run_Info *rinfo,
26 OIDL_C_Info *ci);
27void orbit_idl_output_c_skeletons (IDL_tree tree,
28 OIDL_Run_Info *rinfo,
29 OIDL_C_Info *ci);
30void orbit_idl_output_c_common (IDL_tree tree,
31 OIDL_Run_Info *rinfo,
32 OIDL_C_Info *ci);
33void orbit_idl_output_c_skelimpl (IDL_tree tree,
34 OIDL_Run_Info *rinfo,
35 OIDL_C_Info *ci);
36void orbit_idl_output_c_imodule (IDL_tree tree,
37 OIDL_Run_Info *rinfo,
38 OIDL_C_Info *ci);
39void orbit_idl_output_c_deps (IDL_tree tree,
40 OIDL_Run_Info *rinfo,
41 OIDL_C_Info *ci);
42
43void orbit_output_typecode (OIDL_C_Info *ci, IDL_tree ts);
44
45char *orbit_idl_c_filename_for_pass (const char *input_filename, int pass);
46
47/* utils */
48char *orbit_cbe_get_typespec_str (IDL_tree tree);
49void orbit_cbe_write_typespec (FILE *of,
50 IDL_tree tree);
51void orbit_cbe_write_param_typespec (FILE *of,
52 IDL_tree tree);
53void orbit_cbe_op_write_proto (FILE *of,
54 IDL_tree op,
55 const char *nom_prefix,
56 gboolean for_epv);
57IDL_tree orbit_cbe_get_typespec (IDL_tree tree);
58void orbit_cbe_write_const (FILE *of,
59 IDL_tree tree);
60gboolean orbit_cbe_type_is_fixed_length (IDL_tree ts);
61gboolean orbit_cbe_type_is_builtin (IDL_tree tree);
62void orbit_cbe_id_define_hack (FILE *fh,
63 const char *def_prefix,
64 const char *def_name,
65 const char *def_value);
66void orbit_cbe_id_cond_hack (FILE *fh,
67 const char *def_prefix,
68 const char *def_name,
69 const char *def_value);
70char *orbit_cbe_get_typecode_name (IDL_tree tree);
71void orbit_cbe_flatten_args (IDL_tree tree,
72 FILE *of,
73 const char *name);
74void orbit_cbe_unflatten_args (IDL_tree tree,
75 FILE *of,
76 const char *name);
77gulong orbit_cbe_get_typespec_size(IDL_tree tree);
78
79void orbit_cbe_voyager_write_param_typespec(FILE *of, IDL_tree tree);
80#endif
Note: See TracBrowser for help on using the repository browser.