fix missed headers in linux build
[ACE_TAO.git] / TAO / TAO_IDL / include / ast_home.h
blobbc8a9c630ae769fa5d34d3f2676f671074121d42
1 #ifndef _AST_HOME_AST_HOME_HH
2 #define _AST_HOME_AST_HOME_HH
4 #include "ast_interface.h"
6 class AST_Home;
7 class AST_Component;
8 class AST_ValueType;
10 class TAO_IDL_FE_Export AST_Home : public virtual AST_Interface
12 public:
13 AST_Home (UTL_ScopedName *n,
14 AST_Home *base_home,
15 AST_Component *managed_component,
16 AST_Type *primary_key,
17 AST_Type **supports,
18 long n_supports,
19 AST_Interface **supports_flat,
20 long n_supports_flat);
22 virtual ~AST_Home ();
24 // Extend lookup to the base home.
25 virtual AST_Decl *look_in_inherited (UTL_ScopedName *e,
26 bool full_def_only);
28 // Extend lookup to the supported interfaces.
29 virtual AST_Decl *look_in_supported (UTL_ScopedName *e,
30 bool full_def_only);
32 // Overridden for homes from the UTL_Scope method.
33 virtual AST_Decl *special_lookup (UTL_ScopedName *,
34 bool full_def_only,
35 AST_Decl *&final_parent_decl);
37 // Accessors.
39 AST_Home *base_home () const;
41 AST_Type **supports () const;
43 long n_supports () const;
45 AST_Component *managed_component () const;
47 AST_Type *primary_key () const;
49 void transfer_scope_elements (AST_Interface *dst);
51 // Cleanup function.
52 virtual void destroy ();
54 // AST Dumping.
55 virtual void dump (ACE_OSTREAM_TYPE &o);
57 // Visiting.
58 virtual int ast_accept (ast_visitor *visitor);
60 static AST_Decl::NodeType const NT;
62 private:
63 // Scope Management Protocol.
65 friend int tao_yyparse ();
66 friend class ast_visitor_tmpl_module_inst;
68 virtual AST_Factory *fe_add_factory (AST_Factory *f);
69 virtual AST_Finder *fe_add_finder (AST_Finder *f);
71 private:
72 AST_Home *pd_base_home;
73 AST_Component *pd_managed_component;
74 AST_Type *pd_primary_key;
75 bool owns_primary_key_;
78 #endif // _AST_HOME_AST_HOME_HH