summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_eventtype.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_eventtype.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_eventtype.cpp143
1 files changed, 143 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_eventtype.cpp b/TAO/TAO_IDL/be/be_eventtype.cpp
new file mode 100644
index 00000000000..75c484d39c3
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_eventtype.cpp
@@ -0,0 +1,143 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_eventtype.cpp
+//
+// = DESCRIPTION
+// Extension of class AST_EventType and be_valuetype that provides
+// additional means for C++ mapping of an eventtype.
+//
+// = AUTHOR
+// Jeff Parsons
+//
+// ============================================================================
+
+#include "be_eventtype.h"
+#include "be_visitor.h"
+
+ACE_RCSID (be,
+ be_eventtype,
+ "$Id$")
+
+// Default constructor.
+be_eventtype::be_eventtype (void)
+ : COMMON_Base (),
+ AST_Decl (),
+ AST_Type (),
+ UTL_Scope (),
+ AST_Interface (),
+ be_scope (),
+ be_decl (),
+ be_type (),
+ be_interface (),
+ AST_ValueType (),
+ be_valuetype (),
+ AST_EventType ()
+{
+}
+
+// Constructor used to build the AST.
+be_eventtype::be_eventtype (UTL_ScopedName *n,
+ AST_Interface **inherits,
+ long n_inherits,
+ AST_ValueType *inherits_concrete,
+ AST_Interface **inherits_flat,
+ long n_inherits_flat,
+ AST_Interface **supports,
+ long n_supports,
+ AST_Interface *supports_concrete,
+ bool abstract,
+ bool truncatable,
+ bool custom)
+ : COMMON_Base (0,
+ abstract),
+ AST_Decl (AST_Decl::NT_eventtype,
+ n),
+ AST_Type (AST_Decl::NT_eventtype,
+ n),
+ UTL_Scope (AST_Decl::NT_eventtype),
+ AST_Interface (n,
+ inherits,
+ n_inherits,
+ inherits_flat,
+ n_inherits_flat,
+ 0,
+ abstract),
+ be_scope (AST_Decl::NT_eventtype),
+ be_decl (AST_Decl::NT_eventtype,
+ n),
+ be_type (AST_Decl::NT_eventtype,
+ n),
+ be_interface (n,
+ inherits,
+ n_inherits,
+ inherits_flat,
+ n_inherits_flat,
+ 0,
+ abstract),
+ AST_ValueType (n,
+ inherits,
+ n_inherits,
+ inherits_concrete,
+ inherits_flat,
+ n_inherits_flat,
+ supports,
+ n_supports,
+ supports_concrete,
+ abstract,
+ truncatable,
+ custom),
+ be_valuetype (n,
+ inherits,
+ n_inherits,
+ inherits_concrete,
+ inherits_flat,
+ n_inherits_flat,
+ supports,
+ n_supports,
+ supports_concrete,
+ abstract,
+ truncatable,
+ custom),
+ AST_EventType (n,
+ inherits,
+ n_inherits,
+ inherits_concrete,
+ inherits_flat,
+ n_inherits_flat,
+ supports,
+ n_supports,
+ supports_concrete,
+ abstract,
+ truncatable,
+ custom)
+{
+}
+
+be_eventtype::~be_eventtype (void)
+{
+}
+
+// The differences between valuetype and eventtype are too small
+// to warrant a separate set of visitors.
+int
+be_eventtype::accept (be_visitor *visitor)
+{
+ return visitor->visit_eventtype (this);
+}
+
+void
+be_eventtype::destroy (void)
+{
+ this->be_valuetype::destroy ();
+}
+
+// Narrowing.
+IMPL_NARROW_METHODS2 (be_eventtype, be_valuetype, AST_EventType)
+IMPL_NARROW_FROM_DECL (be_eventtype)
+IMPL_NARROW_FROM_SCOPE (be_eventtype)