Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / TAO_IDL / include / fe_obv_header.h
blob876830c8e06f71ffd4844ab4ded52fc69e5aa8c4
1 #ifndef FE_OBV_HEADER_H
2 #define FE_OBV_HEADER_H
4 #include "fe_interface_header.h"
6 class AST_ValueType;
8 // FE_OBVHeader
9 // Internal class for FE to describe valuetype headers.
12 class TAO_IDL_FE_Export FE_OBVHeader : public FE_InterfaceHeader
14 public:
15 FE_OBVHeader (UTL_ScopedName *n,
16 UTL_NameList *inherits,
17 UTL_NameList *supports,
18 bool truncatable,
19 bool is_eventtype = false);
20 virtual ~FE_OBVHeader ();
22 // Data Accessors.
23 AST_Type **supports () const;
24 long n_supports () const;
25 AST_Type *inherits_concrete () const;
26 AST_Type *supports_concrete () const;
27 bool truncatable () const;
29 virtual void destroy ();
30 // Destroy anything allocated for this class.
32 protected:
33 // Supported interfaces.
34 AST_Type **supports_;
35 long n_supports_;
37 AST_Type *inherits_concrete_;
38 AST_Type *supports_concrete_;
40 // Currently ignored.
41 bool truncatable_;
43 protected:
44 void compile_inheritance (UTL_NameList *vtypes,
45 bool is_eventtype);
46 void compile_supports (UTL_NameList *supports);
47 bool check_concrete_supported_inheritance (AST_Interface *d);
50 #endif /* FE_OBV_HEADER_H */