1// qtextcodec.sip generated by MetaSIP 2// 3// This file is part of the QtCore Python extension module. 4// 5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 6// 7// This file is part of PyQt5. 8// 9// This file may be used under the terms of the GNU General Public License 10// version 3.0 as published by the Free Software Foundation and appearing in 11// the file LICENSE included in the packaging of this file. Please review the 12// following information to ensure the GNU General Public License version 3.0 13// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 14// 15// If you do not wish to use this file under the terms of the GPL version 3.0 16// then you may purchase a commercial license. For more information contact 17// info@riverbankcomputing.com. 18// 19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22 23class QTextCodec /Supertype=sip.wrapper/ 24{ 25%TypeHeaderCode 26#include <qtextcodec.h> 27%End 28 29public: 30 static QTextCodec *codecForName(const QByteArray &name); 31 static QTextCodec *codecForName(const char *name); 32 static QTextCodec *codecForMib(int mib); 33 static QTextCodec *codecForHtml(const QByteArray &ba); 34 static QTextCodec *codecForHtml(const QByteArray &ba, QTextCodec *defaultCodec); 35 static QTextCodec *codecForUtfText(const QByteArray &ba); 36 static QTextCodec *codecForUtfText(const QByteArray &ba, QTextCodec *defaultCodec); 37 static QList<QByteArray> availableCodecs(); 38 static QList<int> availableMibs(); 39 static QTextCodec *codecForLocale(); 40 static void setCodecForLocale(QTextCodec *c /KeepReference/); 41 QTextDecoder *makeDecoder(QTextCodec::ConversionFlags flags = QTextCodec::DefaultConversion) const /Factory/; 42 QTextEncoder *makeEncoder(QTextCodec::ConversionFlags flags = QTextCodec::DefaultConversion) const /Factory/; 43 bool canEncode(const QString &) const; 44 QString toUnicode(const QByteArray &) const; 45 QString toUnicode(const char *chars /Encoding="None"/) const; 46 QByteArray fromUnicode(const QString &uc) const; 47 48 enum ConversionFlag 49 { 50 DefaultConversion, 51 ConvertInvalidToNull, 52 IgnoreHeader, 53 }; 54 55 typedef QFlags<QTextCodec::ConversionFlag> ConversionFlags; 56 57 struct ConverterState 58 { 59%TypeHeaderCode 60#include <qtextcodec.h> 61%End 62 63 ConverterState(QTextCodec::ConversionFlags flags = QTextCodec::DefaultConversion); 64 ~ConverterState(); 65 66 private: 67 ConverterState(const QTextCodec::ConverterState &); 68 }; 69 70 QString toUnicode(const char *in /Array/, int length /ArraySize/, QTextCodec::ConverterState *state = 0) const; 71 virtual QByteArray name() const = 0; 72 virtual QList<QByteArray> aliases() const; 73 virtual int mibEnum() const = 0; 74 75protected: 76 virtual QString convertToUnicode(const char *in /Array/, int length /ArraySize/, QTextCodec::ConverterState *state) const = 0; 77 virtual QByteArray convertFromUnicode(const QChar *in /Array/, int length /ArraySize/, QTextCodec::ConverterState *state) const = 0; 78 QTextCodec() /Transfer/; 79 virtual ~QTextCodec(); 80 81private: 82 QTextCodec(const QTextCodec &); 83}; 84 85QFlags<QTextCodec::ConversionFlag> operator|(QTextCodec::ConversionFlag f1, QFlags<QTextCodec::ConversionFlag> f2); 86 87class QTextEncoder /Supertype=sip.wrapper/ 88{ 89%TypeHeaderCode 90#include <qtextcodec.h> 91%End 92 93public: 94 explicit QTextEncoder(const QTextCodec *codec); 95 QTextEncoder(const QTextCodec *codec, QTextCodec::ConversionFlags flags); 96 ~QTextEncoder(); 97 QByteArray fromUnicode(const QString &str); 98 99private: 100 QTextEncoder(const QTextEncoder &); 101}; 102 103class QTextDecoder /Supertype=sip.wrapper/ 104{ 105%TypeHeaderCode 106#include <qtextcodec.h> 107%End 108 109public: 110 explicit QTextDecoder(const QTextCodec *codec); 111 QTextDecoder(const QTextCodec *codec, QTextCodec::ConversionFlags flags); 112 ~QTextDecoder(); 113 QString toUnicode(const char *chars /Array/, int len /ArraySize/); 114 QString toUnicode(const QByteArray &ba); 115 116private: 117 QTextDecoder(const QTextDecoder &); 118}; 119