Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / include / fe_home_header.h
blob7583a75a398372024dd3c8df0d2f523c9e10d054
1 #ifndef FE_HOME_HEADER_H
2 #define FE_HOME_HEADER_H
4 #include "fe_component_header.h"
6 class AST_Home;
7 class AST_ValueType;
9 // FE_HomeHeader
10 // Internal class for FE to describe component home headers
12 // We use the 'base_component' member of the base class to
13 // store the 'managed_component' member of the derived class.
14 // By inheriting from FE_ComponentHeader, we also get the
15 // reuse of the mechanism described in the comment above
16 // for handling the supported interface list.
17 class FE_HomeHeader : public FE_ComponentHeader
19 public:
20 FE_HomeHeader (UTL_ScopedName *n,
21 UTL_ScopedName *base_home,
22 UTL_NameList *supports,
23 UTL_ScopedName *managed_component,
24 UTL_ScopedName *primary_key);
26 virtual ~FE_HomeHeader (void);
28 // Data Accessors.
29 AST_Home *base_home (void) const;
30 AST_Component *managed_component (void) const;
31 AST_Type *primary_key (void) const;
33 protected:
34 AST_Home *base_home_;
35 AST_Component *managed_component_;
36 AST_Type *primary_key_;
38 protected:
39 void compile_inheritance (UTL_ScopedName *base_home);
40 void compile_managed_component (UTL_ScopedName *managed_compoent);
41 void compile_primary_key (UTL_ScopedName *primary_key);
44 #endif /* FE_HOME_HEADER_H */