~ubuntu-branches/debian/jessie/ugene/jessie

« back to all changes in this revision

Viewing changes to src/libs_3rdparty/qtbindings_xml/src/qtscript_QXmlDefaultHandler.cpp

  • Committer: Package Import Robot
  • Author(s): Steffen Moeller
  • Date: 2011-11-02 13:29:07 UTC
  • mfrom: (1.2.1) (3.1.11 natty)
  • Revision ID: package-import@ubuntu.com-20111102132907-o34gwnt0uj5g6hen
Tags: 1.9.8+repack-1
* First release to Debian
  - added README.Debian
  - increased policy version to 3.9.2
  - added URLs for version control system
* Added debug package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************
2
 
* Unipro UGENE - Integrated Bioinformatics Suite
3
 
* Copyright (C) 2008 Unipro, Russia (http://ugene.unipro.ru)
4
 
* All Rights Reserved
5
 
6
 
*     This source code is distributed under the terms of the
7
 
*     GNU General Public License. See the files COPYING and LICENSE
8
 
*     for details.
9
 
*****************************************************************/
10
 
 
11
 
#include <QtScript/QScriptEngine>
12
 
#include <QtScript/QScriptContext>
13
 
#include <QtScript/QScriptValue>
14
 
#include <QtCore/QStringList>
15
 
#include <QtCore/QDebug>
16
 
#include <qmetaobject.h>
17
 
 
18
 
#include <qxml.h>
19
 
#include <QVariant>
20
 
#include <qxml.h>
21
 
 
22
 
#include "qtscriptshell_QXmlDefaultHandler.h"
23
 
 
24
 
static const char * const qtscript_QXmlDefaultHandler_function_names[] = {
25
 
    "QXmlDefaultHandler"
26
 
    // static
27
 
    // prototype
28
 
    , "toString"
29
 
};
30
 
 
31
 
static const char * const qtscript_QXmlDefaultHandler_function_signatures[] = {
32
 
    ""
33
 
    // static
34
 
    // prototype
35
 
""
36
 
};
37
 
 
38
 
static QScriptValue qtscript_QXmlDefaultHandler_throw_ambiguity_error_helper(
39
 
    QScriptContext *context, const char *functionName, const char *signatures)
40
 
{
41
 
    QStringList lines = QString::fromLatin1(signatures).split(QLatin1Char('\n'));
42
 
    QStringList fullSignatures;
43
 
    for (int i = 0; i < lines.size(); ++i)
44
 
        fullSignatures.append(QString::fromLatin1("%0(%1)").arg(functionName).arg(lines.at(i)));
45
 
    return context->throwError(QString::fromLatin1("QFile::%0(): could not find a function match; candidates are:\n%1")
46
 
        .arg(functionName).arg(fullSignatures.join(QLatin1String("\n"))));
47
 
}
48
 
 
49
 
Q_DECLARE_METATYPE(QXmlDefaultHandler*)
50
 
Q_DECLARE_METATYPE(QtScriptShell_QXmlDefaultHandler*)
51
 
Q_DECLARE_METATYPE(QXmlContentHandler*)
52
 
Q_DECLARE_METATYPE(QXmlErrorHandler*)
53
 
Q_DECLARE_METATYPE(QXmlDTDHandler*)
54
 
Q_DECLARE_METATYPE(QXmlEntityResolver*)
55
 
Q_DECLARE_METATYPE(QXmlLexicalHandler*)
56
 
Q_DECLARE_METATYPE(QXmlDeclHandler*)
57
 
 
58
 
//
59
 
// QXmlDefaultHandler
60
 
//
61
 
 
62
 
static QScriptValue qtscript_QXmlDefaultHandler_prototype_call(QScriptContext *context, QScriptEngine *)
63
 
{
64
 
#if QT_VERSION > 0x040400
65
 
    Q_ASSERT(context->callee().isFunction());
66
 
    uint _id = context->callee().data().toUInt32();
67
 
#else
68
 
    uint _id;
69
 
    if (context->callee().isFunction())
70
 
        _id = context->callee().data().toUInt32();
71
 
    else
72
 
        _id = 0xBABE0000 + 0;
73
 
#endif
74
 
    Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000);
75
 
    _id &= 0x0000FFFF;
76
 
    QXmlDefaultHandler* _q_self = qscriptvalue_cast<QXmlDefaultHandler*>(context->thisObject());
77
 
    if (!_q_self) {
78
 
        return context->throwError(QScriptContext::TypeError,
79
 
            QString::fromLatin1("QXmlDefaultHandler.%0(): this object is not a QXmlDefaultHandler")
80
 
            .arg(qtscript_QXmlDefaultHandler_function_names[_id+1]));
81
 
    }
82
 
 
83
 
    switch (_id) {
84
 
    case 0: {
85
 
    QString result = QString::fromLatin1("QXmlDefaultHandler");
86
 
    return QScriptValue(context->engine(), result);
87
 
    }
88
 
 
89
 
    default:
90
 
    Q_ASSERT(false);
91
 
    }
92
 
    return qtscript_QXmlDefaultHandler_throw_ambiguity_error_helper(context,
93
 
        qtscript_QXmlDefaultHandler_function_names[_id+1],
94
 
        qtscript_QXmlDefaultHandler_function_signatures[_id+1]);
95
 
}
96
 
 
97
 
static QScriptValue qtscript_QXmlDefaultHandler_static_call(QScriptContext *context, QScriptEngine *)
98
 
{
99
 
    uint _id = context->callee().data().toUInt32();
100
 
    Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000);
101
 
    _id &= 0x0000FFFF;
102
 
    switch (_id) {
103
 
    case 0:
104
 
    if (context->thisObject().strictlyEquals(context->engine()->globalObject())) {
105
 
        return context->throwError(QString::fromLatin1("QXmlDefaultHandler(): Did you forget to construct with 'new'?"));
106
 
    }
107
 
    if (context->argumentCount() == 0) {
108
 
        QtScriptShell_QXmlDefaultHandler* _q_cpp_result = new QtScriptShell_QXmlDefaultHandler();
109
 
        QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue((QXmlDefaultHandler*)_q_cpp_result));
110
 
        _q_cpp_result->__qtscript_self = _q_result;
111
 
        return _q_result;
112
 
    }
113
 
    break;
114
 
 
115
 
    default:
116
 
    Q_ASSERT(false);
117
 
    }
118
 
    return qtscript_QXmlDefaultHandler_throw_ambiguity_error_helper(context,
119
 
        qtscript_QXmlDefaultHandler_function_names[_id],
120
 
        qtscript_QXmlDefaultHandler_function_signatures[_id]);
121
 
}
122
 
 
123
 
QScriptValue qtscript_create_QXmlDefaultHandler_class(QScriptEngine *engine)
124
 
{
125
 
    static const int function_lengths[] = {
126
 
        0
127
 
        // static
128
 
        // prototype
129
 
        , 0
130
 
    };
131
 
    engine->setDefaultPrototype(qMetaTypeId<QXmlDefaultHandler*>(), QScriptValue());
132
 
    QScriptValue proto = engine->newVariant(qVariantFromValue((QXmlDefaultHandler*)0));
133
 
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QXmlContentHandler*>()));
134
 
    proto.setProperty(QString::fromLatin1("__QXmlErrorHandler__"),
135
 
        engine->defaultPrototype(qMetaTypeId<QXmlErrorHandler*>()),
136
 
        QScriptValue::SkipInEnumeration);
137
 
    proto.setProperty(QString::fromLatin1("__QXmlDTDHandler__"),
138
 
        engine->defaultPrototype(qMetaTypeId<QXmlDTDHandler*>()),
139
 
        QScriptValue::SkipInEnumeration);
140
 
    proto.setProperty(QString::fromLatin1("__QXmlEntityResolver__"),
141
 
        engine->defaultPrototype(qMetaTypeId<QXmlEntityResolver*>()),
142
 
        QScriptValue::SkipInEnumeration);
143
 
    proto.setProperty(QString::fromLatin1("__QXmlLexicalHandler__"),
144
 
        engine->defaultPrototype(qMetaTypeId<QXmlLexicalHandler*>()),
145
 
        QScriptValue::SkipInEnumeration);
146
 
    proto.setProperty(QString::fromLatin1("__QXmlDeclHandler__"),
147
 
        engine->defaultPrototype(qMetaTypeId<QXmlDeclHandler*>()),
148
 
        QScriptValue::SkipInEnumeration);
149
 
 
150
 
    engine->setDefaultPrototype(qMetaTypeId<QXmlDefaultHandler*>(), proto);
151
 
 
152
 
    QScriptValue ctor = engine->newFunction(qtscript_QXmlDefaultHandler_static_call, proto, function_lengths[0]);
153
 
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));
154
 
 
155
 
    return ctor;
156
 
}