Differential D24817 Diff 68400 src/scripting/qtbindings/generated_cpp/com_trolltech_qt_core/qtscript_QMutex.cpp
Changeset View
Changeset View
Standalone View
Standalone View
src/scripting/qtbindings/generated_cpp/com_trolltech_qt_core/qtscript_QMutex.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 <qmutex.h> | ||||
10 | #include <QVariant> | ||||
11 | #include <qmutex.h> | ||||
12 | | ||||
13 | static const char * const qtscript_QMutex_function_names[] = { | ||||
14 | "QMutex" | ||||
15 | // static | ||||
16 | // prototype | ||||
17 | , "tryLock" | ||||
18 | , "toString" | ||||
19 | }; | ||||
20 | | ||||
21 | static const char * const qtscript_QMutex_function_signatures[] = { | ||||
22 | "RecursionMode mode" | ||||
23 | // static | ||||
24 | // prototype | ||||
25 | , "int timeout" | ||||
26 | "" | ||||
27 | }; | ||||
28 | | ||||
29 | static const int qtscript_QMutex_function_lengths[] = { | ||||
30 | 1 | ||||
31 | // static | ||||
32 | // prototype | ||||
33 | , 1 | ||||
34 | , 0 | ||||
35 | }; | ||||
36 | | ||||
37 | static QScriptValue qtscript_QMutex_throw_ambiguity_error_helper( | ||||
38 | QScriptContext *context, const char *functionName, const char *signatures) | ||||
39 | { | ||||
40 | QStringList lines = QString::fromLatin1(signatures).split(QLatin1Char('\n')); | ||||
41 | QStringList fullSignatures; | ||||
42 | for (int i = 0; i < lines.size(); ++i) | ||||
43 | fullSignatures.append(QString::fromLatin1("%0(%1)").arg(functionName).arg(lines.at(i))); | ||||
44 | return context->throwError(QString::fromLatin1("QMutex::%0(): could not find a function match; candidates are:\n%1") | ||||
45 | .arg(functionName).arg(fullSignatures.join(QLatin1String("\n")))); | ||||
46 | } | ||||
47 | | ||||
48 | Q_DECLARE_METATYPE(QMutex*) | ||||
49 | Q_DECLARE_METATYPE(QMutex::RecursionMode) | ||||
50 | Q_DECLARE_METATYPE(QBasicMutex*) | ||||
51 | | ||||
52 | static QScriptValue qtscript_create_enum_class_helper( | ||||
53 | QScriptEngine *engine, | ||||
54 | QScriptEngine::FunctionSignature construct, | ||||
55 | QScriptEngine::FunctionSignature valueOf, | ||||
56 | QScriptEngine::FunctionSignature toString) | ||||
57 | { | ||||
58 | QScriptValue proto = engine->newObject(); | ||||
59 | proto.setProperty(QString::fromLatin1("valueOf"), | ||||
60 | engine->newFunction(valueOf), QScriptValue::SkipInEnumeration); | ||||
61 | proto.setProperty(QString::fromLatin1("toString"), | ||||
62 | engine->newFunction(toString), QScriptValue::SkipInEnumeration); | ||||
63 | return engine->newFunction(construct, proto, 1); | ||||
64 | } | ||||
65 | | ||||
66 | // | ||||
67 | // QMutex::RecursionMode | ||||
68 | // | ||||
69 | | ||||
70 | static const QMutex::RecursionMode qtscript_QMutex_RecursionMode_values[] = { | ||||
71 | QMutex::NonRecursive | ||||
72 | , QMutex::Recursive | ||||
73 | }; | ||||
74 | | ||||
75 | static const char * const qtscript_QMutex_RecursionMode_keys[] = { | ||||
76 | "NonRecursive" | ||||
77 | , "Recursive" | ||||
78 | }; | ||||
79 | | ||||
80 | static QString qtscript_QMutex_RecursionMode_toStringHelper(QMutex::RecursionMode value) | ||||
81 | { | ||||
82 | if ((value >= QMutex::NonRecursive) && (value <= QMutex::Recursive)) | ||||
83 | return qtscript_QMutex_RecursionMode_keys[static_cast<int>(value)-static_cast<int>(QMutex::NonRecursive)]; | ||||
84 | return QString(); | ||||
85 | } | ||||
86 | | ||||
87 | static QScriptValue qtscript_QMutex_RecursionMode_toScriptValue(QScriptEngine *engine, const QMutex::RecursionMode &value) | ||||
88 | { | ||||
89 | QScriptValue clazz = engine->globalObject().property(QString::fromLatin1("QMutex")); | ||||
90 | return clazz.property(qtscript_QMutex_RecursionMode_toStringHelper(value)); | ||||
91 | } | ||||
92 | | ||||
93 | static void qtscript_QMutex_RecursionMode_fromScriptValue(const QScriptValue &value, QMutex::RecursionMode &out) | ||||
94 | { | ||||
95 | out = qvariant_cast<QMutex::RecursionMode>(value.toVariant()); | ||||
96 | } | ||||
97 | | ||||
98 | static QScriptValue qtscript_construct_QMutex_RecursionMode(QScriptContext *context, QScriptEngine *engine) | ||||
99 | { | ||||
100 | int arg = context->argument(0).toInt32(); | ||||
101 | if ((arg >= QMutex::NonRecursive) && (arg <= QMutex::Recursive)) | ||||
102 | return qScriptValueFromValue(engine, static_cast<QMutex::RecursionMode>(arg)); | ||||
103 | return context->throwError(QString::fromLatin1("RecursionMode(): invalid enum value (%0)").arg(arg)); | ||||
104 | } | ||||
105 | | ||||
106 | static QScriptValue qtscript_QMutex_RecursionMode_valueOf(QScriptContext *context, QScriptEngine *engine) | ||||
107 | { | ||||
108 | QMutex::RecursionMode value = qscriptvalue_cast<QMutex::RecursionMode>(context->thisObject()); | ||||
109 | return QScriptValue(engine, static_cast<int>(value)); | ||||
110 | } | ||||
111 | | ||||
112 | static QScriptValue qtscript_QMutex_RecursionMode_toString(QScriptContext *context, QScriptEngine *engine) | ||||
113 | { | ||||
114 | QMutex::RecursionMode value = qscriptvalue_cast<QMutex::RecursionMode>(context->thisObject()); | ||||
115 | return QScriptValue(engine, qtscript_QMutex_RecursionMode_toStringHelper(value)); | ||||
116 | } | ||||
117 | | ||||
118 | static QScriptValue qtscript_create_QMutex_RecursionMode_class(QScriptEngine *engine, QScriptValue &clazz) | ||||
119 | { | ||||
120 | QScriptValue ctor = qtscript_create_enum_class_helper( | ||||
121 | engine, qtscript_construct_QMutex_RecursionMode, | ||||
122 | qtscript_QMutex_RecursionMode_valueOf, qtscript_QMutex_RecursionMode_toString); | ||||
123 | qScriptRegisterMetaType<QMutex::RecursionMode>(engine, qtscript_QMutex_RecursionMode_toScriptValue, | ||||
124 | qtscript_QMutex_RecursionMode_fromScriptValue, ctor.property(QString::fromLatin1("prototype"))); | ||||
125 | for (int i = 0; i < 2; ++i) { | ||||
126 | clazz.setProperty(QString::fromLatin1(qtscript_QMutex_RecursionMode_keys[i]), | ||||
127 | engine->newVariant(qVariantFromValue(qtscript_QMutex_RecursionMode_values[i])), | ||||
128 | QScriptValue::ReadOnly | QScriptValue::Undeletable); | ||||
129 | } | ||||
130 | return ctor; | ||||
131 | } | ||||
132 | | ||||
133 | // | ||||
134 | // QMutex | ||||
135 | // | ||||
136 | | ||||
137 | static QScriptValue qtscript_QMutex_prototype_call(QScriptContext *context, QScriptEngine *) | ||||
138 | { | ||||
139 | #if QT_VERSION > 0x040400 | ||||
140 | Q_ASSERT(context->callee().isFunction()); | ||||
141 | uint _id = context->callee().data().toUInt32(); | ||||
142 | #else | ||||
143 | uint _id; | ||||
144 | if (context->callee().isFunction()) | ||||
145 | _id = context->callee().data().toUInt32(); | ||||
146 | else | ||||
147 | _id = 0xBABE0000 + 1; | ||||
148 | #endif | ||||
149 | Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000); | ||||
150 | _id &= 0x0000FFFF; | ||||
151 | QMutex* _q_self = qscriptvalue_cast<QMutex*>(context->thisObject()); | ||||
152 | if (!_q_self) { | ||||
153 | return context->throwError(QScriptContext::TypeError, | ||||
154 | QString::fromLatin1("QMutex.%0(): this object is not a QMutex") | ||||
155 | .arg(qtscript_QMutex_function_names[_id+1])); | ||||
156 | } | ||||
157 | | ||||
158 | switch (_id) { | ||||
159 | case 0: | ||||
160 | if (context->argumentCount() == 1) { | ||||
161 | int _q_arg0 = context->argument(0).toInt32(); | ||||
162 | bool _q_result = _q_self->tryLock(_q_arg0); | ||||
163 | return QScriptValue(context->engine(), _q_result); | ||||
164 | } | ||||
165 | break; | ||||
166 | | ||||
167 | case 1: { | ||||
168 | QString result = QString::fromLatin1("QMutex"); | ||||
169 | return QScriptValue(context->engine(), result); | ||||
170 | } | ||||
171 | | ||||
172 | default: | ||||
173 | Q_ASSERT(false); | ||||
174 | } | ||||
175 | return qtscript_QMutex_throw_ambiguity_error_helper(context, | ||||
176 | qtscript_QMutex_function_names[_id+1], | ||||
177 | qtscript_QMutex_function_signatures[_id+1]); | ||||
178 | } | ||||
179 | | ||||
180 | static QScriptValue qtscript_QMutex_static_call(QScriptContext *context, QScriptEngine *) | ||||
181 | { | ||||
182 | uint _id = context->callee().data().toUInt32(); | ||||
183 | Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000); | ||||
184 | _id &= 0x0000FFFF; | ||||
185 | switch (_id) { | ||||
186 | case 0: | ||||
187 | if (context->thisObject().strictlyEquals(context->engine()->globalObject())) { | ||||
188 | return context->throwError(QString::fromLatin1("QMutex(): Did you forget to construct with 'new'?")); | ||||
189 | } | ||||
190 | if (context->argumentCount() == 0) { | ||||
191 | QMutex* _q_cpp_result = new QMutex(); | ||||
192 | QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue(_q_cpp_result)); | ||||
193 | return _q_result; | ||||
194 | } else if (context->argumentCount() == 1) { | ||||
195 | QMutex::RecursionMode _q_arg0 = qscriptvalue_cast<QMutex::RecursionMode>(context->argument(0)); | ||||
196 | QMutex* _q_cpp_result = new QMutex(_q_arg0); | ||||
197 | QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue(_q_cpp_result)); | ||||
198 | return _q_result; | ||||
199 | } | ||||
200 | break; | ||||
201 | | ||||
202 | default: | ||||
203 | Q_ASSERT(false); | ||||
204 | } | ||||
205 | return qtscript_QMutex_throw_ambiguity_error_helper(context, | ||||
206 | qtscript_QMutex_function_names[_id], | ||||
207 | qtscript_QMutex_function_signatures[_id]); | ||||
208 | } | ||||
209 | | ||||
210 | QScriptValue qtscript_create_QMutex_class(QScriptEngine *engine) | ||||
211 | { | ||||
212 | engine->setDefaultPrototype(qMetaTypeId<QMutex*>(), QScriptValue()); | ||||
213 | QScriptValue proto = engine->newVariant(qVariantFromValue((QMutex*)0)); | ||||
214 | proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QBasicMutex*>())); | ||||
215 | for (int i = 0; i < 2; ++i) { | ||||
216 | QScriptValue fun = engine->newFunction(qtscript_QMutex_prototype_call, qtscript_QMutex_function_lengths[i+1]); | ||||
217 | fun.setData(QScriptValue(engine, uint(0xBABE0000 + i))); | ||||
218 | proto.setProperty(QString::fromLatin1(qtscript_QMutex_function_names[i+1]), | ||||
219 | fun, QScriptValue::SkipInEnumeration); | ||||
220 | } | ||||
221 | | ||||
222 | engine->setDefaultPrototype(qMetaTypeId<QMutex*>(), proto); | ||||
223 | | ||||
224 | QScriptValue ctor = engine->newFunction(qtscript_QMutex_static_call, proto, qtscript_QMutex_function_lengths[0]); | ||||
225 | ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0))); | ||||
226 | | ||||
227 | ctor.setProperty(QString::fromLatin1("RecursionMode"), | ||||
228 | qtscript_create_QMutex_RecursionMode_class(engine, ctor)); | ||||
229 | return ctor; | ||||
230 | } |