| 405 | } |
| 406 | |
| 407 | TagParser::TagValue TagValueObject::toTagValue(TagParser::TagTextEncoding encoding) const |
| 408 | { |
| 409 | auto res = TagParser::TagValue(); |
| 410 | if (m_content.isUndefined() || m_content.isNull()) { |
| 411 | return res; |
| 412 | } |
| 413 | if (const auto variant = m_content.toVariant(); variant.userType() == QMetaType::QByteArray) { |
| 414 | const auto bytes = variant.toByteArray(); |
| 415 | const auto container = TagParser::parseSignature(bytes.data(), static_cast<std::size_t>(bytes.size())); |
| 416 | res.assignData(bytes.data(), static_cast<std::size_t>(bytes.size()), TagParser::TagDataType::Binary); |
| 417 | res.setMimeType(TagParser::containerMimeType(container)); |
| 418 | } else { |
| 419 | const auto str = m_content.toString(); |
| 420 | res.assignText(reinterpret_cast<const char *>(str.utf16()), static_cast<std::size_t>(str.size()) * (sizeof(ushort) / sizeof(char)), |
| 421 | nativeUtf16Encoding, encoding); |
| 422 | } |
| 423 | return res; |
| 424 | } |
| 425 | |
| 426 | void TagValueObject::flagChange() |
| 427 | { |
no test coverage detected