Qt Reference Documentation

# 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.

- List of all members, including inherited members

## 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

- 29 public functions inherited from QObject

### Additional Inherited Members

- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 1 signal inherited from QObject
- 5 static public members inherited from QObject
- 7 protected functions inherited from QObject

## 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().