summaryrefslogtreecommitdiff
path: root/src/script/bridge/qscriptobject_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/bridge/qscriptobject_p.h')
-rw-r--r--src/script/bridge/qscriptobject_p.h176
1 files changed, 0 insertions, 176 deletions
diff --git a/src/script/bridge/qscriptobject_p.h b/src/script/bridge/qscriptobject_p.h
deleted file mode 100644
index c9613ea..0000000
--- a/src/script/bridge/qscriptobject_p.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtScript module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL-ONLY$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSCRIPTOBJECT_P_H
-#define QSCRIPTOBJECT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/qobjectdefs.h>
-
-#include "JSObject.h"
-
-QT_BEGIN_NAMESPACE
-
-class QScriptObjectDelegate;
-
-class QScriptObject : public JSC::JSObject
-{
-public:
- // work around CELL_SIZE limitation
- struct Data
- {
- JSC::JSValue data; // QScriptValue::data
- QScriptObjectDelegate *delegate;
- bool isMarking; // recursion guard
-
- Data() : delegate(0), isMarking(false) {}
- ~Data();
- };
-
- explicit QScriptObject(WTF::PassRefPtr<JSC::Structure> sid);
- virtual ~QScriptObject();
-
- virtual bool getOwnPropertySlot(JSC::ExecState*,
- const JSC::Identifier& propertyName,
- JSC::PropertySlot&);
- virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
- virtual void put(JSC::ExecState* exec, const JSC::Identifier& propertyName,
- JSC::JSValue, JSC::PutPropertySlot&);
- virtual bool deleteProperty(JSC::ExecState*,
- const JSC::Identifier& propertyName);
- virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&,
- JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);
- virtual void markChildren(JSC::MarkStack& markStack);
- virtual JSC::CallType getCallData(JSC::CallData&);
- virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
- virtual bool hasInstance(JSC::ExecState*, JSC::JSValue value, JSC::JSValue proto);
- virtual bool compareToObject(JSC::ExecState*, JSC::JSObject*);
-
- virtual const JSC::ClassInfo* classInfo() const { return &info; }
- static const JSC::ClassInfo info;
-
- static WTF::PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags));
- }
-
- inline JSC::JSValue data() const;
- inline void setData(JSC::JSValue data);
-
- inline QScriptObjectDelegate *delegate() const;
- inline void setDelegate(QScriptObjectDelegate *delegate);
-
-protected:
- static const unsigned StructureFlags = JSC::ImplementsHasInstance | JSC::OverridesHasInstance | JSC::OverridesGetOwnPropertySlot | JSC::OverridesMarkChildren | JSC::OverridesGetPropertyNames | JSObject::StructureFlags;
-
- Data *d;
-};
-
-class QScriptObjectPrototype : public QScriptObject
-{
-public:
- QScriptObjectPrototype(JSC::ExecState*, WTF::PassRefPtr<JSC::Structure>,
- JSC::Structure* prototypeFunctionStructure);
-};
-
-class QScriptObjectDelegate
-{
-public:
- enum Type {
- QtObject,
- Variant,
- ClassObject,
- DeclarativeClassObject
- };
-
- QScriptObjectDelegate();
- virtual ~QScriptObjectDelegate();
-
- virtual Type type() const = 0;
-
- virtual bool getOwnPropertySlot(QScriptObject*, JSC::ExecState*,
- const JSC::Identifier& propertyName,
- JSC::PropertySlot&);
- virtual bool getOwnPropertyDescriptor(QScriptObject*, JSC::ExecState*,
- const JSC::Identifier& propertyName,
- JSC::PropertyDescriptor&);
- virtual void put(QScriptObject*, JSC::ExecState* exec, const JSC::Identifier& propertyName,
- JSC::JSValue, JSC::PutPropertySlot&);
- virtual bool deleteProperty(QScriptObject*, JSC::ExecState*,
- const JSC::Identifier& propertyName);
- virtual void getOwnPropertyNames(QScriptObject*, JSC::ExecState*, JSC::PropertyNameArray&,
- JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);
- virtual void markChildren(QScriptObject*, JSC::MarkStack& markStack);
- virtual JSC::CallType getCallData(QScriptObject*, JSC::CallData&);
- virtual JSC::ConstructType getConstructData(QScriptObject*, JSC::ConstructData&);
- virtual bool hasInstance(QScriptObject*, JSC::ExecState*,
- JSC::JSValue value, JSC::JSValue proto);
- virtual bool compareToObject(QScriptObject*, JSC::ExecState*, JSC::JSObject*);
-
-private:
- Q_DISABLE_COPY(QScriptObjectDelegate)
-};
-
-inline JSC::JSValue QScriptObject::data() const
-{
- if (!d)
- return JSC::JSValue();
- return d->data;
-}
-
-inline void QScriptObject::setData(JSC::JSValue data)
-{
- if (!d)
- d = new Data();
- d->data = data;
-}
-
-inline QScriptObjectDelegate *QScriptObject::delegate() const
-{
- if (!d)
- return 0;
- return d->delegate;
-}
-
-inline void QScriptObject::setDelegate(QScriptObjectDelegate *delegate)
-{
- if (!d)
- d = new Data();
- else
- delete d->delegate;
- d->delegate = delegate;
-}
-
-QT_END_NAMESPACE
-
-#endif