Qt 4.8
main.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the plugins of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 
42 #include <qtextcodecplugin.h>
43 #include <qtextcodec.h>
44 #include <qstringlist.h>
45 
46 #ifndef QT_NO_TEXTCODECPLUGIN
47 
48 #include "qeucjpcodec.h"
49 #include "qjiscodec.h"
50 #include "qsjiscodec.h"
51 #ifdef Q_WS_X11
52 #include "qfontjpcodec.h"
53 #endif
54 
56 
58 {
59 public:
61 
62  QList<QByteArray> names() const;
63  QList<QByteArray> aliases() const;
64  QList<int> mibEnums() const;
65 
68 };
69 
71 {
72  QList<QByteArray> list;
73  list += QEucJpCodec::_name();
74  list += QJisCodec::_name();
75  list += QSjisCodec::_name();
76 #ifdef Q_WS_X11
77  list += QFontJis0201Codec::_name();
78  list += QFontJis0208Codec::_name();
79 #endif
80  return list;
81 }
82 
84 {
85  QList<QByteArray> list;
86  list += QEucJpCodec::_aliases();
87  list += QJisCodec::_aliases();
88  list += QSjisCodec::_aliases();
89 #ifdef Q_WS_X11
92 #endif
93  return list;
94 }
95 
97 {
98  QList<int> list;
99  list += QEucJpCodec::_mibEnum();
100  list += QJisCodec::_mibEnum();
101  list += QSjisCodec::_mibEnum();
102 #ifdef Q_WS_X11
103  list += QFontJis0201Codec::_mibEnum();
104  list += QFontJis0208Codec::_mibEnum();
105 #endif
106  return list;
107 }
108 
110 {
111  if (mib == QEucJpCodec::_mibEnum())
112  return new QEucJpCodec;
113  if (mib == QJisCodec::_mibEnum())
114  return new QJisCodec;
115  if (mib == QSjisCodec::_mibEnum())
116  return new QSjisCodec;
117 #ifdef Q_WS_X11
118  if (mib == QFontJis0208Codec::_mibEnum())
119  return new QFontJis0208Codec;
120  if (mib == QFontJis0201Codec::_mibEnum())
121  return new QFontJis0201Codec;
122 #endif
123  return 0;
124 }
125 
126 
128 {
129  if (name == QEucJpCodec::_name() || QEucJpCodec::_aliases().contains(name))
130  return new QEucJpCodec;
131  if (name == QJisCodec::_name() || QJisCodec::_aliases().contains(name))
132  return new QJisCodec;
133  if (name == QSjisCodec::_name() || QSjisCodec::_aliases().contains(name))
134  return new QSjisCodec;
135 #ifdef Q_WS_X11
136  if (name == QFontJis0208Codec::_name() || QFontJis0208Codec::_aliases().contains(name))
137  return new QFontJis0208Codec;
138  if (name == QFontJis0201Codec::_name() || QFontJis0201Codec::_aliases().contains(name))
139  return new QFontJis0201Codec;
140 #endif
141  return 0;
142 }
143 
145 Q_EXPORT_PLUGIN2(qjpcodecs, JPTextCodecs);
146 
148 
149 #endif // QT_NO_TEXTCODECPLUGIN
static int _mibEnum()
Definition: qsjiscodec.cpp:207
static QByteArray _name()
Definition: qsjiscodec.cpp:212
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
The QTextCodecPlugin class provides an abstract base for custom QTextCodec plugins.
The QByteArray class provides an array of bytes.
Definition: qbytearray.h:135
QList< QByteArray > names() const
Returns the list of MIME names supported by this plugin.
Definition: main.cpp:70
static QList< QByteArray > _aliases()
Definition: qfontjpcodec.h:59
static QByteArray _name()
Q_EXPORT_PLUGIN2(qjpcodecs, JPTextCodecs)
Q_EXPORT_STATIC_PLUGIN(JPTextCodecs)
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
static QByteArray _name()
QList< QByteArray > aliases() const
Returns the list of aliases supported by this plugin.
Definition: main.cpp:83
const char * name
static int _mibEnum()
Definition: qjiscodec.cpp:344
static int _mibEnum()
int mib
static QList< QByteArray > _aliases()
Returns the codec&#39;s mime name.
Definition: qjiscodec.cpp:358
QList< int > mibEnums() const
Returns the list of mib enums supported by this plugin.
Definition: main.cpp:96
static int _mibEnum()
QTextCodec * createForMib(int)
Creates a QTextCodec object for the mib enum mib.
Definition: main.cpp:109
static QList< QByteArray > _aliases()
Definition: qfontjpcodec.h:77
static QByteArray _name()
Definition: qjiscodec.cpp:350
static QList< QByteArray > _aliases()
Returns the codec&#39;s mime name.
Definition: qsjiscodec.cpp:220
static int _mibEnum()
static QByteArray _name()
The QTextCodec class provides conversions between text encodings.
Definition: qtextcodec.h:62
static QList< QByteArray > _aliases()
Definition: qeucjpcodec.h:85
JPTextCodecs()
Definition: main.cpp:60
QTextCodec * createForName(const QByteArray &)
Creates a QTextCodec object for the codec called name.
Definition: main.cpp:127