KJS

kjsobject.h
1 /*
2  * This file is part of the KDE libraries
3  * Copyright (C) 2008 Harri Porten ([email protected])
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  *
20  */
21 
22 #ifndef KJSOBJECT_H
23 #define KJSOBJECT_H
24 
25 #include "kjsapi_export.h"
26 #include <QString>
27 
28 class QDateTime;
29 class KJSContext;
30 class KJSNull;
31 class KJSUndefined;
32 class KJSBoolean;
33 class KJSNumber;
34 class KJSString;
35 class KJSArray;
36 class KJSDate;
37 class KJSArguments;
38 class KJSInterpreter;
39 class KJSObjectHandle;
40 class KJSCustomProperty;
41 class KJSCustomFunction;
42 
48 class KJSAPI_EXPORT KJSObject
49 {
50  friend class KJSNull;
51  friend class KJSUndefined;
52  friend class KJSBoolean;
53  friend class KJSNumber;
54  friend class KJSString;
55  friend class KJSArray;
56  friend class KJSDate;
57  friend class KJSGlobalObject;
58  friend class KJSPrototype;
59  friend class KJSContext;
60  friend class KJSArguments;
61  friend class KJSInterpreter;
62  friend class KJSCustomProperty;
63  friend class KJSCustomFunction;
64 public:
68  KJSObject();
72  KJSObject(const KJSObject &o);
76  KJSObject &operator=(const KJSObject &o);
80  ~KJSObject();
84  bool isUndefined() const;
88  bool isNull() const;
92  bool isBoolean() const;
96  bool isNumber() const;
100  bool isString() const;
104  bool isObject() const;
105 
110  bool toBoolean(KJSContext *ctx);
115  double toNumber(KJSContext *ctx);
121  int toInt32(KJSContext *ctx);
126  QString toString(KJSContext *ctx);
131  KJSObject property(KJSContext *ctx, const QString &name);
136  void setProperty(KJSContext *ctx, const QString &name,
137  const KJSObject &value);
141  void setProperty(KJSContext *ctx, const QString &name, bool value);
145  void setProperty(KJSContext *ctx, const QString &name, double value);
149  void setProperty(KJSContext *ctx, const QString &name, int value);
153  void setProperty(KJSContext *ctx, const QString &name,
154  const QString &value);
160  void setProperty(KJSContext *ctx, const QString &name,
161  const char *value);
162 
163 private:
164  KJSObject(KJSObjectHandle *h) : hnd(h) { }
165  KJSObjectHandle *hnd;
166 };
167 
173 class KJSAPI_EXPORT KJSNull : public KJSObject
174 {
175 public:
179  KJSNull();
180 };
181 
187 class KJSAPI_EXPORT KJSUndefined : public KJSObject
188 {
189 public:
193  KJSUndefined();
194 };
195 
201 class KJSAPI_EXPORT KJSBoolean : public KJSObject
202 {
203 public:
207  KJSBoolean(bool b);
208 };
209 
215 class KJSAPI_EXPORT KJSNumber : public KJSObject
216 {
217 public:
221  KJSNumber(double d);
222 };
223 
229 class KJSAPI_EXPORT KJSString : public KJSObject
230 {
231 public:
235  KJSString(const QString &s);
243  KJSString(const char *s);
244 };
245 
251 class KJSAPI_EXPORT KJSArray : public KJSObject
252 {
253 public:
257  KJSArray(KJSContext *ctx, int len = 0);
258 };
259 
265 class KJSAPI_EXPORT KJSDate : public KJSObject
266 {
267 public:
271  KJSDate(KJSContext *ctx, const QDateTime &dt);
272 };
273 
279 class KJSAPI_EXPORT KJSGlobalObject : public KJSObject
280 {
281  friend class KJSPrototype;
282 public:
287  KJSGlobalObject();
288 
289 private:
290  KJSGlobalObject(KJSObjectHandle *h) : KJSObject(h) { }
291 };
292 
293 #endif
KJSObject()
Constructs a JavaScript object of the generic Object type.
Definition: kjsobject.cpp:36
A class representing a JavaScript null value.
Definition: kjsobject.h:173
A class representing an undefined JavaScript value.
Definition: kjsobject.h:187
A class representing a global object of an execution environment.
Definition: kjsobject.h:279
A class representing a JavaScript array object.
Definition: kjsobject.h:251
A class representing a JavaScript execution context.
Definition: kjscontext.h:41
A class representing a JavaScript date object.
Definition: kjsobject.h:265
A class representing a JavaScript interpreter.
A class representing a JavaScript number value.
Definition: kjsobject.h:215
A class representing a list of JavaScript arguments.
Definition: kjsarguments.h:36
A class representing a JavaScript value.
Definition: kjsobject.h:48
A class representing a JavaScript string value.
Definition: kjsobject.h:229
A class representing a JavaScript prototype object.
Definition: kjsprototype.h:38
QCA_EXPORT void setProperty(const QString &name, const QVariant &value)
A class representing a boolean JavaScript value.
Definition: kjsobject.h:201
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Sep 23 2020 23:00:47 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.