00001 // ifr_adding_visitor_operation.h,v 1.7 2003/03/01 12:16:07 ossama Exp 00002 00003 /* -*- C++ -*- */ 00004 // ============================================================================ 00005 // 00006 // = LIBRARY 00007 // TAO_IFR_BE_DLL 00008 // 00009 // = FILENAME 00010 // ifr_adding_visitor_operation.h 00011 // 00012 // = DESCRIPTION 00013 // Header file for class ifr_adding_visitor_operation. 00014 // 00015 // = AUTHOR 00016 // Jeff Parsons <parsons@cs.wustl.edu> 00017 // 00018 // ============================================================================ 00019 00020 #ifndef TAO_IFR_ADDING_VISITOR_OPERATION_H 00021 #define TAO_IFR_ADDING_VISITOR_OPERATION_H 00022 00023 #include "ifr_adding_visitor.h" 00024 00025 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00026 # pragma once 00027 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00028 00029 class ifr_adding_visitor_operation : public ifr_adding_visitor 00030 { 00031 // 00032 // = TITLE 00033 // ifr_adding_visitor_operation. 00034 // 00035 // = DESCRIPTION 00036 // This visitor overrides a few of the visit methods 00037 // for the case when an operation node is seen in the AST. 00038 // 00039 public: 00040 ifr_adding_visitor_operation (AST_Decl *scope); 00041 // Constructor. 00042 00043 virtual ~ifr_adding_visitor_operation (void); 00044 // Destructor. 00045 00046 virtual int visit_operation (AST_Operation *node); 00047 // Visit an operation. 00048 00049 virtual int visit_argument (AST_Argument *node); 00050 // Visit argument. 00051 00052 private: 00053 CORBA::ParDescriptionSeq params_; 00054 // Holder for the operation parameter info passed to the 00055 // interface repository method create_operation(). 00056 00057 CORBA::ULong index_; 00058 // Counter for building the parameter list. 00059 }; 00060 00061 #endif /* TAO_IFR_ADDING_VISITOR_OPERATION_H */