History

use a wrapper on audio injector for script ownership

Stephen Birarda committed 11 years ago

Commit 79674fb1 parent 449719b7 files · +105 −25Browse files

Showing the changes to libraries/script-engine/src/ScriptAudioInjector.cpp (1 of 7 files). Show all

Unified · Split

libraries/script-engine/src/ScriptAudioInjector.cpp+36−0
@@ -0,0 +1,36 @@
1//
2// ScriptAudioInjector.cpp
3// libraries/script-engine/src
4//
5// Created by Stephen Birarda on 2015-02-11.
6// Copyright 2015 High Fidelity, Inc.
7//
8// Distributed under the Apache License, Version 2.0.
9// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10//
11
12#include "ScriptAudioInjector.h"
13
14QScriptValue injectorToScriptValue(QScriptEngine* engine, ScriptAudioInjector* const& in) {
15 // when the script goes down we want to cleanup the injector
16 QObject::connect(engine, &QScriptEngine::destroyed, in, &ScriptAudioInjector::stopInjectorImmediately);
17
18 return engine->newQObject(in, QScriptEngine::ScriptOwnership);
19}
20
21void injectorFromScriptValue(const QScriptValue& object, ScriptAudioInjector*& out) {
22 out = qobject_cast<ScriptAudioInjector*>(object.toQObject());
23}
24
25ScriptAudioInjector::ScriptAudioInjector(AudioInjector* injector) :
26 _injector(injector)
27{
28
29}
30
31ScriptAudioInjector::~ScriptAudioInjector() {
32}
33
34void ScriptAudioInjector::stopInjectorImmediately() {
35 _injector->stopAndDeleteLater();
36}