Skip to content

Commit d9994a6

Browse files
Made TimeVal available from scripts, I hope
1 parent 007f6e6 commit d9994a6

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

trikScriptRunner/src/scriptEngineWorker.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#include <trikKernel/fileUtils.h>
2222
#include <trikKernel/paths.h>
23+
#include <trikKernel/timeVal.h>
2324
#include <trikControl/batteryInterface.h>
2425
#include <trikControl/colorSensorInterface.h>
2526
#include <trikControl/displayInterface.h>
@@ -65,6 +66,7 @@ Q_DECLARE_METATYPE(SensorInterface*)
6566
Q_DECLARE_METATYPE(Threading*)
6667
Q_DECLARE_METATYPE(VectorSensorInterface*)
6768
Q_DECLARE_METATYPE(QVector<int>)
69+
Q_DECLARE_METATYPE(trikKernel::TimeVal)
6870
Q_DECLARE_METATYPE(QTimer*)
6971

7072
QScriptValue print(QScriptContext *context, QScriptEngine *engine)
@@ -255,6 +257,18 @@ void ScriptEngineWorker::onScriptRequestingToQuit()
255257
stopScript();
256258
}
257259

260+
static QScriptValue timeValToScriptValue(QScriptEngine *engine, const trikKernel::TimeVal &in)
261+
{
262+
QScriptValue obj = engine->newObject();
263+
obj.setProperty("mcsec", in.toMcSec());
264+
return obj;
265+
}
266+
267+
static void timeValFromScriptValue(const QScriptValue &object, trikKernel::TimeVal &out)
268+
{
269+
out = trikKernel::TimeVal(0, object.property("mcsec").toInt32());
270+
}
271+
258272
QScriptEngine * ScriptEngineWorker::createScriptEngine(bool supportThreads)
259273
{
260274
QScriptEngine *engine = new QScriptEngine();
@@ -278,6 +292,7 @@ QScriptEngine * ScriptEngineWorker::createScriptEngine(bool supportThreads)
278292
Scriptable<SensorInterface>::registerMetatype(engine);
279293
Scriptable<SoundSensorInterface>::registerMetatype(engine);
280294
Scriptable<QTimer>::registerMetatype(engine);
295+
qScriptRegisterMetaType(engine, timeValToScriptValue, timeValFromScriptValue);
281296
Scriptable<VectorSensorInterface>::registerMetatype(engine);
282297

283298
qScriptRegisterSequenceMetaType<QVector<int>>(engine);

0 commit comments

Comments
 (0)