diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-09-03 18:51:07 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-09-03 18:51:07 +0000 |
commit | 77585e2ef5618effab7da126a0da250d681ee06d (patch) | |
tree | 642021f2677abdd2753efa0f2b2216935e65d988 | |
parent | bc68fdd33b4c7e48c1cf81ab1ea63489de6ce793 (diff) | |
download | ATCD-77585e2ef5618effab7da126a0da250d681ee06d.tar.gz |
ChangeLogTag: Fri Sep 3 18:50:06 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | tao/PortableServer/Root_POA.cpp | 4 | ||||
-rw-r--r-- | tao/Profile.cpp | 9 | ||||
-rw-r--r-- | tao/Service_Context.cpp | 30 | ||||
-rw-r--r-- | tao/Tagged_Profile.cpp | 2 | ||||
-rw-r--r-- | tao/operation_details.h | 5 |
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 |