diff options
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_visitor_operation')
21 files changed, 1337 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/arglist.h b/TAO/TAO_IDL/be_include/be_visitor_operation/arglist.h new file mode 100644 index 00000000000..42f418a97ed --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/arglist.h @@ -0,0 +1,54 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// arglist.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the +// operation signature. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_ARGLIST_H_) +#define _BE_VISITOR_OPERATION_ARGLIST_H_ + +// ****************************************************************************** +// Operation visitor for argument list - generates parameters in the signature +// ****************************************************************************** + +class be_visitor_operation_arglist : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operaion_arglist + // + // = DESCRIPTION + // This is a visitor to generate operation argument list + // + // +public: + be_visitor_operation_arglist (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_arglist (void); + // destructor + + int visit_operation (be_operation *node); + // visit the operation + + int visit_argument (be_argument *node); + // visit each argument + +}; + +#endif /* _BE_VISITOR_OPERATION_ARGLIST_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/argument.h b/TAO/TAO_IDL/be_include/be_visitor_operation/argument.h new file mode 100644 index 00000000000..6fc51da3ca7 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/argument.h @@ -0,0 +1,57 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// argument.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This is a generic visitor +// that calls visitors for the Argument class. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_ARGUMENT_H_) +#define _BE_VISITOR_OPERATION_ARGUMENT_H_ + +// ************************************************************ +// generic operation visitor for docall, upcall, pre/post +// ************************************************************ + +class be_visitor_operation_argument : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_argument + // + // = DESCRIPTION + // This is a visitor to generate a variable declaration ofr an operation + // return type + // +public: + be_visitor_operation_argument (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_argument (void); + // destructor + + int post_process (void); + // stuff to o/p after each element of the scope is handled + + int visit_operation (be_operation *node); + // visit the operation + + int visit_argument (be_argument *node); + // visit argument + +}; + +#endif /* _BE_VISITOR_OPERATION_ARGUMENT_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/collocated_sh.h new file mode 100644 index 00000000000..dc31959e345 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/collocated_sh.h @@ -0,0 +1,52 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// collocated_ch.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations for the collocated case +// inside of the servant header +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_COLLOCATED_SH_H_) +#define _BE_VISITOR_OPERATION_COLLOCATED_SH_H_ + +// ************************************************************ +// Operation visitor for server header in the collocated class +// ************************************************************ + +class be_visitor_operation_collocated_sh : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_collocated_sh + // + // = DESCRIPTION + // This is a concrete visitor to generate the server header for operation + // in the collocated class + // + // +public: + be_visitor_operation_collocated_sh (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_collocated_sh (void); + // destructor + + virtual int visit_operation (be_operation *node); + // visit operation node. + +}; + +#endif /* _BE_VISITOR_OPERATION_COLLOCATED_SH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/collocated_ss.h new file mode 100644 index 00000000000..48b7966e9aa --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/collocated_ss.h @@ -0,0 +1,52 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// collocated_ss.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations for the collocated case +// inside of the servant skeleton +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_COLLOCATED_SS_H_) +#define _BE_VISITOR_OPERATION_COLLOCATED_SS_H_ + +// ***************************************************************** +// Operation visitor for server skeletons for the collocated class +// ***************************************************************** + +class be_visitor_operation_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 collocated class + // + // +public: + be_visitor_operation_collocated_ss (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_collocated_ss (void); + // destructor + + virtual int visit_operation (be_operation *node); + // visit operation node. + +}; + +#endif /* _BE_VISITOR_OPERATION_COLLOCATED_SS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/exceptlist_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/exceptlist_cs.h new file mode 100644 index 00000000000..32c9e1c3d22 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/exceptlist_cs.h @@ -0,0 +1,52 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// exceptlist_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the tables +// for the exceptions used by the stubs. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_EXCEPTIONLIST_CS_H_) +#define _BE_VISITOR_OPERATION_EXCEPTIONLIST_CS_H_ + +// ****************************************************************************** +// Visitor for generating the exception list +// ****************************************************************************** + +class be_visitor_operation_exceptlist_cs : public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operaion_exceptlist_cs + // + // = DESCRIPTION + // This is a visitor to generate operation exception list to be provided to + // the do_static_call + // + // +public: + be_visitor_operation_exceptlist_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_exceptlist_cs (void); + // destructor + + int visit_operation (be_operation *node); + // visit the operation + +}; + +#endif /* _BE_VISITOR_OPERATION_EXCEPTIONLIST_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ch.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ch.h new file mode 100644 index 00000000000..e039623dd5d --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ch.h @@ -0,0 +1,50 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// operation_ch.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations in client header +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_OPERATION_CH_H_) +#define _BE_VISITOR_OPERATION_OPERATION_CH_H_ + +// ************************************************************ +// Operation visitor for client header +// ************************************************************ + +class be_visitor_operation_ch : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_ch + // + // = DESCRIPTION + // This is a concrete visitor to generate the client header for operation + // + // +public: + be_visitor_operation_ch (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_ch (void); + // destructor + + virtual int visit_operation (be_operation *node); + // visit operation. We provide code for this method in the derived class + +}; + +#endif /* _BE_VISITOR_OPERATION_OPERATION_CH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_cs.h new file mode 100644 index 00000000000..1228b684e21 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_cs.h @@ -0,0 +1,55 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// operation_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations in client stubs +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_OPERATION_CS_H_) +#define _BE_VISITOR_OPERATION_OPERATION_CS_H_ + +// ************************************************************ +// Operation visitor for client stubs +// ************************************************************ + +class be_visitor_operation_cs : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_cs + // + // = DESCRIPTION + // This is a concrete visitor to generate the client stubs for operation + // + // +public: + be_visitor_operation_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_cs (void); + // destructor + + virtual int visit_operation (be_operation *node); + // visit operation. + + virtual int visit_argument (be_argument *node); + // visit argument to generate ParamData entries + + virtual int post_process (void); + // stuff to output after every member of the scope is handled +}; + +#endif /* _BE_VISITOR_OPERATION_OPERATION_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_sh.h new file mode 100644 index 00000000000..702a0dc2251 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_sh.h @@ -0,0 +1,50 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// operation_sh.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations in server header +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_OPERATION_SH_H_) +#define _BE_VISITOR_OPERATION_OPERATION_SH_H_ + +// ************************************************************ +// Operation visitor for server header +// ************************************************************ + +class be_visitor_operation_sh : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_sh + // + // = DESCRIPTION + // This is a concrete visitor to generate the server header for operation + // + // +public: + be_visitor_operation_sh (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_sh (void); + // destructor + + virtual int visit_operation (be_operation *node); + // visit operation. We provide code for this method in the derived class + +}; + +#endif /* _BE_VISITOR_OPERATION_OPERATION_SH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ss.h new file mode 100644 index 00000000000..14cf41e7863 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ss.h @@ -0,0 +1,55 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// operation_ss.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations in server skeletons +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_OPERATION_SS_H_) +#define _BE_VISITOR_OPERATION_OPERATION_SS_H_ + +// ************************************************************ +// Operation visitor for server skeletons +// ************************************************************ + +class be_visitor_operation_ss : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_ss + // + // = DESCRIPTION + // This is a concrete visitor to generate the server skeletons for operation + // + // +public: + be_visitor_operation_ss (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_ss (void); + // destructor + + virtual int visit_operation (be_operation *node); + // visit operation. We provide code for this method in the derived class + + virtual int visit_argument (be_argument *node); + // visit argument to generate ParamData entries + + virtual int post_process (void); + // stuff to output after every member of the scope is handled +}; + +#endif /* _BE_VISITOR_OPERATION_OPERATION_SS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype.h new file mode 100644 index 00000000000..9a4fc0a8ac3 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype.h @@ -0,0 +1,81 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the return +// type of the operation +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_H_ + +// *********************************************************************** +// Operation visitor for return types in the signature of the operation +// *********************************************************************** + +class be_visitor_operation_rettype : public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_ch + // + // = DESCRIPTION + // This is a visitor to generate operation return types + // + // +public: + be_visitor_operation_rettype (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_assign_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_assign_ss.h new file mode 100644 index 00000000000..ff35c744e62 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_assign_ss.h @@ -0,0 +1,80 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_assign_ss.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the +// assignment of the return value of the upcall to the return type variabel +// inside the server-skeleton. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_ASSIGN_SS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_ASSIGN_SS_H_ + +// *********************************************************************** +// Operation visitor for assignment to return types in an upcall +// *********************************************************************** + +class be_visitor_operation_rettype_assign_ss : public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_ch + // + // = DESCRIPTION + // This is a visitor to generate code that assigns to the return type + // variable in the upcall + // + // +public: + be_visitor_operation_rettype_assign_ss (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_assign_ss (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_ASSIGN_SS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_docall_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_docall_cs.h new file mode 100644 index 00000000000..eb3b287ce9c --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_docall_cs.h @@ -0,0 +1,79 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_docall_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the code +// for passing the return type variable to the docall +// made. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_DOCALL_CS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_DOCALL_CS_H_ + +// ************************************************************ +// Operation visitor for passing return variable to do_static_call +// ************************************************************ + +class be_visitor_operation_rettype_docall_cs :public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_docall_cs + // + // = DESCRIPTION + // This is a visitor to generate a variable declaration ofr an operation + // return type + // +public: + be_visitor_operation_rettype_docall_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_docall_cs (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_DOCALL_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_marshal_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_marshal_ss.h new file mode 100644 index 00000000000..b3f95579a6a --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_marshal_ss.h @@ -0,0 +1,79 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_marshal_ss.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the code +// for passing the return type variable to the marshaler. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_MARSHAL_SS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_MARSHAL_SSH_ + +// *********************************************************************** +// Operation visitor for passing return type to the marshal/demarshal routine +// inside the server skeleton +// *********************************************************************** + +class be_visitor_operation_rettype_marshal_ss : public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_marshal_ss + // + // = DESCRIPTION + // This is a visitor to pass return type to the marshal/demarshal routines + // + // +public: + be_visitor_operation_rettype_marshal_ss (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_marshal_ss (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_MARSHAL_SSH_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_post_docall_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_post_docall_cs.h new file mode 100644 index 00000000000..e2299617a35 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_post_docall_cs.h @@ -0,0 +1,54 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_post_docall_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the code +// for post processing of the return type variable after the docall is +// made. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_POST_DOCALL_CS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_POST_DOCALL_CS_H_ + +// ************************************************************ +// Operation visitor for postprocessing after do_static_call is invoked +// ************************************************************ + +class be_visitor_operation_rettype_post_docall_cs :public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_psot_docall_cs + // + // = DESCRIPTION + // This is a visitor to generate any post processing after the do_static_call is + // made + // +public: + be_visitor_operation_rettype_post_docall_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_post_docall_cs (void); + // destructor + + int visit_interface (be_interface *node); + // visit an interface node + + int visit_interface_fwd (be_interface_fwd *node); + // visit an interface node +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_POST_DOCALL_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_post_upcall_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_post_upcall_ss.h new file mode 100644 index 00000000000..6cfbd7566ed --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_post_upcall_ss.h @@ -0,0 +1,79 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_post_upcall_ss.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the code +// for post processing of the return type variable after the upcall is +// made. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_POST_UPCALL_SS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_POST_UPCALL_SS_H_ + +// *********************************************************************** +// Operation visitor for post upcall processing of return types +// *********************************************************************** + +class be_visitor_operation_rettype_post_upcall_ss : public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_post_upcall_ss + // + // = DESCRIPTION + // This is a visitor for post processing after an upcall + // + // +public: + be_visitor_operation_rettype_post_upcall_ss (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_post_upcall_ss (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_POST_UPCALL_SS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_pre_docall_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_pre_docall_cs.h new file mode 100644 index 00000000000..acb296f6ac9 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_pre_docall_cs.h @@ -0,0 +1,73 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_pre_docall_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the code +// for pre processing of the return type variable before the docall is +// made. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_PRE_DOCALL_CS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_PRE_DOCALL_CS_H_ + +// ************************************************************ +// Operation visitor for preprocessing before do_static_call is invoked +// ************************************************************ + +class be_visitor_operation_rettype_pre_docall_cs :public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_pre_docall_cs + // + // = DESCRIPTION + // This is a visitor to generate any pre processing before the do_static_call is + // made + // +public: + be_visitor_operation_rettype_pre_docall_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_pre_docall_cs (void); + // destructor + + int visit_array (be_array *node); + // visit an array 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_predefined_type (be_predefined_type *node); + // visit a predefined type node + + int visit_sequence (be_sequence *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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_PRE_DOCALL_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_return_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_return_cs.h new file mode 100644 index 00000000000..ec9b8383342 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_return_cs.h @@ -0,0 +1,78 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_return_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the return +// statement for returning the return type variable in the client stub. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_RETURN_CS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_CS_H_ + +// ************************************************************ +// Operation visitor for returning the return val +// ************************************************************ + +class be_visitor_operation_rettype_return_cs :public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_return_cs + // + // = DESCRIPTION + // This is a visitor to generate a variable declaration ofr an operation + // return type + // +public: + be_visitor_operation_rettype_return_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_return_cs (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_RETURN_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_cs.h new file mode 100644 index 00000000000..ca9b7ba99e7 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_cs.h @@ -0,0 +1,78 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_vardecl_cs.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the return +// type variable declaration in the client side stub. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_VARDECL_CS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_VARDECL_CS_H_ + +// ************************************************************ +// Operation visitor for return type variable declaration +// ************************************************************ + +class be_visitor_operation_rettype_vardecl_cs :public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_vardecl_cs + // + // = DESCRIPTION + // This is a visitor to generate a variable declaration ofr an operation + // return type + // +public: + be_visitor_operation_rettype_vardecl_cs (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_vardecl_cs (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_VARDECL_CS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h new file mode 100644 index 00000000000..57678e6371b --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h @@ -0,0 +1,79 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// rettype_vardecl_ss.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This generates the return +// type variable declaration in the server side skeleton. +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_RETTYPE_VARDECL_SS_H_) +#define _BE_VISITOR_OPERATION_RETTYPE_VARDECL_SS_H_ + +// ************************************************************ +// Operation visitor for return type variable declaration in the server +// skeleton +// ************************************************************ + +class be_visitor_operation_rettype_vardecl_ss :public be_visitor_decl +{ + // + // = TITLE + // be_visitor_operation_rettype_vardecl_ss + // + // = DESCRIPTION + // This is a visitor to generate a variable declaration ofr an operation + // return type in the server skeleton + // +public: + be_visitor_operation_rettype_vardecl_ss (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_rettype_vardecl_ss (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_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 + +}; + +#endif /* _BE_VISITOR_OPERATION_RETTYPE_VARDECL_SS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/tie_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/tie_sh.h new file mode 100644 index 00000000000..f5329bfe963 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/tie_sh.h @@ -0,0 +1,50 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// tie_sh.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations for the TIE class inside +// the server header +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_TIE_SH_H_) +#define _BE_VISITOR_OPERATION_TIE_SH_H_ + +// *********************************************************************** +// Operation visitor for operation declaration inside the TIE class +// *********************************************************************** + +class be_visitor_operation_tie_sh : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_tie_sh + // + // = DESCRIPTION + // This is a concrete visitor to generate the operaton inside a TIE class + // + // +public: + be_visitor_operation_tie_sh (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_tie_sh (void); + // destructor + + virtual int visit_operation (be_operation *node); + // set the right context and make a visitor +}; + +#endif /* _BE_VISITOR_OPERATION_TIE_SH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/tie_si.h b/TAO/TAO_IDL/be_include/be_visitor_operation/tie_si.h new file mode 100644 index 00000000000..f6168878069 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/tie_si.h @@ -0,0 +1,50 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// tie_si.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations for the TIE class inside +// the server inline +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#if !defined (_BE_VISITOR_OPERATION_TIE_SI_H_) +#define _BE_VISITOR_OPERATION_TIE_SI_H_ + +// *********************************************************************** +// Operation visitor for operation declaration inside the TIE class +// *********************************************************************** + +class be_visitor_operation_tie_si : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_operation_tie_ss + // + // = DESCRIPTION + // This is a concrete visitor to generate the operaton inside a TIE class + // + // +public: + be_visitor_operation_tie_si (be_visitor_context *ctx); + // constructor + + ~be_visitor_operation_tie_si (void); + // destructor + + virtual int visit_operation (be_operation *node); + // set the right context and make a visitor +}; + +#endif /* _BE_VISITOR_OPERATION_TIE_SI_H_ */ |