Kross::Object Class Reference

#include <object.h>

Inheritance diagram for Kross::Object:

Public Types

typedef QExplicitlySharedDataPointer< ObjectPtr

Public Member Functions

 Object ()
 Object (const Object &other)
virtual ~Object ()
virtual QVariant callMethod (const QString &name, const QVariantList &args=QVariantList())
virtual QStringList methodNames ()
virtual void virtual_hook (int id, void *ptr)
- Public Member Functions inherited from QSharedData
 QSharedData (const QSharedData &)
- Public Member Functions inherited from Kross::ErrorInterface
 ErrorInterface ()
void clearError ()
long errorLineNo () const
const QString errorMessage () const
const QString errorTrace () const
bool hadError () const
void setError (const QString &errormessage, const QString &tracemessage=QString(), long lineno=-1)
void setError (ErrorInterface *error)

Detailed Description

The class Object does provide us scripting objects like class instances to the C++ world.

This class implementates reference counting for shared objects. So, no need to take care of freeing objects.

Sample that does use the Object functionality to pass a Javascript classinstance to C++ code which then calls a method the classinstance provides.

class MyObject : public QObject
public Q_SLOTS:
QVariant myFunction(Kross::Object::Ptr obj) {
QVariantList args;
return obj->callMethod("myMethod", args);
function MyClass(result) {
this.myMethod = function() {
return result;
var myclass = new MyClass("my string");
var r = MyObject.myFunction(myclass);
print(r); // prints "my string"

Definition at line 69 of file object.h.

Member Typedef Documentation

Shared pointer to implement reference-counting.

Definition at line 76 of file object.h.

Constructor & Destructor Documentation

Object::Object ( )

Default constructor.

Definition at line 29 of file object.cpp.

Object::Object ( const Object other)

Copy constructor.

Definition at line 36 of file object.cpp.

Object::~Object ( )


Definition at line 44 of file object.cpp.

Member Function Documentation

QVariant Object::callMethod ( const QString name,
const QVariantList &  args = QVariantList() 

Pass a call to the object and evaluated it.

nameEach call has a name that says what should be called.
argsThe optional list of arguments passed to the call.
The call-result as QVariant.

Definition at line 49 of file object.cpp.

QStringList Object::methodNames ( )

Return a list of supported callable objects.

List of supported calls.

Definition at line 56 of file object.cpp.

void Object::virtual_hook ( int  id,
void *  ptr 

used virtual hook to easier the job to keep binary compatibility.

Definition at line 61 of file object.cpp.

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Sep 25 2020 23:00:00 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.