mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-09-23 08:13:30 -04:00
130 lines
2.6 KiB
C++
Executable File
130 lines
2.6 KiB
C++
Executable File
#include "ChatEnum.h"
|
|
#include <iostream>
|
|
|
|
namespace ChatSystem {
|
|
|
|
using namespace std;
|
|
using namespace Plat_Unicode;
|
|
|
|
Plat_Unicode::String ChatUnicodeString::getEmptyString()
|
|
{
|
|
return narrowToWide("");
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString()
|
|
{
|
|
m_wideString = getEmptyString();
|
|
m_cString = wideToNarrow(m_wideString);
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString(const unsigned short *data, unsigned length)
|
|
{
|
|
m_wideString.assign(data, length);
|
|
m_cString = wideToNarrow(m_wideString);
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString(const char *nData, unsigned length)
|
|
{
|
|
m_cString.assign(nData, length);
|
|
m_wideString = narrowToWide(m_cString);
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString(const Plat_Unicode::String& src)
|
|
{
|
|
m_wideString = src;
|
|
m_cString = wideToNarrow(m_wideString);
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString(const std::string& nSrc)
|
|
{
|
|
m_cString = nSrc;
|
|
m_wideString = narrowToWide(m_cString);
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString(const char *nStrSrc)
|
|
{
|
|
if (nStrSrc==NULL)
|
|
{
|
|
m_wideString = getEmptyString();
|
|
m_cString = wideToNarrow(m_wideString);
|
|
}
|
|
else
|
|
{
|
|
m_cString.assign(nStrSrc);
|
|
m_wideString = narrowToWide(m_cString);
|
|
}
|
|
}
|
|
|
|
ChatUnicodeString::ChatUnicodeString(const ChatUnicodeString& src)
|
|
{
|
|
m_wideString = src.m_wideString;
|
|
m_cString = wideToNarrow(m_wideString);
|
|
}
|
|
|
|
// = operator
|
|
ChatUnicodeString& ChatUnicodeString::operator=(const Plat_Unicode::String& src)
|
|
{
|
|
m_wideString = src;
|
|
m_cString = wideToNarrow(m_wideString);
|
|
|
|
return *this;
|
|
}
|
|
|
|
ChatUnicodeString& ChatUnicodeString::operator=(const std::string& nSrc)
|
|
{
|
|
m_cString = nSrc;
|
|
m_wideString = narrowToWide(m_cString);
|
|
|
|
return *this;
|
|
}
|
|
|
|
ChatUnicodeString& ChatUnicodeString::operator=(const char * nStrSrc)
|
|
{
|
|
m_cString = nStrSrc;
|
|
m_wideString = narrowToWide(m_cString);
|
|
|
|
return *this;
|
|
}
|
|
|
|
ChatUnicodeString& ChatUnicodeString::operator=(const ChatUnicodeString& src)
|
|
{
|
|
if (this != &src) {
|
|
m_wideString = src.m_wideString;
|
|
m_cString = wideToNarrow(m_wideString);
|
|
}
|
|
|
|
return *this;
|
|
}
|
|
|
|
// += operator
|
|
ChatUnicodeString& ChatUnicodeString::operator+=(const ChatUnicodeString& src)
|
|
{
|
|
m_wideString += src.m_wideString;
|
|
m_cString = wideToNarrow(m_wideString);
|
|
|
|
return *this;
|
|
}
|
|
|
|
// + operator
|
|
ChatUnicodeString ChatUnicodeString::operator+(const ChatUnicodeString& src)
|
|
{
|
|
ChatUnicodeString tmp;
|
|
|
|
tmp.m_wideString = m_wideString + src.m_wideString;
|
|
m_cString = wideToNarrow(m_wideString);
|
|
|
|
return tmp;
|
|
}
|
|
|
|
const char *ChatUnicodeString::c_str() const {
|
|
return m_cString.c_str();
|
|
}
|
|
|
|
AvatarSnoopPair::AvatarSnoopPair(const Plat_Unicode::String &name, const Plat_Unicode::String &address)
|
|
: m_name(name),
|
|
m_address(address)
|
|
{
|
|
}
|
|
|
|
};
|