Advance Wayland and KDE package bring-up

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-14 10:51:06 +01:00
parent 51f3c21121
commit cf12defd28
15214 changed files with 20594243 additions and 269 deletions
@@ -0,0 +1,103 @@
/* -*- c++ -*-
SPDX-FileCopyrightText: 2002 Marc Mutz <mutz@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
/**
@file
This file is part of the API for handling @ref MIME data and
defines a @ref uuencode @ref Codec class.
@brief
Defines the UUCodec class.
@authors Marc Mutz \<mutz@kde.org\>
@glossary @anchor UUEncode @anchor uuencode @b uuencode:
a binary to text encoding scheme. For more information, see the
<a href="http://en.wikipedia.org/wiki/Uuencode"> Wikipedia Uuencode page</a>.
*/
#ifndef KCODECS_UUENCODE_H
#define KCODECS_UUENCODE_H
#include "kcodecs.h"
namespace KCodecs
{
/**
@brief
A class representing the @ref UUEncode @ref codec.
*/
class UUCodec : public Codec
{
public:
/**
Constructs a UUEncode codec.
*/
UUCodec()
: Codec()
{
}
/**
Destroys the codec.
*/
~UUCodec() override
{
}
/**
@copydoc
Codec::name()
*/
const char *name() const override
{
return "x-uuencode";
}
/**
@copydoc
Codec::maxEncodedSizeFor()
*/
qsizetype maxEncodedSizeFor(qsizetype insize, NewlineType newline = Codec::NewlineLF) const override
{
Q_UNUSED(newline);
return insize; // we have no encoder!
}
/**
@copydoc
Codec::maxDecodedSizeFor()
*/
qsizetype maxDecodedSizeFor(qsizetype insize, NewlineType newline = Codec::NewlineLF) const override
{
// assuming all characters are part of the uuencode stream (which
// does almost never hold due to required linebreaking; but
// additional non-uu chars don't affect the output size), each
// 4-tupel of them becomes a 3-tupel in the decoded octet
// stream. So:
qsizetype result = ((insize + 3) / 4) * 3;
// but all of them may be \n, so
if (newline == Codec::NewlineCRLF) {
result *= 2; // :-o
}
return result;
}
/**
@copydoc
Codec::makeEncoder()
*/
Encoder *makeEncoder(NewlineType newline = Codec::NewlineLF) const override;
/**
@copydoc
Codec::makeEncoder()
*/
Decoder *makeDecoder(NewlineType newline = Codec::NewlineLF) const override;
};
} // namespace KCodecs
#endif // KCODECS_UUENCODE_H