QtScript/qscriptclass.h Source File

qscriptclass.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 QtScript 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 QSCRIPTCLASS_H
25 #define QSCRIPTCLASS_H
26 
27 #include <QtCore/qstring.h>
28 
29 #include <QtCore/qvariant.h>
30 #include <QtCore/qscopedpointer.h>
31 #include <QtScript/qscriptvalue.h>
32 
34 
36 
37 QT_MODULE(Script)
38 
39 class QScriptString;
41 
42 class QScriptClassPrivate;
43 class Q_SCRIPT_EXPORT QScriptClass
44 {
45 public:
46  enum QueryFlag {
47  HandlesReadAccess = 0x01,
48  HandlesWriteAccess = 0x02
49  };
50  Q_DECLARE_FLAGS(QueryFlags, QueryFlag)
51 
52  enum Extension {
54  HasInstance
55  };
56 
57  QScriptClass(QScriptEngine *engine);
58  virtual ~QScriptClass();
59 
60  QScriptEngine *engine() const;
61 
62  virtual QueryFlags queryProperty(const QScriptValue &object,
63  const QScriptString &name,
64  QueryFlags flags, uint *id);
65 
66  virtual QScriptValue property(const QScriptValue &object,
67  const QScriptString &name, uint id);
68 
69  virtual void setProperty(QScriptValue &object, const QScriptString &name,
70  uint id, const QScriptValue &value);
71 
72  virtual QScriptValue::PropertyFlags propertyFlags(
73  const QScriptValue &object, const QScriptString &name, uint id);
74 
75  virtual QScriptClassPropertyIterator *newIterator(const QScriptValue &object);
76 
77  virtual QScriptValue prototype() const;
78 
79  virtual QString name() const;
80 
81  virtual bool supportsExtension(Extension extension) const;
82  virtual QVariant extension(Extension extension,
83  const QVariant &argument = QVariant());
84 
85 protected:
86  QScriptClass(QScriptEngine *engine, QScriptClassPrivate &dd);
88 
89 private:
90  Q_DECLARE_PRIVATE(QScriptClass)
91  Q_DISABLE_COPY(QScriptClass)
92 };
93 
94 Q_DECLARE_OPERATORS_FOR_FLAGS(QScriptClass::QueryFlags)
95 
97 
99 
100 #endif
#define QT_END_NAMESPACE
Definition: qglobal.h:128
#define QT_BEGIN_HEADER
Definition: qglobal.h:141
QScopedPointer< QScriptClassPrivate > d_ptr
Definition: qscriptclass.h:87
#define QT_BEGIN_NAMESPACE
Definition: qglobal.h:127
GLsizei const GLfloat * value
Definition: GLee.h:1742
GLuint const GLchar * name
Definition: GLee.h:1704
#define QT_END_HEADER
Definition: qglobal.h:142