ScriptsScripting Interface

This commit is contained in:
Thijs Wenker 2015-04-07 01:06:39 +02:00
parent de7faec036
commit 2b23108e61
3 changed files with 58 additions and 0 deletions

View file

@ -121,6 +121,7 @@
#include "scripting/GlobalServicesScriptingInterface.h"
#include "scripting/LocationScriptingInterface.h"
#include "scripting/MenuScriptingInterface.h"
#include "scripting/ScriptsScriptingInterface.h"
#include "scripting/SettingsScriptingInterface.h"
#include "scripting/WindowScriptingInterface.h"
#include "scripting/WebWindowClass.h"
@ -3595,6 +3596,9 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri
scriptEngine->registerGlobalObject("Scene", DependencyManager::get<SceneScriptingInterface>().data());
QScriptValue scriptsScriptingInterface = scriptEngine->registerGlobalObject("Scripts", ScriptsScriptingInterface::getInstance());
scriptEngine->registerFunction(scriptsScriptingInterface, "getPublic", ScriptsScriptingInterface::getPublic, 0);
#ifdef HAVE_RTMIDI
scriptEngine->registerGlobalObject("MIDI", &MIDIManager::getInstance());
#endif

View file

@ -0,0 +1,27 @@
//
// ScriptsScriptingInterface.cpp
// interface/src/scripting
//
// Created by Thijs Wenker on 3/31/15.
// Copyright 2015 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#include "Application.h"
#include "ScriptsScriptingInterface.h"
ScriptsScriptingInterface* ScriptsScriptingInterface::getInstance() {
static ScriptsScriptingInterface sharedInstance;
return &sharedInstance;
}
QStringList ScriptsScriptingInterface::getRunning() {
return Application::getInstance()->getRunningScripts();
}
QScriptValue ScriptsScriptingInterface::getPublic(QScriptContext* context, QScriptEngine* engine) {
return QScriptValue::NullValue;
}

View file

@ -0,0 +1,27 @@
//
// ScriptsScriptingInterface.h
// interface/src/scripting
//
// Created by Thijs Wenker on 3/31/15.
// Copyright 2015 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#ifndef hifi_ScriptsScriptingInterface_h
#define hifi_ScriptsScriptingInterface_h
#include <QObject>
class ScriptsScriptingInterface : public QObject {
Q_OBJECT
public:
ScriptsScriptingInterface() {};
static ScriptsScriptingInterface* getInstance();
static QScriptValue getPublic(QScriptContext* context, QScriptEngine* engine);
public slots:
QStringList getRunning();
};
#endif // hifi_ScriptsScriptingInterface_h