Qt 4.8
qt-4.8.6
src
script
bridge
qscriptdeclarativeobject_p.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the QtDeclarative module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL-ONLY$
9
** GNU Lesser General Public License Usage
10
** This file may be used under the terms of the GNU Lesser
11
** General Public License version 2.1 as published by the Free Software
12
** Foundation and appearing in the file LICENSE.LGPL included in the
13
** packaging of this file. Please review the following information to
14
** ensure the GNU Lesser General Public License version 2.1 requirements
15
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
16
**
17
** If you have questions regarding the use of this file, please contact
18
** us via http://www.qt-project.org/.
19
**
20
** $QT_END_LICENSE$
21
**
22
****************************************************************************/
23
24
#ifndef QSCRIPTDECLARATIVEOBJECT_P_H
25
#define QSCRIPTDECLARATIVEOBJECT_P_H
26
27
//
28
// W A R N I N G
29
// -------------
30
//
31
// This file is not part of the Qt API. It exists purely as an
32
// implementation detail. This header file may change from version to
33
// version without notice, or even be removed.
34
//
35
// We mean it.
36
//
37
38
#include <QtCore/qobjectdefs.h>
39
40
#include "config.h"
41
#include "
qscriptobject_p.h
"
42
#include "
qscriptdeclarativeclass_p.h
"
43
44
QT_BEGIN_NAMESPACE
45
46
class
QScriptClass
;
47
48
class
QScriptDeclarativeClassPrivate
49
{
50
public
:
51
QScriptDeclarativeClassPrivate
() :
engine
(0),
q_ptr
(0),
context
(0),
supportsCall
(false) {}
52
53
QScriptEngine
*
engine
;
54
QScriptDeclarativeClass
*
q_ptr
;
55
QScriptContext
*
context
;
56
bool
supportsCall
:1;
57
58
static
QScriptDeclarativeClassPrivate
*
get
(
QScriptDeclarativeClass
*
c
) {
59
return
c
->d_ptr.data();
60
}
61
};
62
63
namespace
QScript
64
{
65
66
class
DeclarativeObjectDelegate
:
public
QScriptObjectDelegate
67
{
68
public
:
69
DeclarativeObjectDelegate
(
QScriptDeclarativeClass
*
c
,
QScriptDeclarativeClass::Object
*o);
70
~
DeclarativeObjectDelegate
();
71
72
virtual
Type
type
()
const
;
73
74
QScriptDeclarativeClass
*
scriptClass
()
const
{
return
m_class; }
75
QScriptDeclarativeClass::Object
*
object
()
const
{
return
m_object; }
76
77
virtual
bool
getOwnPropertySlot(
QScriptObject
*, JSC::ExecState*,
78
const
JSC::Identifier& propertyName,
79
JSC::PropertySlot&);
80
virtual
void
put(
QScriptObject
*, JSC::ExecState* exec,
81
const
JSC::Identifier& propertyName,
82
JSC::JSValue, JSC::PutPropertySlot&);
83
virtual
bool
deleteProperty(
QScriptObject
*, JSC::ExecState*,
84
const
JSC::Identifier& propertyName);
85
virtual
void
getOwnPropertyNames(
QScriptObject
*, JSC::ExecState*,
86
JSC::PropertyNameArray&,
87
JSC::EnumerationMode mode = JSC::ExcludeDontEnumProperties);
88
89
virtual
JSC::CallType getCallData(
QScriptObject
*, JSC::CallData&);
90
static
JSC::JSValue JSC_HOST_CALL call(JSC::ExecState*, JSC::JSObject*,
91
JSC::JSValue,
const
JSC::ArgList&);
92
93
virtual
JSC::ConstructType getConstructData(
QScriptObject
*, JSC::ConstructData&);
94
95
virtual
bool
hasInstance(
QScriptObject
*, JSC::ExecState*,
96
JSC::JSValue value, JSC::JSValue proto);
97
98
bool
compareToObject(
QScriptObject
*, JSC::ExecState *, JSC::JSObject *);
99
100
private
:
101
QScriptDeclarativeClass
*
m_class
;
102
QScriptDeclarativeClass::Object
*
m_object
;
103
};
104
105
}
// namespace QScript
106
107
QT_END_NAMESPACE
108
109
#endif
QScriptContext
The QScriptContext class represents a Qt Script function invocation.
Definition:
qscriptcontext.h:39
QScriptObjectDelegate::Type
Type
Definition:
qscriptobject_p.h:109
qscriptdeclarativeclass_p.h
type
int type
Definition:
qmetatype.cpp:239
c
unsigned char c[8]
Definition:
qnumeric_p.h:62
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
QScriptClass
The QScriptClass class provides an interface for defining custom behavior of (a class of) Qt Script o...
Definition:
qscriptclass.h:43
QScriptDeclarativeClassPrivate::supportsCall
bool supportsCall
Definition:
qscriptdeclarativeobject_p.h:56
QScriptDeclarativeClass
Definition:
qscriptdeclarativeclass_p.h:47
QScript::DeclarativeObjectDelegate::object
QScriptDeclarativeClass::Object * object() const
Definition:
qscriptdeclarativeobject_p.h:75
QScript::DeclarativeObjectDelegate::m_class
QScriptDeclarativeClass * m_class
Definition:
qscriptdeclarativeobject_p.h:101
QScriptObject
Definition:
qscriptobject_p.h:46
QScriptObjectDelegate
Definition:
qscriptobject_p.h:106
QScriptEngine
The QScriptEngine class provides an environment for evaluating Qt Script code.
Definition:
qscriptengine.h:104
QScriptDeclarativeClassPrivate::QScriptDeclarativeClassPrivate
QScriptDeclarativeClassPrivate()
Definition:
qscriptdeclarativeobject_p.h:51
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QScriptDeclarativeClassPrivate::context
QScriptContext * context
Definition:
qscriptdeclarativeobject_p.h:55
qscriptobject_p.h
QScriptDeclarativeClassPrivate
Definition:
qscriptdeclarativeobject_p.h:48
QScript::DeclarativeObjectDelegate
Definition:
qscriptdeclarativeobject_p.h:66
QScriptDeclarativeClassPrivate::engine
QScriptEngine * engine
Definition:
qscriptdeclarativeobject_p.h:53
QScript::DeclarativeObjectDelegate::scriptClass
QScriptDeclarativeClass * scriptClass() const
Definition:
qscriptdeclarativeobject_p.h:74
QScriptDeclarativeClass::Object
Definition:
qscriptdeclarativeclass_p.h:80
QScript
Definition:
qscriptengine.cpp:363
QScriptDeclarativeClassPrivate::q_ptr
QScriptDeclarativeClass * q_ptr
Definition:
qscriptdeclarativeobject_p.h:54
QScript::DeclarativeObjectDelegate::m_object
QScriptDeclarativeClass::Object * m_object
Definition:
qscriptdeclarativeobject_p.h:102
Qt 4.8 Source Code Browser