summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be_include')
-rw-r--r--TAO/TAO_IDL/be_include/be.h148
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h42
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h47
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h43
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h42
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h47
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h57
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h55
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h52
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h57
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h80
12 files changed, 721 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be_include/be.h b/TAO/TAO_IDL/be_include/be.h
new file mode 100644
index 00000000000..732cfa46729
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be.h
@@ -0,0 +1,148 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+ */
+
+#ifndef _BE_BE_HH
+#define _BE_BE_HH
+
+// be.h
+
+#if defined (_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+// ACE includes
+
+#include "ace/ACE.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/OS.h"
+#include "ace/Singleton.h"
+#include "ace/Synch.h"
+#include "ace/Log_Msg.h"
+#include "ace/Containers.h"
+#include "ace/Process.h"
+
+// BE includes
+
+#include "be_decl.h" // class BE_Decl
+#include "be_scope.h" // class BE_Scope
+#include "be_generator.h" // class BE_generator
+
+#include "be_global.h" // global data for back end
+#include "be_extern.h" // pointer to global BE
+ // data object
+
+#include "be_type.h"
+#include "be_predefined_type.h" // class BE_PredefinedType
+#include "be_module.h" // class BE_Module
+#include "be_interface.h" // class BE_Interface
+#include "be_interface_fwd.h" // class BE_InterfaceFwd
+#include "be_valuetype.h" // class be_valuetype
+#include "be_valuetype_fwd.h" // class be_valuetype_fwd
+#include "be_structure.h" // class BE_Structure
+#include "be_exception.h" // class BE_Exception
+#include "be_expression.h" // class BE_Expr_val
+#include "be_enum.h" // class BE_Enum
+#include "be_operation.h" // class BE_Operation
+#include "be_field.h" // class BE_Field
+#include "be_argument.h" // class BE_Argument
+#include "be_attribute.h" // class BE_Attribute
+#include "be_union.h" // class BE_Union
+#include "be_union_branch.h" // class BE_UnionBranch
+#include "be_union_label.h" // class BE_UnionLabel
+#include "be_constant.h" // class BE_Constant
+#include "be_enum_val.h" // class BE_EnumVal
+#include "be_array.h" // class BE_Array
+#include "be_sequence.h" // class BE_Sequence
+#include "be_string.h" // class BE_String
+#include "be_typedef.h" // class BE_Typedef
+#include "be_root.h" // class BE_Root
+#include "be_native.h" // class BE_Native
+#include "be_factory.h" // class be_factory
+
+#include "be_helper.h" // helper functions
+#include "be_codegen.h" // code generator
+#include "be_stream_factory.h" // output stream factory
+
+#include "be_visitor.h" // abstract visitor
+#include "be_visitor_factory.h" // visitor factory
+#include "be_visitor_context.h" // visitor context
+#include "be_visitor_ami_pre_proc.h" // generate AMI implied IDL
+#include "be_visitor_amh_pre_proc.h" // generate AMH implied IDL
+
+#include "be_interface_strategy.h" // strategy for interface nodes
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* _BE_BE_HH */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h
new file mode 100644
index 00000000000..76e937d32e9
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h
@@ -0,0 +1,42 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_sh.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for direct collocated classes in server header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_DIRECT_COLLOCATED_SH_H_
+#define _BE_INTERFACE_DIRECT_COLLOCATED_SH_H_
+
+class be_visitor_interface_direct_collocated_sh : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "direct collocated" class declaration.
+
+public:
+ be_visitor_interface_direct_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_direct_collocated_sh (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit an interface
+
+};
+
+#endif /* _BE_INTERFACE_DIRECT_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h
new file mode 100644
index 00000000000..faca2392b8e
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h
@@ -0,0 +1,47 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// driect_collocated_ss.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for direct collocated classes in server skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_DIRECT_COLLOCATED_SS_H_
+#define _BE_INTERFACE_DIRECT_COLLOCATED_SS_H_
+
+class be_visitor_interface_direct_collocated_ss : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "direct collocated" class declaration.
+
+public:
+ be_visitor_interface_direct_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_direct_collocated_ss (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface
+
+ static int collocated_ctor_helper (be_interface *,
+ be_interface *,
+ TAO_OutStream *os);
+ // helper method passed to the template method to invoke ctors of all the
+ // base classes.
+};
+
+#endif /* _BE_DIRECT_INTERFACE_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h
new file mode 100644
index 00000000000..aefd8f0cbdf
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h
@@ -0,0 +1,43 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_ch.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for interceptor classes for an
+// interface in the client header.
+//
+// = AUTHOR
+// Kirthika Parameswaran
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_INTERCEPTORS_CH_H_
+#define _BE_INTERFACE_INTERCEPTORS_CH_H_
+
+class be_visitor_interface_interceptors_ch : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "thru_poa collocated" class declaration.
+
+public:
+ be_visitor_interface_interceptors_ch (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_interceptors_ch (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit an interface
+
+};
+
+#endif /* _BE_INTERFACE_INTERCEPTORS_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h
new file mode 100644
index 00000000000..89a73401341
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h
@@ -0,0 +1,42 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_sh.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for thru_poa collocated classes in server header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_THRU_POA_COLLOCATED_SH_H_
+#define _BE_INTERFACE_THRU_POA_COLLOCATED_SH_H_
+
+class be_visitor_interface_thru_poa_collocated_sh : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "thru_poa collocated" class declaration.
+
+public:
+ be_visitor_interface_thru_poa_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_thru_poa_collocated_sh (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit an interface
+
+};
+
+#endif /* _BE_INTERFACE_THRU_POA_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h
new file mode 100644
index 00000000000..9348412e9c3
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h
@@ -0,0 +1,47 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ss.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for thru_poa collocated classes in server skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_THRU_POA_COLLOCATED_SS_H_
+#define _BE_INTERFACE_THRU_POA_COLLOCATED_SS_H_
+
+class be_visitor_interface_thru_poa_collocated_ss : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "thru_poa collocated" class declaration.
+
+public:
+ be_visitor_interface_thru_poa_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_thru_poa_collocated_ss (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface
+
+ static int collocated_ctor_helper (be_interface *,
+ be_interface *,
+ TAO_OutStream *os);
+ // helper method passed to the template method to invoke ctors of all the
+ // base classes.
+};
+
+#endif /* _BE_INTERFACE_THRU_POA_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h
new file mode 100644
index 00000000000..413d7ce3059
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_ch.h
+//
+// = DESCRIPTION Visitor for generating code for IDL operations for
+// the direct collocated case inside of the servant header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SH_H_
+#define _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SH_H_
+
+// ************************************************************
+// Operation visitor for server header in the direct collocated class
+// ************************************************************
+
+class be_visitor_operation_direct_collocated_sh : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operation_direct_collocated_sh
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server header for operation
+ // in the direct collocated class
+ //
+ //
+public:
+ be_visitor_operation_direct_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_direct_collocated_sh (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h
new file mode 100644
index 00000000000..c6ebe06940f
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h
@@ -0,0 +1,57 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_ss.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the direct_collocated case
+// inside of the servant skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SS_H_
+#define _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SS_H_
+
+// *****************************************************************
+// Operation visitor for server skeletons for the direct collocated class
+// *****************************************************************
+
+class be_visitor_operation_direct_collocated_ss : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ss
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server skeletons for
+ // operation in the direct collocated class
+ //
+ //
+public:
+ be_visitor_operation_direct_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_direct_collocated_ss (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+ virtual int gen_invoke (be_visitor_context &ctx, be_operation *node);
+ // A helper method to generate operation invocation code.
+
+ virtual int void_return_type (be_type *bt);
+ // is my return type void?
+};
+
+#endif /* _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h b/TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h
new file mode 100644
index 00000000000..3b1cb7d4db3
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h
@@ -0,0 +1,55 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// inv_arglist.h
+//
+// = DESCRIPTION
+// Visitor for generating signature needed to invoke a given
+// operation.
+//
+// = AUTHOR
+// Angelo Corsaro
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INV_ARGLIST_H_
+#define _BE_VISITOR_OPERATION_INV_ARGLIST_H_
+
+// ******************************************************************************
+// Operation visitor for argument list - generates parameters in the signature
+// ******************************************************************************
+
+class be_visitor_operation_inv_arglist : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operaion_inv_arglist
+ //
+ // = DESCRIPTION
+ // This visitor generates the argument list needed to
+ // invoke a given operation. No parentesys are generated
+ // to give the caller code the abity to stick in other
+ // parameter that might be needed.
+ //
+ //
+public:
+ be_visitor_operation_inv_arglist (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_inv_arglist (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit the operation
+
+ virtual int visit_argument (be_argument *node);
+ // visit each argument
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_INV_ARGLIST_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h
new file mode 100644
index 00000000000..26aa40394c6
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h
@@ -0,0 +1,52 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ch.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the thru_poa collocated case
+// inside of the servant header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SH_H_
+#define _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SH_H_
+
+// ************************************************************
+// Operation visitor for server header in the thru_poa collocated class
+// ************************************************************
+
+class be_visitor_operation_thru_poa_collocated_sh : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operation_thru_poa_collocated_sh
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server header for operation
+ // in the thru_poa collocated class
+ //
+ //
+public:
+ be_visitor_operation_thru_poa_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_thru_poa_collocated_sh (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h
new file mode 100644
index 00000000000..2c63169caea
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h
@@ -0,0 +1,57 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ss.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the thru_poa collocated case
+// inside of the servant skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SS_H_
+#define _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SS_H_
+
+// *****************************************************************
+// Operation visitor for server skeletons for the thru_poa collocated class
+// *****************************************************************
+
+class be_visitor_operation_thru_poa_collocated_ss : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ss
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server skeletons for
+ // operation in the thru_poa collocated class
+ //
+ //
+public:
+ be_visitor_operation_thru_poa_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_thru_poa_collocated_ss (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+ virtual int gen_invoke (be_visitor_context &ctx, be_operation *node);
+ // A helper method to generate operation invocation code.
+
+ virtual int void_return_type (be_type *bt);
+ // is my return type void?
+};
+
+#endif /* _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h b/TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h
new file mode 100644
index 00000000000..b1d76206108
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h
@@ -0,0 +1,80 @@
+/* -*- c++ -*- */
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// public_access_cs.h
+//
+// = DESCRIPTION
+// Visitor for the Union class.
+// This one generates code for the access method of the union class
+// for the union members. This is primarily used by the marshaling engine.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_UNION_BRANCH_PUBLIC_ACCESS_CS_H_
+#define _BE_VISITOR_UNION_BRANCH_PUBLIC_ACCESS_CS_H_
+
+class be_visitor_union_branch_public_access_cs : public be_visitor_decl
+{
+ //
+ // = TITLE
+ // be_visitor_union_branch_public_access_cs
+ //
+ // = DESCRIPTION
+ // This is used to generate the body of the access method
+ //
+public:
+ be_visitor_union_branch_public_access_cs (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_union_branch_public_access_cs (void);
+ // destructor
+
+ virtual int visit_union_branch (be_union_branch *node);
+ // visit the union_branch node
+
+ // =visit operations on all possible data types that a union_branch can be
+
+ virtual int visit_array (be_array *node);
+ // visit array type
+
+ virtual int visit_enum (be_enum *node);
+ // visit enum type
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface type
+
+ virtual int visit_interface_fwd (be_interface_fwd *node);
+ // visit interface forward type
+
+ virtual int visit_predefined_type (be_predefined_type *node);
+ // visit predefined type
+
+ virtual int visit_sequence (be_sequence *node);
+ // visit sequence type
+
+ virtual int visit_string (be_string *node);
+ // visit string type
+
+ virtual int visit_structure (be_structure *node);
+ // visit structure type
+
+ virtual int visit_typedef (be_typedef *node);
+ // visit typedefed type
+
+ virtual int visit_union (be_union *node);
+ // visit union type
+
+};
+
+#endif /* _BE_VISITOR_UNION_BRANCH_PUBLIC_ACCESS_CS_H_ */