summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-09-03 18:51:07 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-09-03 18:51:07 +0000
commit77585e2ef5618effab7da126a0da250d681ee06d (patch)
tree642021f2677abdd2753efa0f2b2216935e65d988
parentbc68fdd33b4c7e48c1cf81ab1ea63489de6ce793 (diff)
downloadATCD-77585e2ef5618effab7da126a0da250d681ee06d.tar.gz
ChangeLogTag: Fri Sep 3 18:50:06 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--ChangeLog14
-rw-r--r--tao/PortableServer/Root_POA.cpp4
-rw-r--r--tao/Profile.cpp9
-rw-r--r--tao/Service_Context.cpp30
-rw-r--r--tao/Tagged_Profile.cpp2
-rw-r--r--tao/operation_details.h5
6 files changed, 36 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index 1e61bc29e56..ca7b97a0120 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Fri Sep 3 18:50:06 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/PortableServer/Root_POA.cpp:
+ * tao/Profile.cpp:
+ * tao/Service_Context.cpp:
+ * tao/Tagged_Profile.cpp:
+ * tao/operation_details.h:
+
+ Changes to the new implementation of
+ the object key (CORBA::OctetSeq) as
+ a std::vector<CORBA::Octet>, made to
+ debug the client/server connection
+ process.
+
Thu Aug 26 14:46:25 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_visitor_typedef/cdr_op_ch.cpp:
diff --git a/tao/PortableServer/Root_POA.cpp b/tao/PortableServer/Root_POA.cpp
index 414cc8f3f85..d41f763ee2e 100644
--- a/tao/PortableServer/Root_POA.cpp
+++ b/tao/PortableServer/Root_POA.cpp
@@ -1657,7 +1657,9 @@ TAO_Root_POA::parse_key (const TAO::ObjectKey &key,
if (!is_persistent)
{
// Take the creation time for the timestamp
- poa_creation_time.creation_time (&key + starting_at);
+ unsigned char *key_base =
+ const_cast<unsigned char *> (key.get_allocator ().address (*key.begin ()));
+ poa_creation_time.creation_time (key_base + starting_at);
// Skip past the timestamp
starting_at += TAO::Portable_Server::Creation_Time::creation_time_length ();
diff --git a/tao/Profile.cpp b/tao/Profile.cpp
index afb5171b096..a29999ed6ef 100644
--- a/tao/Profile.cpp
+++ b/tao/Profile.cpp
@@ -231,6 +231,8 @@ TAO_Profile::is_legal (unsigned char c)
TAO_Profile::demarshal_key (TAO::ObjectKey &key,
TAO_InputCDR &strm)
{
+ return strm >> key;
+/*
CORBA::ULong _tao_seq_len;
if (strm >> _tao_seq_len)
@@ -251,7 +253,7 @@ TAO_Profile::demarshal_key (TAO::ObjectKey &key,
{
return 1;
}
-/*
+
// Retrieve all the elements.
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
if (ACE_BIT_DISABLED (strm.start ()->flags (),
@@ -267,11 +269,10 @@ TAO_Profile::demarshal_key (TAO::ObjectKey &key,
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
// return strm.read_octet_array (key.get_buffer (), key.length ());
- return strm >> key;
//#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
- }
- return 0;
+// }
+// return 0;
}
int
diff --git a/tao/Service_Context.cpp b/tao/Service_Context.cpp
index a3f1858b1e5..dc8f96bc545 100644
--- a/tao/Service_Context.cpp
+++ b/tao/Service_Context.cpp
@@ -23,34 +23,24 @@ TAO_Service_Context::set_context_i (IOP::ServiceId id,
IOP::ServiceContext context;
context.context_id = id;
- ::CORBA::OctetSeq tmp;
- TAO_InputCDR in (cdr);
-
- /// Don't know if this is necessary for core ORB function.
- if (!(in >> tmp))
- {
- ACE_ERROR ((LM_ERROR,
- "TAO_Service_Context::"
- "set_context_i failed\n"));
-
- return;
- }
-
- context.context_data = tmp;
-/*
// Make a *copy* of the CDR stream...
size_t const length = cdr.total_length ();
- context.context_data.length (static_cast<CORBA::ULong> (length));
- CORBA::Octet *buf = context.context_data.get_buffer ();
+ context.context_data.resize (length);
+// CORBA::Octet *buf = context.context_data.get_buffer ();
+ size_t index = 0;
for (const ACE_Message_Block *i = cdr.begin ();
i != 0;
i = i->cont ())
{
- ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
- buf += i->length ();
+// ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
+// buf += i->length ();
+ for (size_t j = 0; j < i->length (); ++j)
+ {
+ context.context_data[index++] = i->rd_ptr ()[j];
+ }
}
-*/
+
this->set_context_i (context);
}
diff --git a/tao/Tagged_Profile.cpp b/tao/Tagged_Profile.cpp
index 478ccb954af..627c4297237 100644
--- a/tao/Tagged_Profile.cpp
+++ b/tao/Tagged_Profile.cpp
@@ -96,8 +96,8 @@ TAO_Tagged_Profile::unmarshall_object_key_i (TAO_InputCDR &input)
CORBA::Boolean hdr_status = (CORBA::Boolean) input.good_bit ();
CORBA::Long key_length = 0;
- CORBA::ULong klen = static_cast<CORBA::ULong> (key_length);
hdr_status = hdr_status && input.read_long (key_length);
+ CORBA::ULong klen = static_cast<CORBA::ULong> (key_length);
if (hdr_status)
{
diff --git a/tao/operation_details.h b/tao/operation_details.h
index d2cee96e030..c56d57f746e 100644
--- a/tao/operation_details.h
+++ b/tao/operation_details.h
@@ -29,8 +29,9 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL
/// Forward declarations
namespace Dynamic
{
- class ParameterList;
- class ExceptionList;
+ struct Parameter;
+ typedef std::vector<Parameter> ParameterList;
+ typedef std::vector< ::CORBA::TypeCode_ptr> ExceptionList;
}
namespace TAO