summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-08-16 11:36:29 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-08-16 11:36:29 +0000
commitdcca29fa2532635c96fe95af373294ea7fee9bfe (patch)
tree440b5d7b7a2e170980c10c141e35071f78de4a3a
parent20b3710f9f0d0b690a44453a492aed0703c5e268 (diff)
downloadATCD-dcca29fa2532635c96fe95af373294ea7fee9bfe.tar.gz
Thu Aug 16 11:34:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--TAO/ChangeLog20
-rw-r--r--TAO/tao/Bounded_Object_Reference_Sequence_T.h14
-rw-r--r--TAO/tao/EndpointPolicy/EndpointPolicy_Factory.cpp2
-rw-r--r--TAO/tao/Object_Reference_Const_Sequence_Element_T.h9
-rw-r--r--TAO/tao/String_Const_Sequence_Element_T.h2
-rw-r--r--TAO/tao/Unbounded_Object_Reference_Sequence_T.h4
-rw-r--r--TAO/tao/diffs/Domain.diff88
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