#include "ace/CDR_Size.h"#include "ace/SString.h"#include "ace/OS_Memory.h"#include "ace/Truncate.h"
Go to the source code of this file.
Functions | |
| ACE_RCSID (ace, CDR_Size,"$Id: CDR_Size.cpp 82559 2008-08-07 20:23:07Z parsons $") 1 ACE_CDR | |
| ACE_CDR::Boolean | operator<< (ACE_SizeCDR &ss, const ACE_CString &x) |
| ACE_RCSID | ( | ace | , | |
| CDR_Size | , | |||
| "$Id: CDR_Size.cpp 82559 2008-08-07 20:23:07Z parsons $" | ||||
| ) |
Definition at line 10 of file CDR_Size.cpp.
00012 : CDR_Size.cpp 82559 2008-08-07 20:23:07Z parsons $") 00013 00014 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00015 00016 ACE_CDR::Boolean 00017 ACE_SizeCDR::write_wchar (ACE_CDR::WChar x) 00018 { 00019 // Note: translator framework is not supported. 00020 // 00021 if (ACE_OutputCDR::wchar_maxbytes () == 0) 00022 { 00023 errno = EACCES; 00024 return (this->good_bit_ = false); 00025 } 00026 00027 if (static_cast<ACE_CDR::Short> (major_version_) == 1 00028 && static_cast<ACE_CDR::Short> (minor_version_) == 2) 00029 { 00030 ACE_CDR::Octet len = 00031 static_cast<ACE_CDR::Octet> (ACE_OutputCDR::wchar_maxbytes ()); 00032 00033 if (this->write_1 (&len)) 00034 { 00035 if (ACE_OutputCDR::wchar_maxbytes () == sizeof(ACE_CDR::WChar)) 00036 { 00037 return 00038 this->write_octet_array ( 00039 reinterpret_cast<const ACE_CDR::Octet*> (&x), 00040 static_cast<ACE_CDR::ULong> (len)); 00041 } 00042 else 00043 { 00044 if (ACE_OutputCDR::wchar_maxbytes () == 2) 00045 { 00046 ACE_CDR::Short sx = static_cast<ACE_CDR::Short> (x); 00047 return 00048 this->write_octet_array ( 00049 reinterpret_cast<const ACE_CDR::Octet*> (&sx), 00050 static_cast<ACE_CDR::ULong> (len)); 00051 } 00052 else 00053 { 00054 ACE_CDR::Octet ox = static_cast<ACE_CDR::Octet> (x); 00055 return 00056 this->write_octet_array ( 00057 reinterpret_cast<const ACE_CDR::Octet*> (&ox), 00058 static_cast<ACE_CDR::ULong> (len)); 00059 } 00060 } 00061 } 00062 } 00063 else if (static_cast<ACE_CDR::Short> (minor_version_) == 0) 00064 { // wchar is not allowed with GIOP 1.0. 00065 errno = EINVAL; 00066 return (this->good_bit_ = false); 00067 } 00068 00069 if (ACE_OutputCDR::wchar_maxbytes () == sizeof (ACE_CDR::WChar)) 00070 { 00071 const void *temp = &x; 00072 return this->write_4 (reinterpret_cast<const ACE_CDR::ULong *> (temp)); 00073 } 00074 else if (ACE_OutputCDR::wchar_maxbytes () == 2) 00075 { 00076 ACE_CDR::Short sx = static_cast<ACE_CDR::Short> (x); 00077 return this->write_2 (reinterpret_cast<const ACE_CDR::UShort *> (&sx)); 00078 } 00079 00080 ACE_CDR::Octet ox = static_cast<ACE_CDR::Octet> (x); 00081 return this->write_1 (reinterpret_cast<const ACE_CDR::Octet *> (&ox)); 00082 }
| ACE_CDR::Boolean operator<< | ( | ACE_SizeCDR & | ss, | |
| const ACE_CString & | x | |||
| ) |
Definition at line 256 of file CDR_Size.cpp.
00257 { 00258 ss.write_string (x); 00259 return ss.good_bit (); 00260 }
1.6.1