Kross::Object

Search for usage in LXR

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 implements 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"
Since
4.1

Definition at line 86 of file object.h.

Member Typedef Documentation

◆ Ptr

Shared pointer to implement reference-counting.

Definition at line 110 of file object.h.

Constructor & Destructor Documentation

◆ Object() [1/2]

Object::Object ( )
explicit

Default constructor.

Definition at line 29 of file object.cpp.

◆ Object() [2/2]

Object::Object ( const Object other)

Copy constructor.

Definition at line 36 of file object.cpp.

◆ ~Object()

Object::~Object ( )
virtual

Destructor.

Definition at line 44 of file object.cpp.

Member Function Documentation

◆ callMethod()

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

Pass a call to the object and evaluated it.

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

Definition at line 49 of file object.cpp.

◆ methodNames()

QStringList Object::methodNames ( )
virtual

Return a list of supported callable objects.

Returns
List of supported calls.

Definition at line 56 of file object.cpp.

◆ virtual_hook()

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

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:
QAction * print(const QObject *recvr, const char *slot, QObject *parent)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Oct 1 2023 03:59:34 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.