diff options
Diffstat (limited to 'TAO/tao/TimeBaseC.cpp')
-rw-r--r-- | TAO/tao/TimeBaseC.cpp | 537 |
1 files changed, 263 insertions, 274 deletions
diff --git a/TAO/tao/TimeBaseC.cpp b/TAO/tao/TimeBaseC.cpp index dac0b617bad..fff9ea8f003 100644 --- a/TAO/tao/TimeBaseC.cpp +++ b/TAO/tao/TimeBaseC.cpp @@ -29,29 +29,32 @@ #endif /* TAO_HAS_INTERCEPTORS == 1 */ #if defined (__BORLANDC__) -#pragma option -w-rvl -w-rch -w-ccc -w-aus +#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig #endif /* __BORLANDC__ */ #if !defined (__ACE_INLINE__) #include "TimeBaseC.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_TimeBase_TimeT[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f54696d), - ACE_NTOHL (0x65543a31), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f54696d), + ACE_NTOHL (0x65543a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 - 6, - ACE_NTOHL (0x54696d65), + 6, + ACE_NTOHL (0x54696d65), ACE_NTOHL (0x54000000), // name = TimeT - CORBA::tk_ulonglong, + CORBA::tk_ulonglong, }; @@ -65,43 +68,50 @@ static CORBA::TypeCode _tc_TAO_tc_TimeBase_TimeT ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (TimeBase) -TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_TimeT, &_tc_TAO_tc_TimeBase_TimeT) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_TimeT, + &_tc_TAO_tc_TimeBase_TimeT + ) TAO_NAMESPACE_END +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + static const CORBA::Long _oc_TimeBase_InaccuracyT[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 37, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f496e61), - ACE_NTOHL (0x63637572), - ACE_NTOHL (0x61637954), - ACE_NTOHL (0x3a312e30), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f496e61), + ACE_NTOHL (0x63637572), + ACE_NTOHL (0x61637954), + ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:omg.org/TimeBase/InaccuracyT:1.0 - 12, - ACE_NTOHL (0x496e6163), - ACE_NTOHL (0x63757261), + 12, + ACE_NTOHL (0x496e6163), + ACE_NTOHL (0x63757261), ACE_NTOHL (0x63795400), // name = InaccuracyT - CORBA::tk_alias, // typecode kind for typedefs + CORBA::tk_alias, // typecode kind for typedefs 56, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f54696d), - ACE_NTOHL (0x65543a31), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f54696d), + ACE_NTOHL (0x65543a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 - 6, - ACE_NTOHL (0x54696d65), + 6, + ACE_NTOHL (0x54696d65), ACE_NTOHL (0x54000000), // name = TimeT - CORBA::tk_ulonglong, + CORBA::tk_ulonglong, }; @@ -116,25 +126,32 @@ static CORBA::TypeCode _tc_TAO_tc_TimeBase_InaccuracyT ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (TimeBase) -TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_InaccuracyT, &_tc_TAO_tc_TimeBase_InaccuracyT) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_InaccuracyT, + &_tc_TAO_tc_TimeBase_InaccuracyT + ) TAO_NAMESPACE_END +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + static const CORBA::Long _oc_TimeBase_TdfT[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 30, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f546466), - ACE_NTOHL (0x543a312e), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f546466), + ACE_NTOHL (0x543a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/TimeBase/TdfT:1.0 - 5, - ACE_NTOHL (0x54646654), + 5, + ACE_NTOHL (0x54646654), ACE_NTOHL (0x0), // name = TdfT - CORBA::tk_short, + CORBA::tk_short, }; @@ -148,74 +165,81 @@ static CORBA::TypeCode _tc_TAO_tc_TimeBase_TdfT ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (TimeBase) -TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_TdfT, &_tc_TAO_tc_TimeBase_TdfT) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_TdfT, + &_tc_TAO_tc_TimeBase_TdfT + ) TAO_NAMESPACE_END +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + static const CORBA::Long _oc_TimeBase_UtcT[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 30, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f557463), - ACE_NTOHL (0x543a312e), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f557463), + ACE_NTOHL (0x543a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/TimeBase/UtcT:1.0 - 5, - ACE_NTOHL (0x55746354), + 5, + ACE_NTOHL (0x55746354), ACE_NTOHL (0x0), // name = UtcT 4, // member count - 5, - ACE_NTOHL (0x74696d65), + 5, + ACE_NTOHL (0x74696d65), ACE_NTOHL (0x0), // name = time - CORBA::tk_alias, // typecode kind for typedefs + CORBA::tk_alias, // typecode kind for typedefs 56, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f54696d), - ACE_NTOHL (0x65543a31), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f54696d), + ACE_NTOHL (0x65543a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 - 6, - ACE_NTOHL (0x54696d65), + 6, + ACE_NTOHL (0x54696d65), ACE_NTOHL (0x54000000), // name = TimeT - CORBA::tk_ulonglong, + CORBA::tk_ulonglong, 8, - ACE_NTOHL (0x696e6163), + ACE_NTOHL (0x696e6163), ACE_NTOHL (0x636c6f00), // name = inacclo - CORBA::tk_ulong, + CORBA::tk_ulong, 8, - ACE_NTOHL (0x696e6163), + ACE_NTOHL (0x696e6163), ACE_NTOHL (0x63686900), // name = inacchi - CORBA::tk_ushort, + CORBA::tk_ushort, 4, ACE_NTOHL (0x74646600), // name = tdf - CORBA::tk_alias, // typecode kind for typedefs + CORBA::tk_alias, // typecode kind for typedefs 56, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order 30, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f546466), - ACE_NTOHL (0x543a312e), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f546466), + ACE_NTOHL (0x543a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/TimeBase/TdfT:1.0 - 5, - ACE_NTOHL (0x54646654), + 5, + ACE_NTOHL (0x54646654), ACE_NTOHL (0x0), // name = TdfT - CORBA::tk_short, + CORBA::tk_short, }; @@ -230,77 +254,71 @@ static CORBA::TypeCode _tc_TAO_tc_TimeBase_UtcT ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (TimeBase) -TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_UtcT, &_tc_TAO_tc_TimeBase_UtcT) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_UtcT, + &_tc_TAO_tc_TimeBase_UtcT + ) TAO_NAMESPACE_END -void TimeBase::UtcT::_tao_any_destructor (void *x) +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_cs.cpp:67 + +void TimeBase::UtcT::_tao_any_destructor (void *_tao_void_pointer) { - UtcT *tmp = ACE_static_cast (UtcT*,x); + UtcT *tmp = ACE_static_cast (UtcT*, _tao_void_pointer); delete tmp; } +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 + static const CORBA::Long _oc_TimeBase_IntervalT[] = { - TAO_ENCAP_BYTE_ORDER, // byte order + TAO_ENCAP_BYTE_ORDER, // byte order 35, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f496e74), - ACE_NTOHL (0x65727661), - ACE_NTOHL (0x6c543a31), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f496e74), + ACE_NTOHL (0x65727661), + ACE_NTOHL (0x6c543a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/IntervalT:1.0 - 10, - ACE_NTOHL (0x496e7465), - ACE_NTOHL (0x7276616c), + 10, + ACE_NTOHL (0x496e7465), + ACE_NTOHL (0x7276616c), ACE_NTOHL (0x54000000), // name = IntervalT 2, // member count - 12, - ACE_NTOHL (0x6c6f7765), - ACE_NTOHL (0x725f626f), + 12, + ACE_NTOHL (0x6c6f7765), + ACE_NTOHL (0x725f626f), ACE_NTOHL (0x756e6400), // name = lower_bound - CORBA::tk_alias, // typecode kind for typedefs + CORBA::tk_alias, // typecode kind for typedefs 56, // encapsulation length TAO_ENCAP_BYTE_ORDER, // byte order 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f54696d), - ACE_NTOHL (0x65543a31), + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x54696d65), + ACE_NTOHL (0x42617365), + ACE_NTOHL (0x2f54696d), + ACE_NTOHL (0x65543a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 - 6, - ACE_NTOHL (0x54696d65), + 6, + ACE_NTOHL (0x54696d65), ACE_NTOHL (0x54000000), // name = TimeT - CORBA::tk_ulonglong, + CORBA::tk_ulonglong, 12, - ACE_NTOHL (0x75707065), - ACE_NTOHL (0x725f626f), + ACE_NTOHL (0x75707065), + ACE_NTOHL (0x725f626f), ACE_NTOHL (0x756e6400), // name = upper_bound - CORBA::tk_alias, // typecode kind for typedefs - 56, // encapsulation length - TAO_ENCAP_BYTE_ORDER, // byte order - 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x42617365), - ACE_NTOHL (0x2f54696d), - ACE_NTOHL (0x65543a31), - ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/TimeBase/TimeT:1.0 - 6, - ACE_NTOHL (0x54696d65), - ACE_NTOHL (0x54000000), // name = TimeT - CORBA::tk_ulonglong, - - + 0xffffffff, // indirection + 0xffffffac, // negative offset (-84) }; static CORBA::TypeCode _tc_TAO_tc_TimeBase_IntervalT ( @@ -313,178 +331,149 @@ static CORBA::TypeCode _tc_TAO_tc_TimeBase_IntervalT ( TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (TimeBase) -TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_IntervalT, &_tc_TAO_tc_TimeBase_IntervalT) +TAO_NAMESPACE_DEFINE ( + ::CORBA::TypeCode_ptr, + _tc_IntervalT, + &_tc_TAO_tc_TimeBase_IntervalT + ) TAO_NAMESPACE_END -void TimeBase::IntervalT::_tao_any_destructor (void *x) +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_cs.cpp:67 + +void TimeBase::IntervalT::_tao_any_destructor (void *_tao_void_pointer) { - IntervalT *tmp = ACE_static_cast (IntervalT*,x); + IntervalT *tmp = ACE_static_cast (IntervalT*, _tao_void_pointer); delete tmp; } -void operator<<= (CORBA::Any &_tao_any, const TimeBase::UtcT &_tao_elem) // copying +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_cs.cpp:54 + +// Copying insertion. +void operator<<= ( + CORBA::Any &_tao_any, + const TimeBase::UtcT &_tao_elem + ) { - TAO_OutputCDR stream; - stream << _tao_elem; - _tao_any._tao_replace ( + TAO::Any_Dual_Impl_T<TimeBase::UtcT>::insert_copy ( + _tao_any, + TimeBase::UtcT::_tao_any_destructor, TimeBase::_tc_UtcT, - TAO_ENCAP_BYTE_ORDER, - stream.begin () + _tao_elem ); } -void operator<<= (CORBA::Any &_tao_any, TimeBase::UtcT *_tao_elem) // non copying +// Non-copying insertion. +void operator<<= ( + CORBA::Any &_tao_any, + TimeBase::UtcT *_tao_elem + ) { - TAO_OutputCDR stream; - stream << *_tao_elem; - _tao_any._tao_replace ( + TAO::Any_Dual_Impl_T<TimeBase::UtcT>::insert ( + _tao_any, + TimeBase::UtcT::_tao_any_destructor, TimeBase::_tc_UtcT, - TAO_ENCAP_BYTE_ORDER, - stream.begin (), - 1, - _tao_elem, - TimeBase::UtcT::_tao_any_destructor + _tao_elem ); } -CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, TimeBase::UtcT *&_tao_elem) +// Extraction to non-const pointer (deprecated). +CORBA::Boolean operator>>= ( + const CORBA::Any &_tao_any, + TimeBase::UtcT *&_tao_elem + ) { - return _tao_any >>= ACE_const_cast(const TimeBase::UtcT*&,_tao_elem); + return _tao_any >>= ACE_const_cast ( + const TimeBase::UtcT *&, + _tao_elem + ); } -CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const TimeBase::UtcT *&_tao_elem) +// Extraction to const pointer. +CORBA::Boolean operator>>= ( + const CORBA::Any &_tao_any, + const TimeBase::UtcT *&_tao_elem + ) { - _tao_elem = 0; - ACE_TRY_NEW_ENV - { - CORBA::TypeCode_var type = _tao_any.type (); - - CORBA::Boolean result = type->equivalent (TimeBase::_tc_UtcT 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 TimeBase::UtcT*, - _tao_any.value () - ); - return 1; - } - else - { - TimeBase::UtcT *tmp; - ACE_NEW_RETURN (tmp, TimeBase::UtcT, 0); - TAO_InputCDR stream ( - _tao_any._tao_get_cdr (), - _tao_any._tao_byte_order () - ); - if (stream >> *tmp) - { - ((CORBA::Any *)&_tao_any)->_tao_replace ( - TimeBase::_tc_UtcT, - 1, - ACE_static_cast (void *, tmp), - TimeBase::UtcT::_tao_any_destructor - ); - _tao_elem = tmp; - return 1; - } - else - { - delete tmp; - } - } - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - return 0; + return + TAO::Any_Dual_Impl_T<TimeBase::UtcT>::extract ( + _tao_any, + TimeBase::UtcT::_tao_any_destructor, + TimeBase::_tc_UtcT, + _tao_elem + ); } -void operator<<= (CORBA::Any &_tao_any, const TimeBase::IntervalT &_tao_elem) // copying +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) + template class TAO::Any_Dual_Impl_T<TimeBase::UtcT>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate TAO::Any_Dual_Impl_T<TimeBase::UtcT> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +// TAO_IDL - Generated from +// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_cs.cpp:54 + +// Copying insertion. +void operator<<= ( + CORBA::Any &_tao_any, + const TimeBase::IntervalT &_tao_elem + ) { - TAO_OutputCDR stream; - stream << _tao_elem; - _tao_any._tao_replace ( + TAO::Any_Dual_Impl_T<TimeBase::IntervalT>::insert_copy ( + _tao_any, + TimeBase::IntervalT::_tao_any_destructor, TimeBase::_tc_IntervalT, - TAO_ENCAP_BYTE_ORDER, - stream.begin () + _tao_elem ); } -void operator<<= (CORBA::Any &_tao_any, TimeBase::IntervalT *_tao_elem) // non copying +// Non-copying insertion. +void operator<<= ( + CORBA::Any &_tao_any, + TimeBase::IntervalT *_tao_elem + ) { - TAO_OutputCDR stream; - stream << *_tao_elem; - _tao_any._tao_replace ( + TAO::Any_Dual_Impl_T<TimeBase::IntervalT>::insert ( + _tao_any, + TimeBase::IntervalT::_tao_any_destructor, TimeBase::_tc_IntervalT, - TAO_ENCAP_BYTE_ORDER, - stream.begin (), - 1, - _tao_elem, - TimeBase::IntervalT::_tao_any_destructor + _tao_elem ); } -CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, TimeBase::IntervalT *&_tao_elem) +// Extraction to non-const pointer (deprecated). +CORBA::Boolean operator>>= ( + const CORBA::Any &_tao_any, + TimeBase::IntervalT *&_tao_elem + ) { - return _tao_any >>= ACE_const_cast(const TimeBase::IntervalT*&,_tao_elem); + return _tao_any >>= ACE_const_cast ( + const TimeBase::IntervalT *&, + _tao_elem + ); } -CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const TimeBase::IntervalT *&_tao_elem) +// Extraction to const pointer. +CORBA::Boolean operator>>= ( + const CORBA::Any &_tao_any, + const TimeBase::IntervalT *&_tao_elem + ) { - _tao_elem = 0; - ACE_TRY_NEW_ENV - { - CORBA::TypeCode_var type = _tao_any.type (); - - CORBA::Boolean result = type->equivalent (TimeBase::_tc_IntervalT 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 TimeBase::IntervalT*, - _tao_any.value () - ); - return 1; - } - else - { - TimeBase::IntervalT *tmp; - ACE_NEW_RETURN (tmp, TimeBase::IntervalT, 0); - TAO_InputCDR stream ( - _tao_any._tao_get_cdr (), - _tao_any._tao_byte_order () - ); - if (stream >> *tmp) - { - ((CORBA::Any *)&_tao_any)->_tao_replace ( - TimeBase::_tc_IntervalT, - 1, - ACE_static_cast (void *, tmp), - TimeBase::IntervalT::_tao_any_destructor - ); - _tao_elem = tmp; - return 1; - } - else - { - delete tmp; - } - } - } - ACE_CATCHANY - { - } - ACE_ENDTRY; - return 0; + return + TAO::Any_Dual_Impl_T<TimeBase::IntervalT>::extract ( + _tao_any, + TimeBase::IntervalT::_tao_any_destructor, + TimeBase::_tc_IntervalT, + _tao_elem + ); } +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) + template class TAO::Any_Dual_Impl_T<TimeBase::IntervalT>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate TAO::Any_Dual_Impl_T<TimeBase::IntervalT> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + |