diff options
author | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-19 00:03:53 +0000 |
---|---|---|
committer | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-19 00:03:53 +0000 |
commit | 326aa4307318128f76f74fcaa29b1b13586fc63a (patch) | |
tree | 1824f40048b8722f0fd6afc49f46f9188d765c23 /TAO/TAO_IDL/be_include/be_visitor_operation | |
parent | cf1598a29c47934ff5e7c75e39f3fb5571b76371 (diff) | |
download | ATCD-326aa4307318128f76f74fcaa29b1b13586fc63a.tar.gz |
Portable Interceptor changes
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_visitor_operation')
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_ */ |