summaryrefslogtreecommitdiff
path: root/ACE/ace/CDR_Stream.cpp
diff options
context:
space:
mode:
authorhillj <hillj@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2012-06-18 20:42:07 +0000
committerhillj <hillj@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2012-06-18 20:42:07 +0000
commit37983a8165b7301a2881c105f6375c6306954578 (patch)
tree8cb65eea29060384d80b6c2ea7eede6351a578f2 /ACE/ace/CDR_Stream.cpp
parent3b71d2906c6cb7f780f8ea11cc9ed88853d289a9 (diff)
downloadATCD-37983a8165b7301a2881c105f6375c6306954578.tar.gz
Mon Jun 18 20:40:29 UTC 2012 James H. Hill <hillj at cs dot iupui dot edu>
Diffstat (limited to 'ACE/ace/CDR_Stream.cpp')
-rw-r--r--ACE/ace/CDR_Stream.cpp229
1 files changed, 229 insertions, 0 deletions
diff --git a/ACE/ace/CDR_Stream.cpp b/ACE/ace/CDR_Stream.cpp
index 4e3968b1b8d..3dedd83cc33 100644
--- a/ACE/ace/CDR_Stream.cpp
+++ b/ACE/ace/CDR_Stream.cpp
@@ -723,6 +723,72 @@ ACE_OutputCDR::write_short_placeholder (void)
return buf;
}
+char *
+ACE_OutputCDR::write_boolean_placeholder (void)
+{
+ char *buf = 0;
+ if (this->adjust (ACE_CDR::OCTET_SIZE, buf) == 0)
+ *reinterpret_cast<ACE_CDR::Boolean*> (buf) = 0;
+ else
+ buf = 0;
+ return buf;
+}
+
+char *
+ACE_OutputCDR::write_char_placeholder (void)
+{
+ char *buf = 0;
+ if (this->adjust (ACE_CDR::OCTET_SIZE, buf) == 0)
+ *reinterpret_cast<ACE_CDR::Char*> (buf) = 0;
+ else
+ buf = 0;
+ return buf;
+}
+
+char *
+ACE_OutputCDR::write_octet_placeholder (void)
+{
+ char *buf = 0;
+ if (this->adjust (ACE_CDR::OCTET_SIZE, buf) == 0)
+ *reinterpret_cast<ACE_CDR::Octet*> (buf) = 0;
+ else
+ buf = 0;
+ return buf;
+}
+
+char *
+ACE_OutputCDR::write_longlong_placeholder (void)
+{
+ char *buf = 0;
+ if (this->adjust (ACE_CDR::LONGLONG_SIZE, buf) == 0)
+ *reinterpret_cast<ACE_CDR::ULongLong*> (buf) = 0;
+ else
+ buf = 0;
+ return buf;
+}
+
+char *
+ACE_OutputCDR::write_float_placeholder (void)
+{
+ char *buf = 0;
+ if (this->adjust (ACE_CDR::LONG_SIZE, buf) == 0)
+ *reinterpret_cast<ACE_CDR::ULong*> (buf) = 0;
+ else
+ buf = 0;
+ return buf;
+}
+
+char *
+ACE_OutputCDR::write_double_placeholder (void)
+{
+ char *buf = 0;
+ if (this->adjust (ACE_CDR::LONGLONG_SIZE, buf) == 0)
+ *reinterpret_cast<ACE_CDR::ULongLong*> (buf) = 0;
+ else
+ buf = 0;
+ return buf;
+}
+
ACE_CDR::Boolean
ACE_OutputCDR::replace (ACE_CDR::Long x, char* loc)
{
@@ -745,6 +811,27 @@ ACE_OutputCDR::replace (ACE_CDR::Long x, char* loc)
return true;
}
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::ULong x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ *reinterpret_cast<ACE_CDR::ULong*> (loc) = x;
+#else
+ if (!this->do_byte_swap_)
+ {
+ *reinterpret_cast<ACE_CDR::ULong *> (loc) = x;
+ }
+ else
+ {
+ ACE_CDR::swap_4 (reinterpret_cast<const char*> (&x), loc);
+ }
+#endif /* ACE_ENABLE_SWAP_ON_WRITE */
+
+ return true;
+}
ACE_CDR::Boolean
ACE_OutputCDR::replace (ACE_CDR::Short x, char* loc)
@@ -768,6 +855,148 @@ ACE_OutputCDR::replace (ACE_CDR::Short x, char* loc)
return true;
}
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::UShort x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ *reinterpret_cast<ACE_CDR::UShort*> (loc) = x;
+#else
+ if (!this->do_byte_swap_)
+ {
+ *reinterpret_cast<ACE_CDR::UShort *> (loc) = x;
+ }
+ else
+ {
+ ACE_CDR::swap_2 (reinterpret_cast<const char*> (&x), loc);
+ }
+#endif /* ACE_ENABLE_SWAP_ON_WRITE */
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::Boolean x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+ *reinterpret_cast<ACE_CDR::Boolean*> (loc) = x;
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::Char x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+ *reinterpret_cast<ACE_CDR::Char*> (loc) = x;
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::Octet x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+ *reinterpret_cast<ACE_CDR::Octet*> (loc) = x;
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::LongLong x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ *reinterpret_cast<ACE_CDR::LongLong*> (loc) = x;
+#else
+ if (!this->do_byte_swap_)
+ {
+ *reinterpret_cast<ACE_CDR::LongLong*> (loc) = x;
+ }
+ else
+ {
+ ACE_CDR::swap_8 (reinterpret_cast<const char*> (&x), loc);
+ }
+#endif /* ACE_ENABLE_SWAP_ON_WRITE */
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::ULongLong x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ *reinterpret_cast<ACE_CDR::ULongLong*> (loc) = x;
+#else
+ if (!this->do_byte_swap_)
+ {
+ *reinterpret_cast<ACE_CDR::ULongLong*> (loc) = x;
+ }
+ else
+ {
+ ACE_CDR::swap_8 (reinterpret_cast<const char*> (&x), loc);
+ }
+#endif /* ACE_ENABLE_SWAP_ON_WRITE */
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::Float x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ *reinterpret_cast<ACE_CDR::Float*> (loc) = x;
+#else
+ if (!this->do_byte_swap_)
+ {
+ *reinterpret_cast<ACE_CDR::Float*> (loc) = x;
+ }
+ else
+ {
+ ACE_CDR::swap_4 (reinterpret_cast<const char*> (&x), loc);
+ }
+#endif /* ACE_ENABLE_SWAP_ON_WRITE */
+
+ return true;
+}
+
+ACE_CDR::Boolean
+ACE_OutputCDR::replace (ACE_CDR::Double x, char* loc)
+{
+ if (this->find (loc) == 0)
+ return false;
+
+#if !defined (ACE_ENABLE_SWAP_ON_WRITE)
+ *reinterpret_cast<ACE_CDR::Double*> (loc) = x;
+#else
+ if (!this->do_byte_swap_)
+ {
+ *reinterpret_cast<ACE_CDR::Double*> (loc) = x;
+ }
+ else
+ {
+ ACE_CDR::swap_8 (reinterpret_cast<const char*> (&x), loc);
+ }
+#endif /* ACE_ENABLE_SWAP_ON_WRITE */
+
+ return true;
+}
int
ACE_OutputCDR::consolidate (void)