/* * Copyright (c) 2022, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include AK::ByteString ak_byte_string_from_qstring(QString const& qstring) { auto utf8_data = qstring.toUtf8(); return AK::ByteString(utf8_data.data(), utf8_data.size()); } AK::ByteString ak_byte_string_from_qbytearray(QByteArray const& qbytearray) { return AK::ByteString(qbytearray.data(), qbytearray.size()); } String ak_string_from_qstring(QString const& qstring) { auto utf8_data = qstring.toUtf8(); return MUST(String::from_utf8(StringView(utf8_data.data(), utf8_data.size()))); } QString qstring_from_ak_string(StringView ak_string) { return QString::fromUtf8(ak_string.characters_without_null_termination(), static_cast(ak_string.length())); } QByteArray qbytearray_from_ak_string(StringView ak_string) { return { ak_string.characters_without_null_termination(), static_cast(ak_string.length()) }; } Optional ak_url_from_qstring(QString const& qstring) { auto utf8_data = qstring.toUtf8(); return URL::Parser::basic_parse(StringView(utf8_data.data(), utf8_data.size())); } URL::URL ak_url_from_qurl(QUrl const& qurl) { return ak_url_from_qstring(qurl.toString()).value(); }