/* Copyright (C) 2013 by Maxim Biro This file is part of Tox Qt GUI. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the COPYING file for more details. */ #include "cstring.h" CString::CString(const QString& string) { cString = new uint8_t[string.length() * MAX_SIZE_OF_UTF8_ENCODED_CHARACTER](); cStringSize = fromString(string, cString); } CString::~CString() { delete[] cString; } uint8_t* CString::data() { return cString; } uint16_t CString::size() { return cStringSize; } QString CString::toString(const uint8_t* cString, uint16_t cStringSize) { return QString::fromUtf8(reinterpret_cast(cString), cStringSize); } uint16_t CString::fromString(const QString& string, uint8_t* cString) { QByteArray byteArray = QByteArray(string.toUtf8()); memcpy(cString, reinterpret_cast(byteArray.data()), byteArray.size()); return byteArray.size(); }