diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-04-22 20:53:09 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-04-22 20:53:09 +0000 |
commit | d254156433bdb336317aa6ba9750e16cfe4c9db1 (patch) | |
tree | b325bb726be5c711dfe09e642820f85ea7c01e02 /TAO/tao/NVList.h | |
parent | 5dbda4cbe83f7f0b1be421f1efe864c0ea109283 (diff) | |
download | ATCD-d254156433bdb336317aa6ba9750e16cfe4c9db1.tar.gz |
ChangeLogTag:Tue Apr 22 14:58:33 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/tao/NVList.h')
-rw-r--r-- | TAO/tao/NVList.h | 155 |
1 files changed, 20 insertions, 135 deletions
diff --git a/TAO/tao/NVList.h b/TAO/tao/NVList.h index 6a96ca61b66..e19d7b5840e 100644 --- a/TAO/tao/NVList.h +++ b/TAO/tao/NVList.h @@ -32,6 +32,10 @@ class TAO_InputCDR; namespace CORBA { + class NamedValue; + typedef TAO_Pseudo_Var_T<NamedValue> NamedValue_var; + typedef TAO_Pseudo_Out_T<NamedValue, NamedValue_var> NamedValue_out; + /** * @class NamedValue * @@ -53,7 +57,7 @@ namespace CORBA public: /// optional name - const char *name (void) const; + const char * name (void) const; /// return the value CORBA::Any_ptr value (void) const; @@ -62,18 +66,16 @@ namespace CORBA CORBA::Flags flags (void) const; // The pseudo object static methods.. - static NamedValue* _duplicate (NamedValue*); - static NamedValue* _nil (void); + static NamedValue * _duplicate (NamedValue *); + static NamedValue * _nil (void); // = Reference counting. CORBA::ULong _incr_refcnt (void); CORBA::ULong _decr_refcnt (void); // Useful for template programming. -#if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8 typedef NamedValue_ptr _ptr_type; typedef NamedValue_var _var_type; -#endif /* __GNUC__ */ protected: @@ -105,70 +107,15 @@ namespace CORBA CORBA::Flags flags_; /// optional IDL name of the parameter - char *name_; - }; - - /** - * @class NamedValue_var - * - * @brief The T_var class for NamedValue - * - * As any other pseudo object NamedValue must have a T_var class, - * the interface an semantics are specified in the CORBA spec. - */ - class TAO_Export NamedValue_var - { - public: - - NamedValue_var (void); // default constructor - NamedValue_var (NamedValue_ptr); - NamedValue_var (const NamedValue_var &); // copy constructor - ~NamedValue_var (void); // destructor - - NamedValue_var &operator= (NamedValue_ptr); - NamedValue_var &operator= (const NamedValue_var &); - NamedValue_ptr operator-> (void) const; - - /// in, inout, out, _retn - operator const NamedValue_ptr &() const; - operator NamedValue_ptr &(); - NamedValue_ptr in (void) const; - NamedValue_ptr &inout (void); - NamedValue_ptr &out (void); - NamedValue_ptr _retn (void); - NamedValue_ptr ptr (void) const; - - private: - NamedValue_ptr ptr_; - }; - - /** - * @class NamedValue_out - * - * @brief The T_out class for NamedValue - * - * As any other pseudo object NamedValue must have a T_out class, - * the interface an semantics are specified in the CORBA spec. - */ - class TAO_Export NamedValue_out - { - public: - NamedValue_out (NamedValue_ptr &); - NamedValue_out (NamedValue_var &); - NamedValue_out (NamedValue_out &); - NamedValue_out &operator= (NamedValue_out &); - NamedValue_out &operator= (const NamedValue_var &); - NamedValue_out &operator= (NamedValue_ptr); - operator NamedValue_ptr &(); - NamedValue_ptr &ptr (void); - NamedValue_ptr operator-> (void); - - private: - NamedValue_ptr &ptr_; + char * name_; }; // **************************************************************** + class NVList; + typedef TAO_Pseudo_Var_T<NVList> NVList_var; + typedef TAO_Pseudo_Out_T<NVList, NVList_var> NVList_out; + /** * @class NVList * @@ -233,8 +180,8 @@ namespace CORBA ACE_ENV_ARG_DECL_WITH_DEFAULTS); // The pseudo object static methods.. - static NVList* _duplicate (NVList*); - static NVList* _nil (void); + static NVList * _duplicate (NVList *); + static NVList * _nil (void); // = Reference counting. CORBA::ULong _incr_refcnt (void); @@ -248,20 +195,20 @@ namespace CORBA * The <flag> is used to check which parameters (IN, OUT and/or * INOUT) are to be extracted */ - void _tao_incoming_cdr (TAO_InputCDR &cdr, + void _tao_incoming_cdr (TAO_InputCDR & cdr, int flag, - int &lazy_evaluation + int & lazy_evaluation ACE_ENV_ARG_DECL); /// Encode the NVList into the CDR stream. <flag> masks the type of /// arguments (IN, OUT or INOUT) that are to be marshaled. - void _tao_encode (TAO_OutputCDR &cdr, - TAO_ORB_Core *orb_core, + void _tao_encode (TAO_OutputCDR & cdr, + TAO_ORB_Core * orb_core, int flag ACE_ENV_ARG_DECL_WITH_DEFAULTS); /// Decode the NVList arguments from the <cdr> stream. - void _tao_decode (TAO_InputCDR &cdr, + void _tao_decode (TAO_InputCDR & cdr, int flag ACE_ENV_ARG_DECL); @@ -280,10 +227,8 @@ namespace CORBA CORBA::Boolean _lazy_has_arguments (void) const; // Useful for template programming. -#if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8 typedef NVList_ptr _ptr_type; typedef NVList_var _var_type; -#endif /* __GNUC__ */ protected: @@ -326,74 +271,14 @@ namespace CORBA * store the CDR buffer and perform lazy evaluation to compute the * Anys. */ - TAO_InputCDR *incoming_; + TAO_InputCDR * incoming_; /// The flags used to check which parameters are actually extracted /// from the <incoming_> buffer int incoming_flag_; }; - - /** - * @class NVList_var - * - * @brief The T_var class for NVList - * - * As any other pseudo object NVList must have a T_var class, - * the interface an semantics are specified in the CORBA spec. - */ - class TAO_Export NVList_var - { - public: - NVList_var (void); - NVList_var (NVList_ptr); - NVList_var (const NVList_var &); - ~NVList_var (void); - - NVList_var &operator= (NVList_ptr); - NVList_var &operator= (const NVList_var &); - NVList_ptr operator-> (void) const; - - /// in, inout, out, _retn - operator const NVList_ptr &() const; - operator NVList_ptr &(); - NVList_ptr in (void) const; - NVList_ptr &inout (void); - NVList_ptr &out (void); - NVList_ptr _retn (void); - NVList_ptr ptr (void) const; - - private: - NVList_ptr ptr_; - }; - - /** - * @class NVList_out - * - * @brief The T_out class for NVList - * - * As any other pseudo object NVList must have a T_out class, - * the interface an semantics are specified in the CORBA spec. - */ - class TAO_Export NVList_out - { - public: - NVList_out (NVList_ptr &); - NVList_out (NVList_var &); - NVList_out (NVList_out &); - NVList_out &operator= (NVList_out &); - NVList_out &operator= (const NVList_var &); - NVList_out &operator= (NVList_ptr); - operator NVList_ptr &(); - NVList_ptr &ptr (void); - NVList_ptr operator-> (void); - - private: - NVList_ptr &ptr_; - }; } -// **************************************************************** - #if defined (__ACE_INLINE__) # include "tao/NVList.i" #endif /* __ACE_INLINE__ */ |