Qt 4.8
qt-4.8.6
src
corelib
codecs
qiconvcodec_p.h
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 QtCore module 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
#ifndef QICONVCODEC_P_H
43
#define QICONVCODEC_P_H
44
45
//
46
// W A R N I N G
47
// -------------
48
//
49
// This file is not part of the Qt API. It exists for the convenience
50
// of the QLibrary class. This header file may change from
51
// version to version without notice, or even be removed.
52
//
53
// We mean it.
54
//
55
56
#include "
qtextcodec.h
"
57
58
#if defined(Q_OS_UNIX) && !defined(QT_NO_ICONV) && !defined(QT_BOOTSTRAPPED)
59
60
#ifdef Q_OS_MAC
61
typedef
void
*
iconv_t
;
62
#else
63
#include <iconv.h>
64
#endif
65
66
QT_BEGIN_NAMESPACE
67
68
class
QIconvCodec
:
public
QTextCodec
69
{
70
private
:
71
mutable
QTextCodec
*
utf16Codec
;
72
73
public
:
74
QIconvCodec
();
75
~QIconvCodec
();
76
77
QString
convertToUnicode
(
const
char
*,
int
,
ConverterState
*)
const
;
78
QByteArray
convertFromUnicode
(
const
QChar
*,
int
,
ConverterState
*)
const
;
79
80
QByteArray
name
()
const
;
81
int
mibEnum
()
const
;
82
83
static
iconv_t
createIconv_t
(
const
char
*to,
const
char
*from);
84
85
class
IconvState
86
{
87
public
:
88
IconvState
(
iconv_t
x);
89
~IconvState
();
90
ConverterState
internalState
;
91
char
*
buffer
;
92
int
bufferLen
;
93
iconv_t
cd
;
94
95
char
array
[8];
96
97
void
saveChars
(
const
char
*
c
,
int
count);
98
};
99
};
100
101
QT_END_NAMESPACE
102
103
#endif // Q_OS_UNIX && !QT_NO_ICONV && !QT_BOOTSTRAPPED
104
105
#endif // QICONVCODEC_P_H
QIconvCodec::IconvState::internalState
ConverterState internalState
Definition:
qiconvcodec_p.h:90
c
unsigned char c[8]
Definition:
qnumeric_p.h:62
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
QIconvCodec::utf16Codec
QTextCodec * utf16Codec
Definition:
qiconvcodec_p.h:71
QByteArray
The QByteArray class provides an array of bytes.
Definition:
qbytearray.h:135
QString
The QString class provides a Unicode character string.
Definition:
qstring.h:83
QIconvCodec::~QIconvCodec
~QIconvCodec()
Definition:
qiconvcodec.cpp:133
QIconvCodec::name
QByteArray name() const
QTextCodec subclasses must reimplement this function.
Definition:
qiconvcodec.cpp:453
QIconvCodec::IconvState::cd
iconv_t cd
Definition:
qiconvcodec_p.h:93
QChar
The QChar class provides a 16-bit Unicode character.
Definition:
qchar.h:72
QIconvCodec::QIconvCodec
QIconvCodec()
Definition:
qiconvcodec.cpp:93
QIconvCodec::IconvState::bufferLen
int bufferLen
Definition:
qiconvcodec_p.h:92
QIconvCodec::IconvState::array
char array[8]
Definition:
qiconvcodec_p.h:95
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QIconvCodec::IconvState::buffer
char * buffer
Definition:
qiconvcodec_p.h:91
QIconvCodec::mibEnum
int mibEnum() const
Subclasses of QTextCodec must reimplement this function.
Definition:
qiconvcodec.cpp:458
qtextcodec.h
QTextCodec::ConverterState
Definition:
qtextcodec.h:102
QIconvCodec::IconvState
Definition:
qiconvcodec_p.h:85
iconv_t
void * iconv_t
Definition:
qiconvcodec_p.h:61
QIconvCodec::convertToUnicode
QString convertToUnicode(const char *, int, ConverterState *) const
QTextCodec subclasses must reimplement this function.
Definition:
qiconvcodec.cpp:168
QIconvCodec::convertFromUnicode
QByteArray convertFromUnicode(const QChar *, int, ConverterState *) const
QTextCodec subclasses must reimplement this function.
Definition:
qiconvcodec.cpp:335
QIconvCodec::IconvState::saveChars
void saveChars(const char *c, int count)
Definition:
qiconvcodec.cpp:150
QIconvCodec::IconvState::~IconvState
~IconvState()
Definition:
qiconvcodec.cpp:142
QIconvCodec
Definition:
qiconvcodec_p.h:68
QTextCodec
The QTextCodec class provides conversions between text encodings.
Definition:
qtextcodec.h:62
QIconvCodec::IconvState::IconvState
IconvState(iconv_t x)
Definition:
qiconvcodec.cpp:137
QIconvCodec::createIconv_t
static iconv_t createIconv_t(const char *to, const char *from)
Definition:
qiconvcodec.cpp:463
Qt 4.8 Source Code Browser