diff options
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h')
-rw-r--r-- | TAO/TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h b/TAO/TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h new file mode 100644 index 00000000000..1697ff6cdd0 --- /dev/null +++ b/TAO/TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h @@ -0,0 +1,67 @@ +// +// $Id$ +// + +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// ami_handler_argument_marshal.h +// +// = DESCRIPTION +// Visitor for generating code for IDL operations. This is a visitor for +// passing arguments to the CDR operators in a compiled marshaling +// stub/skeleton +// +// = AUTHOR +// Aniruddha Gokhale +// +// ============================================================================ + +#ifndef _BE_VISITOR_OPERATION_ami_handler_argument_marshal_H_ +#define _BE_VISITOR_OPERATION_ami_handler_argument_marshal_H_ + +// ************************************************************ +// generic operation visitor for docall, upcall, pre/post +// ************************************************************ + +class be_compiled_visitor_operation_ami_handler_argument_marshal + : public be_visitor_operation_argument +{ + // + // = TITLE + // be_compiled_visitor_operation_ami_handler_argument_marshal + // + // = DESCRIPTION + // This is a visitor to generate a variable declaration of an operation + // return type + // +public: + be_compiled_visitor_operation_ami_handler_argument_marshal (be_visitor_context *ctx); + // constructor + + ~be_compiled_visitor_operation_ami_handler_argument_marshal (void); + // destructor + + virtual int pre_process (be_decl *bd); + // stuff to o/p before each element of the scope is handled + + virtual int post_process (be_decl *bd); + // stuff to o/p after each element of the scope is handled + + enum LAST_ARG_PRINTED + { + TAO_ARG_NONE, + TAO_ARG_IN, + TAO_ARG_INOUT, + TAO_ARG_OUT + }; + +private: + LAST_ARG_PRINTED last_arg_printed_; +}; + + +#endif /* _BE_VISITOR_OPERATION_ami_handler_argument_marshal_H_ */ |