diff options
Diffstat (limited to 'TAO/tao/BoundsC.cpp')
-rw-r--r-- | TAO/tao/BoundsC.cpp | 242 |
1 files changed, 171 insertions, 71 deletions
diff --git a/TAO/tao/BoundsC.cpp b/TAO/tao/BoundsC.cpp index 2867ef3270d..0b6eef1cf32 100644 --- a/TAO/tao/BoundsC.cpp +++ b/TAO/tao/BoundsC.cpp @@ -1,130 +1,222 @@ -/* -*- C++ -*- */ -//$Id$ +// -*- C++ -*- +// +// $Id$ -// ****** Code generated by the The ACE ORB (TAO) IDL Compiler ******* -// TAO and the TAO IDL Compiler have been developed by the Center for -// Distributed Object Computing at Washington University, St. Louis. +// **** Code generated by the The ACE ORB (TAO) IDL Compiler **** +// TAO and the TAO IDL Compiler have been developed by: +// Center for Distributed Object Computing +// Washington University +// St. Louis, MO +// USA +// http://www.cs.wustl.edu/~schmidt/doc-center.html +// and +// Distributed Object Computing Laboratory +// University of California at Irvine +// Irvine, CA +// USA +// http://doc.ece.uci.edu/ // // Information about TAO is available at: -// http://www.cs.wustl.edu/~schmidt/TAO.html +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#include "BoundsC.h" + +#include "tao/Stub.h" +#include "tao/Invocation.h" +#include "tao/PortableInterceptor.h" -#include "tao/BoundsC.h" -#include "tao/Typecode.h" +#if TAO_HAS_INTERCEPTORS == 1 +#include "tao/RequestInfo_Util.h" +#include "tao/ClientRequestInfo_i.h" +#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__ */ #if !defined (__ACE_INLINE__) -#include "tao/BoundsC.i" +#include "BoundsC.i" #endif /* !defined INLINE */ -// default constructor -CORBA_Bounds::CORBA_Bounds (void) +// Default constructor. +CORBA::Bounds::Bounds (void) : CORBA_UserException ("IDL:omg.org/CORBA/Bounds:1.0") { } -// destructor - all members are of self managing types -CORBA_Bounds::~CORBA_Bounds (void) +// Destructor - all members are of self managing types. +CORBA::Bounds::~Bounds (void) { } -void CORBA_Bounds::_tao_any_destructor (void *x) -{ - CORBA_Bounds *tmp = ACE_static_cast (CORBA_Bounds*,x); - delete tmp; -} - -// copy constructor -CORBA_Bounds::CORBA_Bounds (const CORBA::Bounds &_tao_excp) +// Copy constructor. +CORBA::Bounds::Bounds (const ::CORBA::Bounds &_tao_excp) : CORBA_UserException (_tao_excp._id ()) { } -// assignment operator -CORBA_Bounds& -CORBA_Bounds::operator= (const CORBA_Bounds &_tao_excp) +// Assignment operator. +CORBA::Bounds& +CORBA::Bounds::operator= (const ::CORBA::Bounds &_tao_excp) { - this->CORBA_UserException::operator= (_tao_excp); return *this; } -// narrow -CORBA_Bounds_ptr -CORBA_Bounds::_downcast (CORBA_Exception *exc) +void CORBA::Bounds::_tao_any_destructor (void *_tao_void_pointer) { - if (!ACE_OS::strcmp ("IDL:omg.org/CORBA/Bounds:1.0", exc->_id ())) // same type - return ACE_dynamic_cast (CORBA_Bounds_ptr, exc); + Bounds *tmp = ACE_static_cast (Bounds*, _tao_void_pointer); + delete tmp; +} + +CORBA::Bounds * +CORBA::Bounds::_downcast (CORBA::Exception *exc) +{ + if (!ACE_OS::strcmp ("IDL:omg.org/CORBA/Bounds:1.0", exc->_id ())) + { + return ACE_dynamic_cast (Bounds *, exc); + } else - return 0; + { + return 0; + } +} + +CORBA::Exception *CORBA::Bounds::_alloc (void) +{ + CORBA::Exception *retval = 0; + ACE_NEW_RETURN (retval, ::CORBA::Bounds, 0); + return retval; } +CORBA::Exception * +CORBA::Bounds::_tao_duplicate (void) const +{ + CORBA::Exception *result; + ACE_NEW_RETURN ( + result, + CORBA::Bounds (*this), + 0 + ); + return result; +} -void CORBA_Bounds::_raise () +void CORBA::Bounds::_raise () { - TAO_RAISE(*this); + TAO_RAISE (*this); } -void CORBA_Bounds::_tao_encode (TAO_OutputCDR &cdr - ACE_ENV_ARG_DECL) const +void CORBA::Bounds::_tao_encode ( + TAO_OutputCDR &cdr + ACE_ENV_ARG_DECL + ) const { if (cdr << *this) - return; + { + return; + } + ACE_THROW (CORBA::MARSHAL ()); } -void CORBA_Bounds::_tao_decode (TAO_InputCDR &cdr - ACE_ENV_ARG_DECL) +void CORBA::Bounds::_tao_decode ( + TAO_InputCDR &cdr + ACE_ENV_ARG_DECL + ) { if (cdr >> *this) - return; + { + return; + } + ACE_THROW (CORBA::MARSHAL ()); } -// TAO extension - the _alloc method -CORBA::Exception *CORBA_Bounds::_alloc (void) +static const CORBA::Long _oc_CORBA_Bounds[] = { - CORBA::Exception *retval = 0; + TAO_ENCAP_BYTE_ORDER, // byte order + 29, + ACE_NTOHL (0x49444c3a), + ACE_NTOHL (0x6f6d672e), + ACE_NTOHL (0x6f72672f), + ACE_NTOHL (0x434f5242), + ACE_NTOHL (0x412f426f), + ACE_NTOHL (0x756e6473), + ACE_NTOHL (0x3a312e30), + ACE_NTOHL (0x0), // repository ID = IDL:omg.org/CORBA/Bounds:1.0 + 7, + ACE_NTOHL (0x426f756e), + ACE_NTOHL (0x64730000), // name = Bounds + 0, // member count +}; - ACE_NEW_RETURN (retval, - CORBA_Bounds, - 0); +static CORBA::TypeCode _tc_TAO_tc_CORBA_Bounds ( + CORBA::tk_except, + sizeof (_oc_CORBA_Bounds), + (char *) &_oc_CORBA_Bounds, + 0, + sizeof (CORBA::Bounds) + ); + +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (CORBA) +TAO_NAMESPACE_DEFINE (::CORBA::TypeCode_ptr, _tc_Bounds, &_tc_TAO_tc_CORBA_Bounds) +TAO_NAMESPACE_END - return retval; -} -CORBA::TypeCode_ptr -CORBA_Bounds::_type (void) const +// TAO extension - the virtual _type method. +CORBA::TypeCode_ptr CORBA::Bounds::_type (void) const { - return CORBA::TypeCode::_tc_Bounds; + return ::CORBA::_tc_Bounds; } -void operator<<= (CORBA::Any &_tao_any, const CORBA::Bounds &_tao_elem) +void operator<<= (CORBA::Any &_tao_any, const CORBA::Bounds &_tao_elem) // copying { TAO_OutputCDR stream; stream << _tao_elem; - _tao_any._tao_replace (CORBA::_tc_Bounds, - TAO_ENCAP_BYTE_ORDER, - stream.begin ()); + _tao_any._tao_replace ( + CORBA::_tc_Bounds, + TAO_ENCAP_BYTE_ORDER, + stream.begin () + ); } void operator<<= (CORBA::Any &_tao_any, CORBA::Bounds *_tao_elem) // non copying { TAO_OutputCDR stream; stream << *_tao_elem; - _tao_any._tao_replace (CORBA::_tc_Bounds, - TAO_ENCAP_BYTE_ORDER, - stream.begin (), - 1, - _tao_elem, - CORBA::Bounds::_tao_any_destructor); + _tao_any._tao_replace ( + CORBA::_tc_Bounds, + TAO_ENCAP_BYTE_ORDER, + stream.begin (), + 1, + _tao_elem, + CORBA::Bounds::_tao_any_destructor + ); } CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, CORBA::Bounds *&_tao_elem) { + return _tao_any >>= ACE_const_cast( + const CORBA::Bounds*&, + _tao_elem + ); +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const CORBA::Bounds *&_tao_elem) +{ + _tao_elem = 0; ACE_TRY_NEW_ENV { CORBA::TypeCode_var type = _tao_any.type (); - if (!type->equal (CORBA::_tc_Bounds ACE_ENV_ARG_PARAMETER)) return 0; // not equal + + CORBA::Boolean result = type->equivalent (CORBA::_tc_Bounds ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; + + if (!result) + return 0; // not equivalent + if (_tao_any.any_owns_data ()) { _tao_elem = (CORBA::Bounds *)_tao_any.value (); @@ -132,32 +224,40 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, CORBA::Bounds *&_tao_ele } else { - ACE_NEW_RETURN (_tao_elem, CORBA::Bounds, 0); + CORBA::Bounds *tmp; + ACE_NEW_RETURN (tmp, CORBA::Bounds, 0); TAO_InputCDR stream ( _tao_any._tao_get_cdr (), - _tao_any._tao_byte_order ()); - if (stream >> *_tao_elem) + _tao_any._tao_byte_order () + ); + CORBA::String_var interface_repository_id; + if (!(stream >> interface_repository_id.out ())) + return 0; + if (ACE_OS::strcmp ( + interface_repository_id.in (), + "IDL:omg.org/CORBA/Bounds:1.0")) + return 0; + if (stream >> *tmp) { ((CORBA::Any *)&_tao_any)->_tao_replace ( CORBA::_tc_Bounds, 1, - ACE_reinterpret_cast (void*, _tao_elem), - CORBA::Bounds::_tao_any_destructor); + tmp, + CORBA::Bounds::_tao_any_destructor + ); + _tao_elem = tmp; return 1; } else { - delete _tao_elem; - _tao_elem = 0; + delete tmp; } } } ACE_CATCHANY { - delete _tao_elem; - _tao_elem = 0; - return 0; } ACE_ENDTRY; return 0; } + |