Carousel
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Pages
Public Member Functions | Protected Slots | List of all members
ScriptingService Class Reference

It is default implementation of the IScriptingService and IScriptEngineFactory interfaces. More...

#include <ScriptingService.h>

Inherits IScriptingService, and IScriptEngineFactory.

Public Member Functions

 ScriptingService (IServiceLocator *locator, IComponentManager *manager, QObject *parent=nullptr)
 
IScriptConsoleconsole ()
 
QScriptEnginecreateEngine (IOutputHandler *output=nullptr, QObject *parent=nullptr)
 
IScriptEngineConfigurationDelegatedelegate ()
 
const
IScriptEngineConfigurationDelegate
delegate () const
 
IScriptCollectionscripts ()
 
void setDelegate (IScriptEngineConfigurationDelegate *delegate)
 
- Public Member Functions inherited from IScriptingService
 IScriptingService ()
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 
- Public Member Functions inherited from IScriptEngineFactory
 IScriptEngineFactory ()
 

Protected Slots

void onComponentManagerStartedUp ()
 
void onComponentStartedUp (IComponent *component)
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from IScriptingService
IScriptConsole console
 
IScriptCollection scripts
 
- Properties inherited from QObject
 objectName
 

Detailed Description

It is default implementation of the IScriptingService and IScriptEngineFactory interfaces.

This service provides references to the important parts of the JsScripting component - IScriptConsole and IScriptCollection. While these objects are used to evaluate scripts, there is also one more important reference - to the IScriptEngineConfigurationDelegate. This delegate is invoked every time to configure QScriptEngine when new script is evaluated by IScriptUnit or when new component is started. It is allows new components to extend JavaScript with custom types, functions or wrappers for their objects.

It is registered in the service locator by the JsScriptingComponent. You can locate to this service from the service locator:

* IScriptingService *service = serviceLocator->locate<IScriptingService>();
* IScriptConsole *console = service->console();
*

Also it implements the IScriptEngineFactory to create configured QScriptEngine for the ScriptUnit.

Constructor & Destructor Documentation

ScriptingService::ScriptingService ( IServiceLocator locator,
IComponentManager manager,
QObject parent = nullptr 
)
explicit

Initializes a new instance of the ScriptingService class. Does not takes ownership for locator;

Member Function Documentation

IScriptConsole* ScriptingService::console ( )
virtual

Gets the script console.

Implements IScriptingService.

IScriptCollection* ScriptingService::scripts ( )
virtual

Gets the scripts, that loaded into the application.

Implements IScriptingService.

IScriptEngineConfigurationDelegate* ScriptingService::delegate ( )
virtual

Gets the delegate which is used for QScriptEngine configuration.

Implements IScriptingService.

const IScriptEngineConfigurationDelegate* ScriptingService::delegate ( ) const
virtual

Gets the delegate which is used for QScriptEngine configuration.

Implements IScriptingService.

void ScriptingService::setDelegate ( IScriptEngineConfigurationDelegate delegate)
virtual

Sets the delegate which is used for QScriptEngine configuration. This delegate is used for configuration console() engine right after component manager started up and as soons as new components are started.

Implements IScriptingService.

QScriptEngine* ScriptingService::createEngine ( IOutputHandler output = nullptr,
QObject parent = nullptr 
)
virtual

Creates a new instance of the QScriptEngine class and populated with new functions or types from other components.

Also, during configuration, an output is set in such way, that all output, obtained during execution by the QScriptEngine will be redirected to this handler.

A parent could be used as a parent for created engine.

Note, that it does not takes ownership for created engine;

Implements IScriptEngineFactory.

void ScriptingService::onComponentManagerStartedUp ( )
protectedslot

After component manager started up, service configures console engine using all started components and also subscribes to the IComponentManager::componentStarted signal for configuration engine using newly started components.

void ScriptingService::onComponentStartedUp ( IComponent component)
protectedslot

Configures console engine using a just started component.