Differential D24817 Diff 68400 src/scripting/qtbindings/generated_cpp/com_trolltech_qt_core/qtscript_QTextEncoder.cpp
Changeset View
Changeset View
Standalone View
Standalone View
src/scripting/qtbindings/generated_cpp/com_trolltech_qt_core/qtscript_QTextEncoder.cpp
- This file was added.
1 | #include <QtScript/QScriptEngine> | ||||
---|---|---|---|---|---|
2 | #include <QtScript/QScriptContext> | ||||
3 | #include <QtScript/QScriptValue> | ||||
4 | #include <QtCore/QStringList> | ||||
5 | #include <QtCore/QDebug> | ||||
6 | #include <qmetaobject.h> | ||||
7 | #include <__package_shared.h> | ||||
8 | | ||||
9 | #include <qtextcodec.h> | ||||
10 | #include <QVariant> | ||||
11 | #include <qbytearray.h> | ||||
12 | #include <qtextcodec.h> | ||||
13 | | ||||
14 | static const char * const qtscript_QTextEncoder_function_names[] = { | ||||
15 | "QTextEncoder" | ||||
16 | // static | ||||
17 | // prototype | ||||
18 | , "fromUnicode" | ||||
19 | , "hasFailure" | ||||
20 | , "toString" | ||||
21 | }; | ||||
22 | | ||||
23 | static const char * const qtscript_QTextEncoder_function_signatures[] = { | ||||
24 | "QTextCodec codec\nQTextCodec codec, ConversionFlags flags" | ||||
25 | // static | ||||
26 | // prototype | ||||
27 | , "String str" | ||||
28 | , "" | ||||
29 | "" | ||||
30 | }; | ||||
31 | | ||||
32 | static const int qtscript_QTextEncoder_function_lengths[] = { | ||||
33 | 2 | ||||
34 | // static | ||||
35 | // prototype | ||||
36 | , 1 | ||||
37 | , 0 | ||||
38 | , 0 | ||||
39 | }; | ||||
40 | | ||||
41 | static QScriptValue qtscript_QTextEncoder_throw_ambiguity_error_helper( | ||||
42 | QScriptContext *context, const char *functionName, const char *signatures) | ||||
43 | { | ||||
44 | QStringList lines = QString::fromLatin1(signatures).split(QLatin1Char('\n')); | ||||
45 | QStringList fullSignatures; | ||||
46 | for (int i = 0; i < lines.size(); ++i) | ||||
47 | fullSignatures.append(QString::fromLatin1("%0(%1)").arg(functionName).arg(lines.at(i))); | ||||
48 | return context->throwError(QString::fromLatin1("QTextEncoder::%0(): could not find a function match; candidates are:\n%1") | ||||
49 | .arg(functionName).arg(fullSignatures.join(QLatin1String("\n")))); | ||||
50 | } | ||||
51 | | ||||
52 | Q_DECLARE_METATYPE(QTextEncoder*) | ||||
53 | Q_DECLARE_METATYPE(const QTextCodec*) | ||||
54 | Q_DECLARE_METATYPE(QFlags<QTextCodec::ConversionFlag>) | ||||
55 | | ||||
56 | // | ||||
57 | // QTextEncoder | ||||
58 | // | ||||
59 | | ||||
60 | static QScriptValue qtscript_QTextEncoder_prototype_call(QScriptContext *context, QScriptEngine *) | ||||
61 | { | ||||
62 | #if QT_VERSION > 0x040400 | ||||
63 | Q_ASSERT(context->callee().isFunction()); | ||||
64 | uint _id = context->callee().data().toUInt32(); | ||||
65 | #else | ||||
66 | uint _id; | ||||
67 | if (context->callee().isFunction()) | ||||
68 | _id = context->callee().data().toUInt32(); | ||||
69 | else | ||||
70 | _id = 0xBABE0000 + 2; | ||||
71 | #endif | ||||
72 | Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000); | ||||
73 | _id &= 0x0000FFFF; | ||||
74 | QTextEncoder* _q_self = qscriptvalue_cast<QTextEncoder*>(context->thisObject()); | ||||
75 | if (!_q_self) { | ||||
76 | return context->throwError(QScriptContext::TypeError, | ||||
77 | QString::fromLatin1("QTextEncoder.%0(): this object is not a QTextEncoder") | ||||
78 | .arg(qtscript_QTextEncoder_function_names[_id+1])); | ||||
79 | } | ||||
80 | | ||||
81 | switch (_id) { | ||||
82 | case 0: | ||||
83 | if (context->argumentCount() == 1) { | ||||
84 | QString _q_arg0 = context->argument(0).toString(); | ||||
85 | QByteArray _q_result = _q_self->fromUnicode(_q_arg0); | ||||
86 | return qScriptValueFromValue(context->engine(), _q_result); | ||||
87 | } | ||||
88 | break; | ||||
89 | | ||||
90 | case 1: | ||||
91 | if (context->argumentCount() == 0) { | ||||
92 | bool _q_result = _q_self->hasFailure(); | ||||
93 | return QScriptValue(context->engine(), _q_result); | ||||
94 | } | ||||
95 | break; | ||||
96 | | ||||
97 | case 2: { | ||||
98 | QString result = QString::fromLatin1("QTextEncoder"); | ||||
99 | return QScriptValue(context->engine(), result); | ||||
100 | } | ||||
101 | | ||||
102 | default: | ||||
103 | Q_ASSERT(false); | ||||
104 | } | ||||
105 | return qtscript_QTextEncoder_throw_ambiguity_error_helper(context, | ||||
106 | qtscript_QTextEncoder_function_names[_id+1], | ||||
107 | qtscript_QTextEncoder_function_signatures[_id+1]); | ||||
108 | } | ||||
109 | | ||||
110 | static QScriptValue qtscript_QTextEncoder_static_call(QScriptContext *context, QScriptEngine *) | ||||
111 | { | ||||
112 | uint _id = context->callee().data().toUInt32(); | ||||
113 | Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000); | ||||
114 | _id &= 0x0000FFFF; | ||||
115 | switch (_id) { | ||||
116 | case 0: | ||||
117 | if (context->thisObject().strictlyEquals(context->engine()->globalObject())) { | ||||
118 | return context->throwError(QString::fromLatin1("QTextEncoder(): Did you forget to construct with 'new'?")); | ||||
119 | } | ||||
120 | if (context->argumentCount() == 1) { | ||||
121 | const QTextCodec* _q_arg0 = qscriptvalue_cast<const QTextCodec*>(context->argument(0)); | ||||
122 | QTextEncoder* _q_cpp_result = new QTextEncoder(_q_arg0); | ||||
123 | QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue(_q_cpp_result)); | ||||
124 | return _q_result; | ||||
125 | } else if (context->argumentCount() == 2) { | ||||
126 | const QTextCodec* _q_arg0 = qscriptvalue_cast<const QTextCodec*>(context->argument(0)); | ||||
127 | QFlags<QTextCodec::ConversionFlag> _q_arg1 = qscriptvalue_cast<QFlags<QTextCodec::ConversionFlag> >(context->argument(1)); | ||||
128 | QTextEncoder* _q_cpp_result = new QTextEncoder(_q_arg0, _q_arg1); | ||||
129 | QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue(_q_cpp_result)); | ||||
130 | return _q_result; | ||||
131 | } | ||||
132 | break; | ||||
133 | | ||||
134 | default: | ||||
135 | Q_ASSERT(false); | ||||
136 | } | ||||
137 | return qtscript_QTextEncoder_throw_ambiguity_error_helper(context, | ||||
138 | qtscript_QTextEncoder_function_names[_id], | ||||
139 | qtscript_QTextEncoder_function_signatures[_id]); | ||||
140 | } | ||||
141 | | ||||
142 | QScriptValue qtscript_create_QTextEncoder_class(QScriptEngine *engine) | ||||
143 | { | ||||
144 | engine->setDefaultPrototype(qMetaTypeId<QTextEncoder*>(), QScriptValue()); | ||||
145 | QScriptValue proto = engine->newVariant(qVariantFromValue((QTextEncoder*)0)); | ||||
146 | for (int i = 0; i < 3; ++i) { | ||||
147 | QScriptValue fun = engine->newFunction(qtscript_QTextEncoder_prototype_call, qtscript_QTextEncoder_function_lengths[i+1]); | ||||
148 | fun.setData(QScriptValue(engine, uint(0xBABE0000 + i))); | ||||
149 | proto.setProperty(QString::fromLatin1(qtscript_QTextEncoder_function_names[i+1]), | ||||
150 | fun, QScriptValue::SkipInEnumeration); | ||||
151 | } | ||||
152 | | ||||
153 | engine->setDefaultPrototype(qMetaTypeId<QTextEncoder*>(), proto); | ||||
154 | | ||||
155 | QScriptValue ctor = engine->newFunction(qtscript_QTextEncoder_static_call, proto, qtscript_QTextEncoder_function_lengths[0]); | ||||
156 | ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0))); | ||||
157 | | ||||
158 | return ctor; | ||||
159 | } |