diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-01-10 17:34:18 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-01-10 17:34:18 +0000 |
commit | 2b38360e7fea1039d164b1e82914bba7612da0bc (patch) | |
tree | 12acf499650c97d6f47b8368db92d0c32d8608c2 | |
parent | 498d25cfaa7117f40fec2db23aa42e4dfb2dc55f (diff) | |
download | ATCD-2b38360e7fea1039d164b1e82914bba7612da0bc.tar.gz |
ChangeLogTag: Fri Jan 10 11:30:08 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 27 | ||||
-rw-r--r-- | TAO/tao/Any_T.inl | 3 | ||||
-rw-r--r-- | TAO/tao/Exception.cpp | 21 | ||||
-rw-r--r-- | TAO/tao/Exception.h | 3 | ||||
-rw-r--r-- | TAO/tao/GIOPC.cpp | 91 | ||||
-rw-r--r-- | TAO/tao/Object_KeyC.cpp | 146 | ||||
-rw-r--r-- | TAO/tao/Object_KeyC.i | 42 | ||||
-rw-r--r-- | TAO/tao/PortableInterceptorC.cpp | 12 | ||||
-rw-r--r-- | TAO/tao/PortableInterceptorC.h | 19 | ||||
-rw-r--r-- | TAO/tao/Typecode_Constants.cpp | 53 |
10 files changed, 211 insertions, 206 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 695c08499ab..5bc0c86c1db 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,30 @@ +Fri Jan 10 11:30:08 2003 Jeff Parsons <j.parsons@vanderbilt.edu> + + * tao/Any_T.inl: + + Removed unnecessary forward declaration. + + * tao/Exception.cpp: + * tao/Exception.h: + + Added missing stuff related to new Any implementation. + + * tao/GIOPC.cpp: + + Removed bodies of TAO::ObjectKey CDR operators. They are + now in Object_KeyC.cpp. + + * tao/Object_KeyC.cpp: + * tao/Object_KeyC.i: + * tao/PortableInterceptorC.cpp: + * tao/PortableInterceptorC.h: + + Fixed hand-crafting oversights. + + * tao/Typecode_Constants.cpp: + + Removed ObjectId typecode, since it is now in ObjectIdListC.cpp. + Fri Jan 10 09:53:45 2003 Jeff Parsons <j.parsons@vanderbilt.edu> * tao/ORB.cpp: diff --git a/TAO/tao/Any_T.inl b/TAO/tao/Any_T.inl index e3a030c25dc..4432553d1fe 100644 --- a/TAO/tao/Any_T.inl +++ b/TAO/tao/Any_T.inl @@ -106,9 +106,6 @@ TAO::Any_Special_Basic_Impl_T<T, from_T, to_T>::value (void) const // *********************************************************************** -CORBA::Boolean -TAO::Any_Dual_Impl_T<CORBA::Exception>::marshal_value (TAO_OutputCDR &); - template<typename T> ACE_INLINE CORBA::Boolean TAO::Any_Dual_Impl_T<T>::marshal_value (TAO_OutputCDR &cdr) { diff --git a/TAO/tao/Exception.cpp b/TAO/tao/Exception.cpp index 83df3a4ede6..16938e83509 100644 --- a/TAO/tao/Exception.cpp +++ b/TAO/tao/Exception.cpp @@ -1218,6 +1218,27 @@ STANDARD_EXCEPTION_LIST #define TAO_SYSTEM_EXCEPTION(name) \ CORBA::Boolean \ +TAO::Any_Dual_Impl_T<CORBA_##name >::marshal_value (TAO_OutputCDR &cdr) \ +{ \ + ACE_TRY_NEW_ENV \ + { \ + this->value_->_tao_encode (cdr \ + ACE_ENV_ARG_PARAMETER); \ + ACE_TRY_CHECK; \ + return 1; \ + } \ + ACE_CATCHANY \ + { \ + } \ + ACE_ENDTRY; \ + return 0; \ +} + +STANDARD_EXCEPTION_LIST +#undef TAO_SYSTEM_EXCEPTION + +#define TAO_SYSTEM_EXCEPTION(name) \ +CORBA::Boolean \ TAO::Any_Dual_Impl_T<CORBA_##name >::demarshal_value (TAO_InputCDR &cdr) \ { \ ACE_TRY_NEW_ENV \ diff --git a/TAO/tao/Exception.h b/TAO/tao/Exception.h index 5356b3ad10a..645b6e1ee84 100644 --- a/TAO/tao/Exception.h +++ b/TAO/tao/Exception.h @@ -147,9 +147,6 @@ TAO_Export ostream& operator<< (ostream &os, #endif /* (ACE_LACKS_IOSTREAM_TOTALLY) */ -TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, - CORBA_Exception &); - /** * @class CORBA_UserException * diff --git a/TAO/tao/GIOPC.cpp b/TAO/tao/GIOPC.cpp index 8c5c7531c78..df2c8fe857d 100644 --- a/TAO/tao/GIOPC.cpp +++ b/TAO/tao/GIOPC.cpp @@ -841,96 +841,5 @@ CORBA::Boolean operator>>= ( # pragma instantiate TAO::Any_Dual_Impl_T<GIOP::TargetAddress> #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_cs.cpp:125 - -#if !defined _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_CPP_ -#define _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_CPP_ - -CORBA::Boolean operator<< ( - TAO_OutputCDR &strm, - TAO::ObjectKey &_tao_sequence - ) -{ - CORBA::ULong _tao_seq_len = _tao_sequence.length (); - - if (strm << _tao_seq_len) - { - // Encode all elements. - -#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) - { - TAO_Unbounded_Sequence<CORBA::Octet> *oseq = - ACE_static_cast (TAO_Unbounded_Sequence<CORBA::Octet>*, (TAO::ObjectKey *)&_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 ()); - -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - } - - return 0; -} - -CORBA::Boolean operator>> ( - TAO_InputCDR &strm, - TAO::ObjectKey &_tao_sequence - ) -{ - 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 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_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); -#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); - -#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ - } - - return 0; -} -#endif /* _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_CPP_ */ diff --git a/TAO/tao/Object_KeyC.cpp b/TAO/tao/Object_KeyC.cpp index e7288e5b236..4e68b872b3c 100644 --- a/TAO/tao/Object_KeyC.cpp +++ b/TAO/tao/Object_KeyC.cpp @@ -25,6 +25,8 @@ #include "Object_KeyC.h" #include "tao/Typecode.h" +#include "tao/CDR.h" +#include "tao/ORB_Core.h" #if defined (__BORLANDC__) #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig @@ -34,62 +36,6 @@ #include "Object_KeyC.i" #endif /* !defined INLINE */ -#if !defined (_TAO_OBJECTKEY_CS_) -#define _TAO_OBJECTKEY_CS_ - -// TAO_IDL - Generated from -// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_cs.cpp:250 - -// ************************************************************* -// TAO::ObjectKey -// ************************************************************* - -TAO::ObjectKey::ObjectKey (void) -{} - -TAO::ObjectKey::ObjectKey (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) -{} - -TAO::ObjectKey::ObjectKey ( - 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) -{} - -TAO::ObjectKey::ObjectKey (const ObjectKey &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) -{} - -#endif /* end #if !defined */ - // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:284 @@ -133,6 +79,94 @@ TAO_NAMESPACE_DEFINE ( ) TAO_NAMESPACE_END +// 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 TAO::ObjectKey &_tao_sequence + ) +{ + CORBA::ULong _tao_seq_len = _tao_sequence.length (); + + if (strm << _tao_seq_len) + { + // Encode all elements. + +#if (TAO_NO_COPY_OCTET_SEQUENCES == 1) + { + TAO_Unbounded_Sequence<CORBA::Octet> *oseq = + ACE_static_cast (TAO_Unbounded_Sequence<CORBA::Octet>*, (TAO::ObjectKey *)&_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 ()); + +#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ + } + + return 0; +} + +CORBA::Boolean operator>> ( + TAO_InputCDR &strm, + TAO::ObjectKey &_tao_sequence + ) +{ + 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 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_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); +#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ + return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + +#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */ + } + + return 0; +} + // **************************************************************** void diff --git a/TAO/tao/Object_KeyC.i b/TAO/tao/Object_KeyC.i index bd6b0f0bec0..31710a4403b 100644 --- a/TAO/tao/Object_KeyC.i +++ b/TAO/tao/Object_KeyC.i @@ -20,6 +20,48 @@ // http://www.cs.wustl.edu/~schmidt/TAO.html +// ************************************************************* +// Inline operations for class TAO::ObjectKey +// ************************************************************* + +ACE_INLINE +TAO::ObjectKey::ObjectKey (void) +{ +} + +ACE_INLINE +TAO::ObjectKey::ObjectKey (CORBA::ULong max) + : TAO_Unbounded_Sequence<CORBA::Octet> (max) +{ +} + +ACE_INLINE +TAO::ObjectKey::ObjectKey (CORBA::ULong max, + CORBA::ULong length, + CORBA::Octet *data, + CORBA::Boolean release) + : TAO_Unbounded_Sequence<CORBA::Octet> (max, length, data, release) +{ +} + +ACE_INLINE +TAO::ObjectKey::ObjectKey (const TAO::ObjectKey &rhs) + : TAO_Unbounded_Sequence<CORBA::Octet> (rhs) +{ +} + +ACE_INLINE TAO::ObjectKey & +TAO::ObjectKey::operator= (const TAO::ObjectKey &rhs) +{ + if (this == &rhs) + { + return *this; + } + + TAO_Unbounded_Sequence<CORBA::Octet>::operator= (rhs); + return *this; +} + #if !defined (_TAO_OBJECTKEY_CI_) #define _TAO_OBJECTKEY_CI_ diff --git a/TAO/tao/PortableInterceptorC.cpp b/TAO/tao/PortableInterceptorC.cpp index dce736579ef..7127247dd21 100644 --- a/TAO/tao/PortableInterceptorC.cpp +++ b/TAO/tao/PortableInterceptorC.cpp @@ -4306,6 +4306,18 @@ PortableInterceptor::PolicyFactory::_duplicate (PolicyFactory_ptr obj) return obj; } +// Hand-crafted. + +::CORBA::Policy_ptr +PortableInterceptor::PolicyFactory::_create_policy (CORBA::PolicyType + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + CORBA::PolicyError)) +{ + ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), + CORBA::Policy::_nil ()); +} + void *PortableInterceptor::PolicyFactory::_tao_QueryInterface (ptr_arith_t type) { void *retv = 0; diff --git a/TAO/tao/PortableInterceptorC.h b/TAO/tao/PortableInterceptorC.h index 72c3a9f1b36..35fa933d859 100644 --- a/TAO/tao/PortableInterceptorC.h +++ b/TAO/tao/PortableInterceptorC.h @@ -2279,7 +2279,18 @@ TAO_NAMESPACE PortableInterceptor CORBA::SystemException , CORBA::PolicyError )) = 0; + + // Hand-crafted addition. + virtual ::CORBA::Policy_ptr _create_policy ( + CORBA::PolicyType type + ACE_ENV_ARG_DECL_WITH_DEFAULTS + ) + ACE_THROW_SPEC (( + CORBA::SystemException + , CORBA::PolicyError + )); + // TAO_IDL - Generated from // W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:267 @@ -2683,6 +2694,14 @@ TAO_NAMESPACE PortableInterceptor class ORBInitializer; typedef ORBInitializer *ORBInitializer_ptr; + /// Hand-crafted addition. + /// Register an ORBInitializer with the global ORBInitializer + /// table. + TAO_NAMESPACE_STORAGE_CLASS void register_orb_initializer ( + ORBInitializer_ptr init + TAO_ENV_ARG_DECL_WITH_DEFAULTS + ); + #endif /* end #if !defined */ #if !defined (_PORTABLEINTERCEPTOR_ORBINITIALIZER___VAR_CH_) diff --git a/TAO/tao/Typecode_Constants.cpp b/TAO/tao/Typecode_Constants.cpp index bcbedce4871..07cc383163b 100644 --- a/TAO/tao/Typecode_Constants.cpp +++ b/TAO/tao/Typecode_Constants.cpp @@ -161,15 +161,9 @@ TAO_NAMESPACE_END // to the CORBA namespace. TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) TAO_NAMESPACE_BEGIN (CORBA) -TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_Current, 0) -TAO_NAMESPACE_END -TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) -TAO_NAMESPACE_BEGIN (CORBA) TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ORBid, 0) TAO_NAMESPACE_END -CORBA::TypeCode_ptr CORBA_ORB::_tc_ObjectId = 0; - #if (TAO_HAS_MINIMUM_CORBA == 0) TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) @@ -380,33 +374,6 @@ TAO_TypeCodes::init (void) 0, sizeof (CORBA::ORBid)); - static const CORBA::Long _oc_CORBA_ObjectId[] = - { - TAO_ENCAP_BYTE_ORDER, // byte order - 31, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x6f6d672e), - ACE_NTOHL (0x6f72672f), - ACE_NTOHL (0x434f5242), - ACE_NTOHL (0x412f4f62), - ACE_NTOHL (0x6a656374), - ACE_NTOHL (0x49643a31), - ACE_NTOHL (0x2e300000), // repository ID = - // IDL:omg.org/CORBA/ObjectId:1.0 - 9, - ACE_NTOHL (0x4f626a65), - ACE_NTOHL (0x63744964), - ACE_NTOHL (0x0), // name = ObjectId - CORBA::tk_string, - 0, // string length - }; - CORBA_ORB::_tc_ObjectId = - new CORBA::TypeCode (CORBA::tk_alias, - sizeof (_oc_CORBA_ObjectId), - (char *) &_oc_CORBA_ObjectId, - 0, - sizeof (CORBA_ORB::ObjectId)); - #if (TAO_HAS_MINIMUM_CORBA == 0) static const CORBA::Long _oc_corba_NamedValue[] = @@ -716,26 +683,6 @@ TAO_TypeCodes::init (void) // **************************************************************** - static const CORBA::Long _oc_CORBA_Current[] = - { - TAO_ENCAP_BYTE_ORDER, // byte order - 22, - ACE_NTOHL (0x49444c3a), - ACE_NTOHL (0x434f5242), - ACE_NTOHL (0x412f4375), - ACE_NTOHL (0x7272656e), - ACE_NTOHL (0x743a312e), - ACE_NTOHL (0x3000fdfd), // repository ID = IDL:CORBA/Current:1.0 - 8, - ACE_NTOHL (0x43757272), - ACE_NTOHL (0x656e7400), // name = Current, - }; - CORBA::_tc_Current = new CORBA::TypeCode (CORBA::tk_objref, - sizeof (_oc_CORBA_Current), - (char *) &_oc_CORBA_Current, - 1, - sizeof (CORBA::Current)); - // The following are internal to the TAO ORB // Octet codes for the parameters of the "Opaque" (sequence of octet) |