]> rtime.felk.cvut.cz Git - orte.git/blob - orte/idl-compiler/orte-idl2.h
New ORTE version 0.3.0 committed
[orte.git] / orte / idl-compiler / orte-idl2.h
1 #ifndef ORTE_IDL2_H
2 #define ORTE_IDL2_H 1
3
4 #include "orte-idl3-types.h"
5
6 gboolean orbit_idl_to_backend     (const char    *filename,
7                                    OIDL_Run_Info *rinfo);
8
9 gboolean orbit_idl_backend_output (OIDL_Run_Info *rinfo,
10                                    IDL_tree       tree);
11
12 /* Utils */
13 void     orbit_idl_attr_fake_ops         (IDL_tree      attr,
14                                           IDL_ns        ns);
15 void     orbit_idl_print_node            (IDL_tree      node,
16                                           int           indent_level);
17 void     IDL_tree_traverse_parents       (IDL_tree      p,
18                                           GFunc         f,
19                                           gconstpointer func_data);
20 void     IDL_tree_traverse_parents_full  (IDL_tree      p,
21                                           GFunc         f,
22                                           gconstpointer func_data, 
23                                           gboolean      include_self);
24 gboolean orbit_cbe_type_contains_complex (IDL_tree      ts);
25 void     orbit_idl_check_oneway_op       (IDL_tree      op);
26
27 typedef enum { DATA_IN=1, DATA_INOUT=2, DATA_OUT=4, DATA_RETURN=8 } IDL_ParamRole;
28 gint oidl_param_info(IDL_tree param, IDL_ParamRole role, gboolean *isSlice);
29
30 gboolean orbit_cbe_type_is_fixed_length(IDL_tree ts);
31 IDL_tree orbit_cbe_get_typespec(IDL_tree node);
32 IDL_ParamRole oidl_attr_to_paramrole(enum IDL_param_attr attr);
33
34 #define ORTE_RETVAL_VAR_NAME "_ORTE_retval"
35 #define ORTE_EPV_VAR_NAME    "_ORTE_epv"
36
37 #endif /* ORBIT_IDL2_H */