summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include/be_visitor_operation
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_visitor_operation')
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_arglist.h59
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ch.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_cs.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_exceptlist.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_info_rettype.h86
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_sh.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ss.h51
7 files changed, 400 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_arglist.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_arglist.h
new file mode 100644
index 00000000000..93db6eaf05c
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_arglist.h
@@ -0,0 +1,59 @@
+//
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_arglist.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations. This generates the
+// operation signature.
+//
+// = AUTHOR
+// Kirthika Parameswaran
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INTERCEPTORS_ARGLIST_H_
+#define _BE_VISITOR_OPERATION_INTERCEPTORS_ARGLIST_H_
+
+// ******************************************************************************
+// Operation visitor for argument list - generates parameters in the signature
+// ******************************************************************************
+
+class be_visitor_operation_interceptors_arglist : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operaion_interceptors_arglist
+ //
+ // = DESCRIPTION
+ // This is a visitor to generate operation argument list
+ //
+ //
+public:
+ be_visitor_operation_interceptors_arglist (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_arglist (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit the operation
+
+ virtual int visit_argument (be_argument *node);
+ // visit each argument
+
+ virtual int pre_process (be_decl *);
+ // stuff to o/p before each element of the scope is handled
+
+ virtual int post_process (be_decl *);
+ // stuff to o/p after each element of the scope is handled
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_INTERCEPTORS_ARGLIST_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ch.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ch.h
new file mode 100644
index 00000000000..18e4cae5c90
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ch.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_ch.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the interceptor case
+// inside of the client stubs header
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INTERCEPTORS_CH_H_
+#define _BE_VISITOR_OPERATION_INTERCEPTORS_CH_H_
+
+// ************************************************************
+// Operation visitor for client header in the interceptor class
+// ************************************************************
+
+class be_visitor_operation_interceptors_ch : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_interceptors_ch
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the client request info
+ // in header for operation in the interceptor class
+ //
+ //
+public:
+ be_visitor_operation_interceptors_ch (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_ch (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+};
+
+#endif /* _BE_VISITOR_OPERATION_INTERCEPTORS_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_cs.h
new file mode 100644
index 00000000000..a85631fa674
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_cs.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_cs.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations. This is a generic visitor
+// that calls visitors for the operation class.
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INTERCEPTORS_CS_H_
+#define _BE_VISITOR_OPERATION_INTERCEPTORS_CS_H_
+
+// ************************************************************
+// generic operation visitor for docall, upcall, pre/post
+// ************************************************************
+
+class be_visitor_operation_interceptors_cs : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_interceptors_cs
+ //
+ // = DESCRIPTION
+ // This is a visitor to generate a variable declaration ofr an operation
+ // return type
+ //
+public:
+ be_visitor_operation_interceptors_cs (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_cs (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit the operation
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_INTERCEPTORS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_exceptlist.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_exceptlist.h
new file mode 100644
index 00000000000..56c98047093
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_exceptlist.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// operation_interceptors_exceptlist.h
+//
+// = DESCRIPTION
+// Visitor for generating code for exceptionlist for interceptors
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_OPERATION_INTERCEPTORS_EXCEPTLIST_H_
+#define _BE_VISITOR_OPERATION_OPERATION_INTERCEPTORS_EXCEPTLIST_H_
+
+
+class be_visitor_operation_interceptors_exceptlist : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_interceptors_exceptlist
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate exceptionlist for interceptors
+ //
+ //
+public:
+ be_visitor_operation_interceptors_exceptlist (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_exceptlist (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation.
+ protected:
+ virtual int gen_exceptlist (be_operation *node);
+
+};
+
+
+
+#endif /* _BE_VISITOR_OPERATION_OPERATION_INTERCEPTORS_EXCEPTLIST_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_info_rettype.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_info_rettype.h
new file mode 100644
index 00000000000..0ffb85ca703
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_info_rettype.h
@@ -0,0 +1,86 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_info_rettype.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations. This generates the return
+// type stored in the RequestInfo class for Interceptors.
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INTERCEPTORS_INFO_RETTYPE_H_
+#define _BE_VISITOR_OPERATION_INTERCEPTORS_INFO_RETTYPE_H_
+
+// ***********************************************************************
+// Operation visitor for return types in the signature of the operation
+// ***********************************************************************
+
+class be_visitor_operation_interceptors_info_rettype : public be_visitor_decl
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ch
+ //
+ // = DESCRIPTION
+ // This is a visitor to generate operation return types
+ //
+ //
+public:
+ be_visitor_operation_interceptors_info_rettype (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_info_rettype (void);
+ // destructor
+
+ int visit_array (be_array *node);
+ // visit an array node
+
+ int visit_enum (be_enum *node);
+ // visit an enum node
+
+ int visit_interface (be_interface *node);
+ // visit an interface node
+
+ int visit_interface_fwd (be_interface_fwd *node);
+ // visit an interface node
+
+ int visit_native (be_native *node);
+ // visit native type
+
+ int visit_predefined_type (be_predefined_type *node);
+ // visit a predefined type node
+
+ int visit_sequence (be_sequence *node);
+ // visit a sequence node
+
+ int visit_string (be_string *node);
+ // visit a sequence node
+
+ int visit_structure (be_structure *node);
+ // visit a structure node
+
+ int visit_typedef (be_typedef *node);
+ // visit a typedef node
+
+ int visit_union (be_union *node);
+ // visit a union node
+
+# ifdef IDL_HAS_VALUETYPE
+ int visit_valuetype (be_valuetype *node);
+ int visit_valuetype_fwd (be_valuetype_fwd *node);
+# endif /* IDL_HAS_VALUETYPE */
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_INTERCEPTORS_INFO_RETTYPE_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_sh.h
new file mode 100644
index 00000000000..d9e6f7ee4e7
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_sh.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_sh.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the interceptor case
+// inside of the server side header
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INTERCEPTORS_SH_H_
+#define _BE_VISITOR_OPERATION_INTERCEPTORS_SH_H_
+
+// ************************************************************
+// Operation visitor for client header in the interceptor class
+// ************************************************************
+
+class be_visitor_operation_interceptors_sh : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_interceptors_sh
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the client request info
+ // in header for operation in the interceptor class
+ //
+ //
+public:
+ be_visitor_operation_interceptors_sh (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_sh (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+};
+
+#endif /* _BE_VISITOR_OPERATION_INTERCEPTORS_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ss.h
new file mode 100644
index 00000000000..aaefc2f8fe6
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/interceptors_ss.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_ss.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations. This is a generic visitor
+// that calls visitors for the operation class.
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INTERCEPTORS_SS_H_
+#define _BE_VISITOR_OPERATION_INTERCEPTORS_SS_H_
+
+// ************************************************************
+// generic operation visitor for docall, upcall, pre/post
+// ************************************************************
+
+class be_visitor_operation_interceptors_ss : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_interceptors_ss
+ //
+ // = DESCRIPTION
+ // This is a visitor to generate a variable declaration ofr an operation
+ // return type
+ //
+public:
+ be_visitor_operation_interceptors_ss (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_interceptors_ss (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit the operation
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_INTERCEPTORS_SS_H_ */