diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2007-08-16 11:36:29 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2007-08-16 11:36:29 +0000 |
commit | dcca29fa2532635c96fe95af373294ea7fee9bfe (patch) | |
tree | 440b5d7b7a2e170980c10c141e35071f78de4a3a | |
parent | 20b3710f9f0d0b690a44453a492aed0703c5e268 (diff) | |
download | ATCD-dcca29fa2532635c96fe95af373294ea7fee9bfe.tar.gz |
Thu Aug 16 11:34:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r-- | TAO/ChangeLog | 20 | ||||
-rw-r--r-- | TAO/tao/Bounded_Object_Reference_Sequence_T.h | 14 | ||||
-rw-r--r-- | TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/Object_Reference_Const_Sequence_Element_T.h | 9 | ||||
-rw-r--r-- | TAO/tao/String_Const_Sequence_Element_T.h | 2 | ||||
-rw-r--r-- | TAO/tao/Unbounded_Object_Reference_Sequence_T.h | 4 | ||||
-rw-r--r-- | TAO/tao/diffs/Domain.diff | 88 |
7 files changed, 41 insertions, 98 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 7b8c2f3e6de..6e5d0fe2f66 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,23 @@ +Thu Aug 16 11:34:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/Bounded_Object_Reference_Sequence_T.h: + * tao/Object_Reference_Const_Sequence_Element_T.h: + * tao/Unbounded_Object_Reference_Sequence_T.h: + Let the const operator[] return a const element on which + we can use .in(). Fixes bugzilla 2829 + + * tao/EndpointPolicy/EndpointPolicy_Factory.cpp: + Use .in on the element returned by operator[] + + * tao/Bounded_Object_Reference_Sequence_T.h: + Improved doxygen docu + + * tao/diffs/Domain.diff: + Removed, obsolete + + * tao/String_Const_Sequence_Element_T.h: + Const improvement + Thu Aug 16 09:54:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl> * tao/Incoming_Message_Stack.h: diff --git a/TAO/tao/Bounded_Object_Reference_Sequence_T.h b/TAO/tao/Bounded_Object_Reference_Sequence_T.h index 0fed30cc4ab..5d367a816e2 100644 --- a/TAO/tao/Bounded_Object_Reference_Sequence_T.h +++ b/TAO/tao/Bounded_Object_Reference_Sequence_T.h @@ -50,38 +50,48 @@ public: {} /* Use default ctor, operator= and dtor */ + /// @copydoc details::generic_sequence::maximum inline CORBA::ULong maximum() const { return impl_.maximum(); } + /// @copydoc details::generic_sequence::release inline CORBA::Boolean release() const { return impl_.release(); } + /// @copydoc details::generic_sequence::length inline CORBA::ULong length() const { return impl_.length(); } + /// @copydoc details::generic_sequence::length inline void length(CORBA::ULong length) { implementation_type::range::check_length(length, MAX); impl_.length(length); } - inline value_type const & operator[](CORBA::ULong i) const { - return impl_[i];; + /// @copydoc details::generic_sequence::operator[] + inline const_element_type operator[](CORBA::ULong i) const { + return const_element_type (impl_[i], release()); } + /// @copydoc details::generic_sequence::operator[] inline element_type operator[](CORBA::ULong i) { return element_type(impl_[i], release()); } + /// @copydoc details::generic_sequence::get_buffer inline value_type const * get_buffer() const { return impl_.get_buffer(); } + /// @copydoc details::generic_sequence::replace inline void replace( CORBA::ULong length, value_type * data, CORBA::Boolean release = false) { impl_.replace(MAX, length, data, release); } + /// @copydoc details::generic_sequence::get_buffer(CORBA::Boolean) inline value_type * get_buffer(CORBA::Boolean orphan = false) { return impl_.get_buffer(orphan); } + /// @copydoc details::generic_sequence::swap inline void swap(bounded_object_reference_sequence & rhs) throw() { impl_.swap(rhs.impl_); } diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp index b5f87c7500f..602dcd48f75 100644 --- a/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp +++ b/TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp @@ -56,7 +56,7 @@ TAO_EndpointPolicy_Factory::create_policy ( TAO_Endpoint_Value_Impl const * const evi = dynamic_cast <TAO_Endpoint_Value_Impl const *> ( - (*endpoint_list)[idx]); + (*endpoint_list)[idx].in ()); if (!evi) continue; diff --git a/TAO/tao/Object_Reference_Const_Sequence_Element_T.h b/TAO/tao/Object_Reference_Const_Sequence_Element_T.h index bd6da2a4915..ac65280523c 100644 --- a/TAO/tao/Object_Reference_Const_Sequence_Element_T.h +++ b/TAO/tao/Object_Reference_Const_Sequence_Element_T.h @@ -47,12 +47,13 @@ public: { } - inline operator const_value_type() const + inline operator object_reference_type * (void) const { - return *element_; + return *this->element_; } - inline const object_reference_type * in (void) const { + inline object_reference_type * in (void) const + { return *this->element_; } @@ -74,7 +75,7 @@ private: private: value_type const * const element_; - CORBA::Boolean release_; + CORBA::Boolean const release_; }; } // namespace details diff --git a/TAO/tao/String_Const_Sequence_Element_T.h b/TAO/tao/String_Const_Sequence_Element_T.h index a5a26b5a872..a4abd1d2de8 100644 --- a/TAO/tao/String_Const_Sequence_Element_T.h +++ b/TAO/tao/String_Const_Sequence_Element_T.h @@ -70,7 +70,7 @@ private: private: const_value_type const * element_; - CORBA::Boolean release_; + CORBA::Boolean const release_; }; } // namespace details diff --git a/TAO/tao/Unbounded_Object_Reference_Sequence_T.h b/TAO/tao/Unbounded_Object_Reference_Sequence_T.h index 5a727e79db4..50d1ae9fd9b 100644 --- a/TAO/tao/Unbounded_Object_Reference_Sequence_T.h +++ b/TAO/tao/Unbounded_Object_Reference_Sequence_T.h @@ -70,8 +70,8 @@ public: impl_.length(length); } /// @copydoc details::generic_sequence::operator[] - inline value_type const & operator[](CORBA::ULong i) const { - return impl_[i]; + inline const_element_type operator[](CORBA::ULong i) const { + return const_element_type (impl_[i], release()); } /// @copydoc details::generic_sequence::operator[] inline element_type operator[](CORBA::ULong i) { diff --git a/TAO/tao/diffs/Domain.diff b/TAO/tao/diffs/Domain.diff deleted file mode 100644 index 411a5e08b8d..00000000000 --- a/TAO/tao/diffs/Domain.diff +++ /dev/null @@ -1,88 +0,0 @@ ---- orig/DomainC.cpp 2005-04-23 20:41:36.569843200 +0200 -+++ DomainC.cpp 2005-04-23 20:42:48.202846400 +0200 -@@ -1,6 +1,6 @@ - // -*- C++ -*- - // --// $Id$ -+// $Id$ - - // **** Code generated by the The ACE ORB (TAO) IDL Compiler **** - // TAO and the TAO IDL Compiler have been developed by: -@@ -39,6 +39,10 @@ - #include "tao/Special_Basic_Arguments.h" - #include "ace/OS_NS_string.h" - -+#include "tao/ORB_Core.h" -+#include "tao/IFR_Client_Adapter.h" -+#include "ace/Dynamic_Service.h" -+ - #if defined (__BORLANDC__) - #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig - #endif /* __BORLANDC__ */ -@@ -50,6 +54,48 @@ - // TAO_IDL - Generated from - // be\be_visitor_arg_traits.cpp:69 - -+// TAO specific stuff. -+namespace CORBA -+{ -+ class InterfaceDef; -+ typedef InterfaceDef *InterfaceDef_ptr; -+ typedef TAO_Objref_Var_T<InterfaceDef> InterfaceDef_var; -+ typedef TAO_Objref_Out_T<InterfaceDef> InterfaceDef_out; -+} -+ -+namespace TAO -+{ -+ -+#if TAO_HAS_INTERCEPTORS == 1 -+ -+ template<> -+ void -+ In_Object_Argument_T<CORBA::InterfaceDef_ptr>::interceptor_param (Dynamic::Parameter & p) -+ { -+ TAO_IFR_Client_Adapter *adapter = -+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance ( -+ TAO_ORB_Core::ifr_client_adapter_name () -+ ); -+ -+ adapter->interfacedef_any_insert (p.argument, this->x_); -+ p.mode = CORBA::PARAM_IN; -+ } -+ -+#endif /* TAO_HAS_INTERCEPTORS */ -+ -+ template<> -+ CORBA::Boolean -+ In_Object_Argument_T<CORBA::InterfaceDef_ptr>::marshal (TAO_OutputCDR & cdr) -+ { -+ TAO_IFR_Client_Adapter *adapter = -+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance ( -+ TAO_ORB_Core::ifr_client_adapter_name () -+ ); -+ -+ return adapter->interfacedef_cdr_insert (cdr, this->x_); -+ } -+} -+ - // Arg traits specializations. - namespace TAO - { ---- orig/DomainC.h 2005-04-23 20:41:36.569843200 +0200 -+++ DomainC.h 2005-04-15 09:13:18.957705600 +0200 -@@ -1,6 +1,6 @@ - // -*- C++ -*- - // --// $Id$ -+// $Id$ - - // **** Code generated by the The ACE ORB (TAO) IDL Compiler **** - // TAO and the TAO IDL Compiler have been developed by: -@@ -51,7 +51,6 @@ - #include "tao/Seq_Out_T.h" - - #include "tao/PolicyC.h" --#include "tao/InterfaceDefC.h" - - #if defined (TAO_EXPORT_MACRO) - #undef TAO_EXPORT_MACRO |