Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / TAO / TAO_IDL / include / fe_component_header.h
blobc723d14fce4c9cc7acf408b1c6222f1fb82f3dc0
1 #ifndef FE_COMPONENT_HEADER_H
2 #define FE_COMPONENT_HEADER_H
4 #include "fe_interface_header.h"
6 class AST_Component;
8 // FE_component_header
9 // Internal class for FE to describe component headers.
11 // Unlike value types, a component's supported interfaces are simply
12 // added to the inheritance list in generated code, so we use the
13 // existing base class mechanism for managing the inheritance list
14 // to manage the derived class's supported interface list.
15 class FE_ComponentHeader : public FE_InterfaceHeader
17 public:
18 FE_ComponentHeader (UTL_ScopedName *n,
19 UTL_ScopedName *base_component,
20 UTL_NameList *supports,
21 bool compile_now);
22 virtual ~FE_ComponentHeader ();
24 // Data Accessors.
25 AST_Component *base_component () const;
26 AST_Type **supports () const;
27 long n_supports () const;
28 AST_Interface **supports_flat () const;
29 long n_supports_flat () const;
31 protected:
32 void compile_inheritance (UTL_ScopedName *base_component);
33 void compile_supports (UTL_NameList *supports);
35 protected:
36 AST_Component *base_component_;
39 #endif /* FE_COMPONENT_HEADER_H */