/**************************************************************************** ** ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** ** This file is part of the $MODULE$ of the Qt Toolkit. ** ** $TROLLTECH_DUAL_LICENSE$ ** ****************************************************************************/ #ifndef QSCRIPTCONTEXTINFO_H #define QSCRIPTCONTEXTINFO_H #include #ifndef QT_NO_SCRIPT #include #include QT_BEGIN_HEADER QT_BEGIN_NAMESPACE QT_MODULE(Script) class QScriptContext; #ifndef QT_NO_DATASTREAM class QDataStream; #endif class QScriptContextInfoPrivate; class Q_SCRIPT_EXPORT QScriptContextInfo { public: #ifndef QT_NO_DATASTREAM friend Q_SCRIPT_EXPORT QDataStream &operator<<(QDataStream &, const QScriptContextInfo &); friend Q_SCRIPT_EXPORT QDataStream &operator>>(QDataStream &, QScriptContextInfo &); #endif enum FunctionType { ScriptFunction, QtFunction, QtPropertyFunction, NativeFunction }; QScriptContextInfo(const QScriptContext *context); QScriptContextInfo(const QScriptContextInfo &other); QScriptContextInfo(); ~QScriptContextInfo(); QScriptContextInfo &operator=(const QScriptContextInfo &other); bool isNull() const; qint64 scriptId() const; QString fileName() const; int lineNumber() const; int columnNumber() const; QString functionName() const; FunctionType functionType() const; QStringList functionParameterNames() const; int functionStartLineNumber() const; int functionEndLineNumber() const; int functionMetaIndex() const; bool operator==(const QScriptContextInfo &other) const; bool operator!=(const QScriptContextInfo &other) const; private: QScriptContextInfoPrivate *d_ptr; Q_DECLARE_PRIVATE(QScriptContextInfo) }; typedef QList QScriptContextInfoList; #ifndef QT_NO_DATASTREAM Q_SCRIPT_EXPORT QDataStream &operator<<(QDataStream &, const QScriptContextInfo &); Q_SCRIPT_EXPORT QDataStream &operator>>(QDataStream &, QScriptContextInfo &); #endif QT_END_NAMESPACE QT_END_HEADER #endif // QT_NO_SCRIPT #endif