=default for generated implementation copy ctor
[ACE_TAO.git] / TAO / tao / DynamicInterface / DII_Arguments.h
blob8c78ee1dfdf19374c8c29cef2bcbc96db388bfa5
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file DII_Arguments.h
7 * @author Jeff Parsons <j.parsons@vanderbilt.edu>
8 */
9 //=============================================================================
11 #ifndef TAO_DII_ARGUMENTS_H
12 #define TAO_DII_ARGUMENTS_H
14 #include /**/ "ace/pre.h"
16 #include "tao/Argument.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 # pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
24 namespace CORBA
26 class NamedValue;
27 typedef NamedValue *NamedValue_ptr;
29 class NVList;
30 typedef NVList *NVList_ptr;
33 namespace Dynamic
35 class ParameterList;
38 namespace TAO
40 /**
41 * @class NamedValue_Argument
43 * @brief Class for the return value of a CORBA::(Server)Request.
45 class NamedValue_Argument : public RetArgument
47 public:
48 NamedValue_Argument (CORBA::NamedValue_ptr);
50 virtual CORBA::Boolean demarshal (TAO_InputCDR &);
52 virtual void interceptor_value (CORBA::Any *any) const;
54 int byte_order () const;
56 private:
57 CORBA::NamedValue_ptr x_;
59 /// Byte order that the Request class will use
60 int byte_order_ {};
63 /**
64 * @class NVList_Argument
66 * @brief Class for the argument list of a CORBA::(Server)Request.
68 class NVList_Argument : public InArgument
70 public:
71 NVList_Argument (CORBA::NVList_ptr,
72 bool lazy_eval);
74 virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
76 virtual CORBA::Boolean demarshal (TAO_InputCDR &);
78 // Not an override of a base class method, but a new one that
79 // deals with the argument list as a whole.
80 void interceptor_paramlist (Dynamic::ParameterList *);
82 CORBA::NVList_ptr arg () const;
84 private:
85 CORBA::NVList_ptr x_;
87 bool lazy_evaluation_;
91 TAO_END_VERSIONED_NAMESPACE_DECL
93 #if defined (__ACE_INLINE__)
94 # include "tao/DynamicInterface/DII_Arguments.inl"
95 #endif /* __ACE_INLINE__ */
97 #include /**/ "ace/post.h"
99 #endif /* TAO_DII_ARGUMENTS_H */