~ubuntu-branches/ubuntu/natty/orbit2/natty

« back to all changes in this revision

Viewing changes to src/idl-compiler/orbit-idl-marshal.h

  • Committer: Bazaar Package Importer
  • Author(s): Chris Waters
  • Date: 2002-03-25 17:24:03 UTC
  • Revision ID: james.westby@ubuntu.com-20020325172403-8lexv63608acfqgt
Tags: upstream-2.3.107
ImportĀ upstreamĀ versionĀ 2.3.107

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef ORBIT_IDL_MARSHAL_H
 
2
#define ORBIT_IDL_MARSHAL_H 1
 
3
 
 
4
#include "orbit-idl3-types.h"
 
5
 
 
6
typedef enum { MARSHAL_INLINE=1<<0, MARSHAL_FUNC=1<<1, MARSHAL_ANY=1<<2,
 
7
               MARSHAL_ALL=0xFFFF } OIDL_Marshal_Method;
 
8
#define MARSHAL_NUM 3
 
9
#define INLINE_SIZE_THRESHOLD 5
 
10
 
 
11
typedef struct {
 
12
  OIDL_Marshal_Method mtype, dmtype, avail_mtype, avail_dmtype;
 
13
  int use_count;
 
14
  int size;
 
15
  IDL_tree tree;
 
16
} OIDL_Type_Marshal_Info;
 
17
 
 
18
typedef struct {
 
19
  IDL_tree tree;
 
20
} OIDL_Marshal_Tree_Entry;
 
21
 
 
22
struct _OIDL_Marshal_Context {
 
23
  GHashTable *type_marshal_info;
 
24
};
 
25
 
 
26
OIDL_Marshal_Context *oidl_marshal_context_new(IDL_tree tree);
 
27
void oidl_marshal_context_dump(OIDL_Marshal_Context *ctxt);
 
28
void oidl_marshal_context_free(OIDL_Marshal_Context *ctxt);
 
29
OIDL_Type_Marshal_Info *oidl_marshal_context_find(OIDL_Marshal_Context *ctxt, IDL_tree tree);
 
30
 
 
31
typedef struct {
 
32
  OIDL_Marshal_Context *ctxt;
 
33
  enum { PI_BUILD_FUNC = 1<<0 } flags;
 
34
  OIDL_Marshal_Where where;
 
35
} OIDL_Populate_Info;
 
36
 
 
37
OIDL_Marshal_Node *marshal_populate(IDL_tree tree, OIDL_Marshal_Node *parent, OIDL_Populate_Info *pi);
 
38
#endif