Qt Reference Documentation

Contents

QTextCodecPlugin Class Reference

The QTextCodecPlugin class provides an abstract base for custom QTextCodec plugins. More...

 #include <QTextCodecPlugin>

Inherits: QObject.

Note: All functions in this class are reentrant.

Public Functions

QTextCodecPlugin ( QObject * parent = 0 )
~QTextCodecPlugin ()
virtual QList<QByteArray> aliases () const = 0
virtual QTextCodec * createForMib ( int mib ) = 0
virtual QTextCodec * createForName ( const QByteArray & name ) = 0
virtual QList<int> mibEnums () const = 0
virtual QList<QByteArray> names () const = 0

Additional Inherited Members

Detailed Description

The QTextCodecPlugin class provides an abstract base for custom QTextCodec plugins.

The text codec plugin is a simple plugin interface that makes it easy to create custom text codecs that can be loaded dynamically into applications.

Writing a text codec plugin is achieved by subclassing this base class, reimplementing the pure virtual functions names(), aliases(), createForName(), mibEnums() and createForMib(), and exporting the class with the Q_EXPORT_PLUGIN2() macro. See How to Create Qt Plugins for details.

See the IANA character-sets encoding file for more information on mime names and mib enums.

Member Function Documentation

QTextCodecPlugin::QTextCodecPlugin ( QObject * parent = 0 )

Constructs a text codec plugin with the given parent. This is invoked automatically by the Q_EXPORT_PLUGIN2() macro.

QTextCodecPlugin::~QTextCodecPlugin ()

Destroys the text codec plugin.

You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.

QList<QByteArray> QTextCodecPlugin::aliases () const [pure virtual]

Returns the list of aliases supported by this plugin.

QTextCodec * QTextCodecPlugin::createForMib ( int mib ) [pure virtual]

Creates a QTextCodec object for the mib enum mib.

See the IANA character-sets encoding file for more information.

See also mibEnums().

QTextCodec * QTextCodecPlugin::createForName ( const QByteArray & name ) [pure virtual]

Creates a QTextCodec object for the codec called name. The name must come from the list of encodings returned by names(). Encoding names are case sensitive.

Example:

 QList<QByteArray> MyCodecPlugin::names() const
 {
     return QList<QByteArray> << "IBM01140" << "hp15-tw";
 }

 QTextCodec *MyCodecPlugin::createForName(const QByteArray &name)
 {
     if (name == "IBM01140") {
         return new Ibm01140Codec;
     } else if (name == "hp15-tw") {
         return new Hp15TwCodec;
     }
     return 0;
 }

See also names().

QList<int> QTextCodecPlugin::mibEnums () const [pure virtual]

Returns the list of mib enums supported by this plugin.

See also createForMib().

QList<QByteArray> QTextCodecPlugin::names () const [pure virtual]

Returns the list of MIME names supported by this plugin.

If a codec has several names, the extra names are returned by aliases().

See also createForName() and aliases().