⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 url_properties.cpp

📁 ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework)
💻 CPP
字号:
// URL_Properties.cpp,v 1.18 2003/11/01 11:15:22 dhinton Exp#if !defined (ACE_URL_PROPERTIES_C)#define ACE_URL_PROPERTIES_C#include "URL_Properties.h"#if !defined (__ACE_INLINE__)#include "URL_Properties.i"#endif /* __ACE_INLINE__ */#include "ace/Auto_Ptr.h"#include "URL_Array_Helper.h"ACE_RCSID(Caching, URL_Properties, "URL_Properties.cpp,v 1.18 2003/11/01 11:15:22 dhinton Exp")size_tACE_WString_Helper::encode (void *buf, const ACE_WString &wstr){  ACE_USHORT16 *wptr = (ACE_USHORT16 *) buf;  size_t i;  for (i= 0; i <= wstr.length (); i++)    wptr[i] = htons (wstr[i]);  return i * sizeof (ACE_USHORT16);}size_tACE_WString_Helper::decode (void *buf){  ACE_USHORT16 *wptr = (ACE_USHORT16 *) buf;  size_t i;  for (i = 0; wptr[i] != 0; i++)    wptr[i] = ntohs (wptr[i]);  return (i + 1) * sizeof (ACE_USHORT16);}size_tACE_URL_Property::encode (void *buf) const{  size_t blen = ACE_WString_Helper::encode (buf, this->name_);  blen += ACE_WString_Helper::encode ((void *) ((char *) buf + blen),                                      this->value_);  return blen;}size_tACE_URL_Property::decode (void *buf){  char *cbuf = (char *) buf;  size_t len = ACE_WString_Helper::decode(buf);  this->name ((ACE_USHORT16 *) cbuf);  cbuf += len;  len += ACE_WString_Helper::decode ((void *) cbuf);  this->value ((ACE_USHORT16 *) cbuf);  return len;}voidACE_URL_Property::dump (void) const{  ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));  if (this->name_.length () > 0)    ACE_DEBUG ((LM_DEBUG, "\n    name_:  \"%s\"\n",                ACE_Auto_Basic_Array_Ptr<char> (this->name_.char_rep ()).get ()));  else    ACE_DEBUG ((LM_DEBUG, "\n   name_:  \"\"\n"));  if (this->value_.length () > 0)    ACE_DEBUG ((LM_DEBUG, "   value_:  \"%s\"\n",                ACE_Auto_Basic_Array_Ptr<char> (this->value_.char_rep ()).get ()));  else    ACE_DEBUG ((LM_DEBUG, "   value_:  \"\"\n"));  ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));}size_tACE_URL_Offer::size (void) const{  size_t sum = (this->url_.length () + 1) * sizeof (ACE_USHORT16);  sum += ::ace_array_size (this->prop_);  return sum;}size_tACE_URL_Offer::encode (void *buf) const{  ACE_UINT32 *s_buf = (ACE_UINT32 *) buf;  *s_buf = htonl (this->prop_.size ());  size_t len = sizeof (ACE_UINT32);  len += ACE_WString_Helper::encode ((void *) ((char *) buf + len),                                     this->url_);  len += ::ace_array_encode ((void *) ((char *) buf + len),                             this->prop_);  return len;}size_tACE_URL_Offer::decode (void *buf){  size_t len = sizeof (ACE_UINT32);  size_t a_size = (size_t) ntohl (*(ACE_UINT32 *) buf);  len += ACE_WString_Helper::decode ((void *) ((char *) buf + len));  this->url ((ACE_USHORT16 *) ((char *) buf + len));  ACE_URL_Property_Seq prop_seq (a_size);  this->url_properties (prop_seq);  len += ::ace_array_decode ((void *)((char *) buf + len),                             this->prop_);  return len;}voidACE_URL_Offer::dump (void) const{  ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));  if (this->url_.length () > 0)    ACE_DEBUG ((LM_DEBUG, "\n url_:  \"%s\"\n",                ACE_Auto_Basic_Array_Ptr<char> (this->url_.char_rep ()).get ()));  else    ACE_DEBUG ((LM_DEBUG, "\n url_:  \"\"\n"));  for (size_t i = 0; i < this->prop_.size (); i++)    this->prop_[i].dump ();  ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));}#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)template class ACE_Array_Base<ACE_URL_Property>;template class ACE_Array<ACE_URL_Property>;template class ACE_Array_Base<ACE_URL_Offer>;template class ACE_Array<ACE_URL_Offer>;template size_t ace_array_size (ACE_Array<ACE_URL_Property> &);template size_t ace_array_encode (void *, ACE_Array<ACE_URL_Property> &);template size_t ace_array_decode (void *, ACE_Array<ACE_URL_Property> &);template size_t ace_array_size (ACE_Array<ACE_URL_Offer> &);template size_t ace_array_encode (void *, ACE_Array<ACE_URL_Offer> &);template size_t ace_array_decode (void *, ACE_Array<ACE_URL_Offer> &);#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)#pragma instantiate ACE_Array_Base<ACE_URL_Property>#pragma instantiate ACE_Array<ACE_URL_Property>#pragma instantiate ACE_Array_Base<ACE_URL_Offer>#pragma instantiate ACE_Array<ACE_URL_Offer>#pragma instantiate size_t ace_array_size (ACE_Array<ACE_URL_Property> &)#pragma instantiate size_t ace_array_encode (void *, ACE_Array<ACE_URL_Property> &)#pragma instantiate size_t ace_array_decode (void *, ACE_Array<ACE_URL_Property> &)#pragma instantiate size_t ace_array_size (ACE_Array<ACE_URL_Offer> &)#pragma instantiate size_t ace_array_encode (void *, ACE_Array<ACE_URL_Offer> &)#pragma instantiate size_t ace_array_decode (void *, ACE_Array<ACE_URL_Offer> &)#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */#endif /* ACE_URL_PROPERTIES_C */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -