summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/include/fe_utils.h
blob: 3de5df8cdc7a5d4ef3f13f6cc030d58f70e71f22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// $Id$

#ifndef FE_UTILS_H
#define FE_UTILS_H

#include "ace/Unbounded_Queue.h"

#include "ast_decl.h"

class UTL_StrList;
class UTL_IdList;
typedef UTL_IdList UTL_ScopedName;
class UTL_NameList;

struct TAO_IDL_FE_Export FE_Utils
{
  struct T_Param_Info
  {
    AST_Decl::NodeType type_;
    ACE_CString name_;
  };

  typedef ACE_Unbounded_Queue<T_Param_Info> T_PARAMLIST_INFO;

  struct T_Ref_Info
  {
    UTL_ScopedName *name_;
    UTL_StrList *params_;

    T_Ref_Info (void);
    T_Ref_Info (UTL_ScopedName *n, UTL_StrList *strs);

    void destroy (void);
  };

  typedef ACE_Unbounded_Queue<T_Ref_Info> T_REFLIST_INFO;

  struct T_Inst_Info
  {
    UTL_ScopedName *name_;
    UTL_NameList *args_;

    T_Inst_Info (UTL_ScopedName *n, UTL_NameList *args);

    void destroy (void);
  };
};

#endif /* FE_UTILS_H */