DII_Arguments.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    DII_Arguments.h
00006  *
00007  *  DII_Arguments.h,v 1.6 2006/03/10 07:19:08 jtc Exp
00008  *
00009  *  @author Jeff Parsons <j.parsons@vanderbilt.edu>
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_DII_ARGUMENTS_H
00014 #define TAO_DII_ARGUMENTS_H
00015 
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/Argument.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00025 
00026 namespace CORBA
00027 {
00028   class NamedValue;
00029   typedef NamedValue *NamedValue_ptr;
00030 
00031   class NVList;
00032   typedef NVList *NVList_ptr;
00033 }
00034 
00035 namespace Dynamic
00036 {
00037   class ParameterList;
00038 }
00039 
00040 namespace TAO
00041 {
00042   /**
00043    * @class NamedValue_Argument
00044    *
00045    * @brief Class for the return value of a CORBA::(Server)Request.
00046    */
00047   class NamedValue_Argument : public RetArgument
00048   {
00049   public:
00050     NamedValue_Argument (CORBA::NamedValue_ptr);
00051 
00052     virtual CORBA::Boolean demarshal (TAO_InputCDR &);
00053 
00054     virtual void interceptor_value (CORBA::Any *any) const;
00055 
00056     int byte_order (void) const;
00057 
00058   private:
00059     CORBA::NamedValue_ptr x_;
00060 
00061     /// Byte order that the Request class will use
00062     int byte_order_;
00063   };
00064 
00065   /**
00066    * @class NVList_Argument
00067    *
00068    * @brief Class for the argument list of a CORBA::(Server)Request.
00069    */
00070   class NVList_Argument : public InArgument
00071   {
00072   public:
00073     NVList_Argument (CORBA::NVList_ptr,
00074                      bool lazy_eval);
00075 
00076     virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00077 
00078     virtual CORBA::Boolean demarshal (TAO_InputCDR &);
00079 
00080     // Not an override of a base class method, but a new one that
00081     // deals with the argument list as a whole.
00082     void interceptor_paramlist (Dynamic::ParameterList *);
00083 
00084   private:
00085     CORBA::NVList_ptr x_;
00086 
00087     bool lazy_evaluation_;
00088   };
00089 }
00090 
00091 TAO_END_VERSIONED_NAMESPACE_DECL
00092 
00093 #if defined (__ACE_INLINE__)
00094 # include "tao/DynamicInterface/DII_Arguments.inl"
00095 #endif /* __ACE_INLINE__ */
00096 
00097 #include /**/ "ace/post.h"
00098 
00099 #endif /* TAO_DII_ARGUMENTS_H */

Generated on Thu Nov 9 13:04:21 2006 for TAO_DynamicInterface by doxygen 1.3.6