diff options
Diffstat (limited to 'TAO/tao/Messaging_PolicyValueC.cpp')
-rw-r--r-- | TAO/tao/Messaging_PolicyValueC.cpp | 574 |
1 files changed, 265 insertions, 309 deletions
diff --git a/TAO/tao/Messaging_PolicyValueC.cpp b/TAO/tao/Messaging_PolicyValueC.cpp index 4c555103fc7..08ae2f16e94 100644 --- a/TAO/tao/Messaging_PolicyValueC.cpp +++ b/TAO/tao/Messaging_PolicyValueC.cpp @@ -19,8 +19,11 @@ // Information about TAO is available at: // http://www.cs.wustl.edu/~schmidt/TAO.html -#include "Messaging_PolicyValueC.h" +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:314 + +#include "Messaging_PolicyValueC.h" #include "tao/Stub.h" #include "tao/Invocation.h" #include "tao/PortableInterceptor.h" @@ -31,6 +34,8 @@ #include "tao/ClientInterceptorAdapter.h" #endif /* TAO_HAS_INTERCEPTORS == 1 */ + + #if defined (__BORLANDC__) #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig #endif /* __BORLANDC__ */ @@ -39,9 +44,12 @@ #include "Messaging_PolicyValueC.i" #endif /* !defined INLINE */ +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + static const CORBA::Long _oc_Messaging_PolicyValue[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 38, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), @@ -53,15 +61,15 @@ static const CORBA::Long _oc_Messaging_PolicyValue[] = ACE_NTOHL (0x56616c75), ACE_NTOHL (0x653a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/Messaging/PolicyValue:1.0 - 12, + 12, ACE_NTOHL (0x506f6c69), ACE_NTOHL (0x63795661), ACE_NTOHL (0x6c756500), // name = PolicyValue 2, // member count - 6, + 6, ACE_NTOHL (0x70747970), ACE_NTOHL (0x65000000), // name = ptype - CORBA::tk_alias, // typecode kind for typedefs + CORBA::tk_alias, // typecode kind for typedefs 64, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order 33, @@ -74,17 +82,17 @@ static const CORBA::Long _oc_Messaging_PolicyValue[] = ACE_NTOHL (0x54797065), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CORBA/PolicyType:1.0 - 11, + 11, ACE_NTOHL (0x506f6c69), ACE_NTOHL (0x63795479), ACE_NTOHL (0x70650000), // name = PolicyType - CORBA::tk_ulong, + CORBA::tk_ulong, 7, ACE_NTOHL (0x7076616c), ACE_NTOHL (0x75650000), // name = pvalue - CORBA::tk_sequence, // typecode kind + CORBA::tk_sequence, // typecode kind 12, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order CORBA::tk_octet, @@ -103,63 +111,89 @@ static CORBA::TypeCode _tc_TAO_tc_Messaging_PolicyValue ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (Messaging) -TAO_NAMESPACE_DEFINE (::CORBA::TypeCode_ptr, _tc_PolicyValue, &_tc_TAO_tc_Messaging_PolicyValue) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_PolicyValue, + &_tc_TAO_tc_Messaging_PolicyValue + ) TAO_NAMESPACE_END +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_cs.cpp:67 + void Messaging::PolicyValue::_tao_any_destructor (void *_tao_void_pointer) { PolicyValue *tmp = ACE_static_cast (PolicyValue*, _tao_void_pointer); delete tmp; } - #if !defined (_MESSAGING_POLICYVALUE__TAO_SEQ_OCTET_CS_) #define _MESSAGING_POLICYVALUE__TAO_SEQ_OCTET_CS_ +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_cs.cpp:250 + // ************************************************************* // Messaging::PolicyValue::_tao_seq_Octet // ************************************************************* Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet (void) {} -Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet (CORBA::ULong max) // uses max size + +Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet (CORBA::ULong max) : + #if !defined (TAO_USE_SEQUENCE_TEMPLATES) TAO_Unbounded_Sequence<CORBA::Octet> #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<CORBA::Octet> + #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ (max) {} -Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet (CORBA::ULong max, CORBA::ULong length, CORBA::Octet *buffer, CORBA::Boolean release) + +Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet ( + CORBA::ULong max, + CORBA::ULong length, + CORBA::Octet *buffer, + CORBA::Boolean release + ) : + #if !defined (TAO_USE_SEQUENCE_TEMPLATES) TAO_Unbounded_Sequence<CORBA::Octet> #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<CORBA::Octet> + #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ (max, length, buffer, release) {} -Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet (const _tao_seq_Octet &seq) // copy ctor + +Messaging::PolicyValue::_tao_seq_Octet::_tao_seq_Octet (const _tao_seq_Octet &seq) : + #if !defined (TAO_USE_SEQUENCE_TEMPLATES) TAO_Unbounded_Sequence<CORBA::Octet> #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<CORBA::Octet> + #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ (seq) {} + Messaging::PolicyValue::_tao_seq_Octet::~_tao_seq_Octet (void) // dtor {} + void Messaging::PolicyValue::_tao_seq_Octet::_tao_any_destructor (void *_tao_void_pointer) { _tao_seq_Octet *tmp = ACE_static_cast (_tao_seq_Octet*, _tao_void_pointer); delete tmp; } - #endif /* end #if !defined */ +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/gen_unbounded_sequence_cs.cpp:101 #if !defined (TAO_USE_SEQUENCE_TEMPLATES) @@ -173,16 +207,21 @@ Messaging::_TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::_allocate_buffer (C tmp = _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::allocbuf (length); if (this->buffer_ != 0) - { - Messaging::PolicyValue *old = ACE_reinterpret_cast (Messaging::PolicyValue *,this->buffer_); - - for (CORBA::ULong i = 0; i < this->length_; ++i) - tmp[i] = old[i]; - - if (this->release_) - _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::freebuf (old); - - } + { + Messaging::PolicyValue *old = + ACE_reinterpret_cast (Messaging::PolicyValue *, this->buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + { + tmp[i] = old[i]; + } + + if (this->release_) + { + _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::freebuf (old); + } + } + this->buffer_ = tmp; } @@ -190,75 +229,96 @@ void Messaging::_TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::_deallocate_buffer (void) { if (this->buffer_ == 0 || this->release_ == 0) - return; - - Messaging::PolicyValue *tmp = ACE_reinterpret_cast (Messaging::PolicyValue *,this->buffer_); + { + return; + } + Messaging::PolicyValue *tmp = + ACE_reinterpret_cast (Messaging::PolicyValue *, this->buffer_); _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::freebuf (tmp); this->buffer_ = 0; } -Messaging::_TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::~_TAO_Unbounded_Sequence_Messaging_PolicyValueSeq (void) // Dtor. +Messaging::_TAO_Unbounded_Sequence_Messaging_PolicyValueSeq::~_TAO_Unbounded_Sequence_Messaging_PolicyValueSeq (void) { this->_deallocate_buffer (); } - #endif /* end #if !defined */ - #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ #if !defined (_MESSAGING_POLICYVALUESEQ_CS_) #define _MESSAGING_POLICYVALUESEQ_CS_ +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_cs.cpp:250 + // ************************************************************* // Messaging::PolicyValueSeq // ************************************************************* Messaging::PolicyValueSeq::PolicyValueSeq (void) {} -Messaging::PolicyValueSeq::PolicyValueSeq (CORBA::ULong max) // uses max size + +Messaging::PolicyValueSeq::PolicyValueSeq (CORBA::ULong max) : + #if !defined (TAO_USE_SEQUENCE_TEMPLATES) _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<Messaging::PolicyValue> + #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ (max) {} -Messaging::PolicyValueSeq::PolicyValueSeq (CORBA::ULong max, CORBA::ULong length, Messaging::PolicyValue *buffer, CORBA::Boolean release) + +Messaging::PolicyValueSeq::PolicyValueSeq ( + CORBA::ULong max, + CORBA::ULong length, + Messaging::PolicyValue *buffer, + CORBA::Boolean release + ) : + #if !defined (TAO_USE_SEQUENCE_TEMPLATES) _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<Messaging::PolicyValue> + #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ (max, length, buffer, release) {} -Messaging::PolicyValueSeq::PolicyValueSeq (const PolicyValueSeq &seq) // copy ctor + +Messaging::PolicyValueSeq::PolicyValueSeq (const PolicyValueSeq &seq) : + #if !defined (TAO_USE_SEQUENCE_TEMPLATES) _TAO_Unbounded_Sequence_Messaging_PolicyValueSeq #else /* TAO_USE_SEQUENCE_TEMPLATES */ TAO_Unbounded_Sequence<Messaging::PolicyValue> + #endif /* !TAO_USE_SEQUENCE_TEMPLATES */ (seq) {} + Messaging::PolicyValueSeq::~PolicyValueSeq (void) // dtor {} + void Messaging::PolicyValueSeq::_tao_any_destructor (void *_tao_void_pointer) { PolicyValueSeq *tmp = ACE_static_cast (PolicyValueSeq*, _tao_void_pointer); delete tmp; } - #endif /* end #if !defined */ +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + static const CORBA::Long _oc_Messaging_PolicyValueSeq[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 41, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), @@ -271,12 +331,12 @@ static const CORBA::Long _oc_Messaging_PolicyValueSeq[] = ACE_NTOHL (0x65536571), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:omg.org/Messaging/PolicyValueSeq:1.0 - 15, + 15, ACE_NTOHL (0x506f6c69), ACE_NTOHL (0x63795661), ACE_NTOHL (0x6c756553), ACE_NTOHL (0x65710000), // name = PolicyValueSeq - CORBA::tk_sequence, // typecode kind + CORBA::tk_sequence, // typecode kind 200, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order CORBA::tk_struct, // typecode kind @@ -293,15 +353,15 @@ static const CORBA::Long _oc_Messaging_PolicyValueSeq[] = ACE_NTOHL (0x56616c75), ACE_NTOHL (0x653a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/Messaging/PolicyValue:1.0 - 12, + 12, ACE_NTOHL (0x506f6c69), ACE_NTOHL (0x63795661), ACE_NTOHL (0x6c756500), // name = PolicyValue 2, // member count - 6, + 6, ACE_NTOHL (0x70747970), ACE_NTOHL (0x65000000), // name = ptype - CORBA::tk_alias, // typecode kind for typedefs + CORBA::tk_alias, // typecode kind for typedefs 64, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order 33, @@ -314,17 +374,17 @@ static const CORBA::Long _oc_Messaging_PolicyValueSeq[] = ACE_NTOHL (0x54797065), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CORBA/PolicyType:1.0 - 11, + 11, ACE_NTOHL (0x506f6c69), ACE_NTOHL (0x63795479), ACE_NTOHL (0x70650000), // name = PolicyType - CORBA::tk_ulong, + CORBA::tk_ulong, 7, ACE_NTOHL (0x7076616c), ACE_NTOHL (0x75650000), // name = pvalue - CORBA::tk_sequence, // typecode kind + CORBA::tk_sequence, // typecode kind 12, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order CORBA::tk_octet, @@ -346,20 +406,15 @@ static CORBA::TypeCode _tc_TAO_tc_Messaging_PolicyValueSeq ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (Messaging) -TAO_NAMESPACE_DEFINE (::CORBA::TypeCode_ptr, _tc_PolicyValueSeq, &_tc_TAO_tc_Messaging_PolicyValueSeq) -TAO_NAMESPACE_END - -TAO_NAMESPACE_TYPE (const CORBA::ULong) -TAO_NAMESPACE_BEGIN (Messaging) -TAO_NAMESPACE_DEFINE (const CORBA::ULong, TAG_POLICIES, 2U) -TAO_NAMESPACE_END -TAO_NAMESPACE_TYPE (const CORBA::ULong) -TAO_NAMESPACE_BEGIN (Messaging) -TAO_NAMESPACE_DEFINE (const CORBA::ULong, INVOCATION_POLICIES, 2U) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_PolicyValueSeq, + &_tc_TAO_tc_Messaging_PolicyValueSeq + ) TAO_NAMESPACE_END // TAO_IDL - Generated from -// be/be_visitor_structure/any_op_cs.cpp:58 +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_cs.cpp:54 // Copying insertion. void operator<<= ( @@ -367,16 +422,12 @@ void operator<<= ( const Messaging::PolicyValue &_tao_elem ) { - TAO_OutputCDR stream; - - if (stream << _tao_elem) - { - _tao_any._tao_replace ( - Messaging::_tc_PolicyValue, - TAO_ENCAP_BYTE_ORDER, - stream.begin () - ); - } + TAO::Any_Dual_Impl_T<Messaging::PolicyValue>::insert_copy ( + _tao_any, + Messaging::PolicyValue::_tao_any_destructor, + Messaging::_tc_PolicyValue, + _tao_elem + ); } // Non-copying insertion. @@ -385,19 +436,12 @@ void operator<<= ( Messaging::PolicyValue *_tao_elem ) { - TAO_OutputCDR stream; - - if (stream << *_tao_elem) - { - _tao_any._tao_replace ( - Messaging::_tc_PolicyValue, - TAO_ENCAP_BYTE_ORDER, - stream.begin (), - 1, - _tao_elem, - Messaging::PolicyValue::_tao_any_destructor - ); - } + TAO::Any_Dual_Impl_T<Messaging::PolicyValue>::insert ( + _tao_any, + Messaging::PolicyValue::_tao_any_destructor, + Messaging::_tc_PolicyValue, + _tao_elem + ); } // Extraction to non-const pointer (deprecated). @@ -418,76 +462,24 @@ CORBA::Boolean operator>>= ( const Messaging::PolicyValue *&_tao_elem ) { - _tao_elem = 0; - - ACE_TRY_NEW_ENV - { - CORBA::TypeCode_var type = _tao_any.type (); - - CORBA::Boolean result = - type->equivalent ( - Messaging::_tc_PolicyValue - ACE_ENV_ARG_PARAMETER - ); - ACE_TRY_CHECK; - - if (result == 0) - { - return 0; // not equivalent - } - - if (_tao_any.any_owns_data ()) - { - _tao_elem = ACE_static_cast ( - const Messaging::PolicyValue*, - _tao_any.value () - ); - - return 1; - } - else - { - Messaging::PolicyValue *tmp; - ACE_NEW_RETURN ( - tmp, - Messaging::PolicyValue, - 0 - ); - - TAO_InputCDR stream ( - _tao_any._tao_get_cdr (), - _tao_any._tao_byte_order () - ); - - if (stream >> *tmp) - { - ((CORBA::Any *)&_tao_any)->_tao_replace ( - Messaging::_tc_PolicyValue, - 1, - ACE_static_cast (void *, tmp), - Messaging::PolicyValue::_tao_any_destructor - ); - - _tao_elem = tmp; - return 1; - } - else - { - delete tmp; - } - } - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - return 0; + return + TAO::Any_Dual_Impl_T<Messaging::PolicyValue>::extract ( + _tao_any, + Messaging::PolicyValue::_tao_any_destructor, + Messaging::_tc_PolicyValue, + _tao_elem + ); } +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) + template class TAO::Any_Dual_Impl_T<Messaging::PolicyValue>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate TAO::Any_Dual_Impl_T<Messaging::PolicyValue> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ // TAO_IDL - Generated from -// be/be_visitor_sequence/any_op_cs.cpp:61 +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_cs.cpp:54 // Copying insertion. void operator<<= ( @@ -495,16 +487,12 @@ void operator<<= ( const Messaging::PolicyValueSeq &_tao_elem ) { - TAO_OutputCDR stream; - - if (stream << _tao_elem) - { - _tao_any._tao_replace ( - Messaging::_tc_PolicyValueSeq, - TAO_ENCAP_BYTE_ORDER, - stream.begin () - ); - } + TAO::Any_Dual_Impl_T<Messaging::PolicyValueSeq>::insert_copy ( + _tao_any, + Messaging::PolicyValueSeq::_tao_any_destructor, + Messaging::_tc_PolicyValueSeq, + _tao_elem + ); } // Non-copying insertion. @@ -513,19 +501,12 @@ void operator<<= ( Messaging::PolicyValueSeq *_tao_elem ) { - TAO_OutputCDR stream; - - if (stream << *_tao_elem) - { - _tao_any._tao_replace ( - Messaging::_tc_PolicyValueSeq, - TAO_ENCAP_BYTE_ORDER, - stream.begin (), - 1, - _tao_elem, - Messaging::PolicyValueSeq::_tao_any_destructor - ); - } + TAO::Any_Dual_Impl_T<Messaging::PolicyValueSeq>::insert ( + _tao_any, + Messaging::PolicyValueSeq::_tao_any_destructor, + Messaging::_tc_PolicyValueSeq, + _tao_elem + ); } // Extraction to non-const pointer (deprecated). @@ -534,8 +515,8 @@ CORBA::Boolean operator>>= ( Messaging::PolicyValueSeq *&_tao_elem ) { - return _tao_any >>= ACE_const_cast( - const Messaging::PolicyValueSeq*&, + return _tao_any >>= ACE_const_cast ( + const Messaging::PolicyValueSeq *&, _tao_elem ); } @@ -546,73 +527,17 @@ CORBA::Boolean operator>>= ( const Messaging::PolicyValueSeq *&_tao_elem ) { - _tao_elem = 0; - - ACE_TRY_NEW_ENV - { - CORBA::TypeCode_var type = _tao_any.type (); - - CORBA::Boolean result = - type->equivalent ( - Messaging::_tc_PolicyValueSeq - ACE_ENV_ARG_PARAMETER - ); - ACE_TRY_CHECK; - - if (!result) - { - return 0; // not equivalent - } - - if (_tao_any.any_owns_data ()) - { - _tao_elem = ACE_static_cast( - const Messaging::PolicyValueSeq*, - _tao_any.value () - ); - - return 1; - } - else - { - Messaging::PolicyValueSeq *tmp = 0; - ACE_NEW_RETURN ( - tmp, - Messaging::PolicyValueSeq, - 0 - ); - - TAO_InputCDR stream ( - _tao_any._tao_get_cdr (), - _tao_any._tao_byte_order () - ); - - if (stream >> *tmp) - { - ((CORBA::Any *)&_tao_any)->_tao_replace ( - Messaging::_tc_PolicyValueSeq, - 1, - ACE_static_cast (void *, tmp), - Messaging::PolicyValueSeq::_tao_any_destructor - ); - - _tao_elem = tmp; - return 1; - } - else - { - delete tmp; - } - } - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - - return 0; + return + TAO::Any_Dual_Impl_T<Messaging::PolicyValueSeq>::extract ( + _tao_any, + Messaging::PolicyValueSeq::_tao_any_destructor, + Messaging::_tc_PolicyValueSeq, + _tao_elem + ); } +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_cs.cpp:125 #if !defined _TAO_CDR_OP_Messaging_PolicyValue__tao_seq_Octet_CPP_ #define _TAO_CDR_OP_Messaging_PolicyValue__tao_seq_Octet_CPP_ @@ -622,26 +547,29 @@ CORBA::Boolean operator<< ( const Messaging::PolicyValue::_tao_seq_Octet &_tao_sequence ) { - if (strm << _tao_sequence.length ()) - { - // encode all elements - -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) + CORBA::ULong _tao_seq_len = _tao_sequence.length (); + + if (strm << _tao_seq_len) { - TAO_Unbounded_Sequence<CORBA::Octet> *oseq = - ACE_static_cast (TAO_Unbounded_Sequence<CORBA::Octet>*, (Messaging::PolicyValue::_tao_seq_Octet *)&_tao_sequence); - if (oseq->mb ()) - return strm.write_octet_array_mb (oseq->mb ()); - else - return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); - } - + // Encode all elements. + +#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) + { + TAO_Unbounded_Sequence<CORBA::Octet> *oseq = + ACE_static_cast (TAO_Unbounded_Sequence<CORBA::Octet>*, (Messaging::PolicyValue::_tao_seq_Octet *)&_tao_sequence); + if (oseq->mb ()) + return strm.write_octet_array_mb (oseq->mb ()); + else + return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + } + #else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); - + return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + #endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - } - return 0; // error + } + + return 0; } CORBA::Boolean operator>> ( @@ -650,64 +578,81 @@ CORBA::Boolean operator>> ( ) { CORBA::ULong _tao_seq_len; + if (strm >> _tao_seq_len) - { - // Add a check to the length of the sequence - // to make sure it does not exceed the length - // of the stream. (See bug 1159.) - if (_tao_seq_len > strm.length()) - return 0; - // set the length of the sequence - _tao_sequence.length (_tao_seq_len); - // If length is 0 we return true. - if (0 >= _tao_seq_len) - return 1; - // retrieve all the elements - -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - if (ACE_BIT_DISABLED (strm.start ()->flags (), - ACE_Message_Block::DONT_DELETE)) { - TAO_ORB_Core* orb_core = strm.orb_core (); - if (orb_core != 0 && - strm.orb_core ()->resource_factory ()-> - input_cdr_allocator_type_locked () == 1) + // Add a check to the length of the sequence + // to make sure it does not exceed the length + // of the stream. (See bug 58.) + if (_tao_seq_len > strm.length ()) + { + return 0; + } + + // Set the length of the sequence. + _tao_sequence.length (_tao_seq_len); + + // If length is 0 we return true. + if (0 >= _tao_seq_len) + { + return 1; + } + + // Retrieve all the elements. + +#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) + if (ACE_BIT_DISABLED (strm.start ()->flags (), + ACE_Message_Block::DONT_DELETE)) { - TAO_Unbounded_Sequence<CORBA::Octet> *oseq = - ACE_static_cast(TAO_Unbounded_Sequence<CORBA::Octet>*, &_tao_sequence); - oseq->replace (_tao_seq_len, strm.start ()); - oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len); - strm.skip_bytes (_tao_seq_len); - return 1; + TAO_ORB_Core* orb_core = strm.orb_core (); + if (orb_core != 0 && + strm.orb_core ()->resource_factory ()-> + input_cdr_allocator_type_locked () == 1) + { + TAO_Unbounded_Sequence<CORBA::Octet> *oseq = + ACE_static_cast(TAO_Unbounded_Sequence<CORBA::Octet>*, &_tao_sequence); + oseq->replace (_tao_seq_len, strm.start ()); + oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len); + strm.skip_bytes (_tao_seq_len); + return 1; + } } - } - return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len); + return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len); #else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); - + return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + #endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - } - return 0; // error + } + + return 0; } #endif /* _TAO_CDR_OP_Messaging_PolicyValue__tao_seq_Octet_CPP_ */ +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_cs.cpp:125 + CORBA::Boolean operator<< ( TAO_OutputCDR &strm, const Messaging::PolicyValueSeq &_tao_sequence ) { - if (strm << _tao_sequence.length ()) - { - // encode all elements - CORBA::Boolean _tao_marshal_flag = 1; - for (CORBA::ULong i = 0; i < _tao_sequence.length () && _tao_marshal_flag; i++) + CORBA::ULong _tao_seq_len = _tao_sequence.length (); + + if (strm << _tao_seq_len) { - _tao_marshal_flag = (strm << _tao_sequence[i]); + // Encode all elements. + CORBA::Boolean _tao_marshal_flag = 1; + + for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i) + { + _tao_marshal_flag = (strm << _tao_sequence[i]); + } + + return _tao_marshal_flag; } - return _tao_marshal_flag; - } - return 0; // error + + return 0; } CORBA::Boolean operator>> ( @@ -716,26 +661,37 @@ CORBA::Boolean operator>> ( ) { CORBA::ULong _tao_seq_len; + if (strm >> _tao_seq_len) - { - // Add a check to the length of the sequence - // to make sure it does not exceed the length - // of the stream. (See bug 1159.) - if (_tao_seq_len > strm.length()) - return 0; - // set the length of the sequence - _tao_sequence.length (_tao_seq_len); - // If length is 0 we return true. - if (0 >= _tao_seq_len) - return 1; - // retrieve all the elements - CORBA::Boolean _tao_marshal_flag = 1; - for (CORBA::ULong i = 0; i < _tao_sequence.length () && _tao_marshal_flag; i++) { - _tao_marshal_flag = (strm >> _tao_sequence[i]); + // Add a check to the length of the sequence + // to make sure it does not exceed the length + // of the stream. (See bug 58.) + if (_tao_seq_len > strm.length ()) + { + return 0; + } + + // Set the length of the sequence. + _tao_sequence.length (_tao_seq_len); + + // If length is 0 we return true. + if (0 >= _tao_seq_len) + { + return 1; + } + + // Retrieve all the elements. + CORBA::Boolean _tao_marshal_flag = 1; + + for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i) + { + _tao_marshal_flag = (strm >> _tao_sequence[i]); + } + + return _tao_marshal_flag; } - return _tao_marshal_flag; - } - return 0; // error + + return 0; } |