]> Some of my projects - localmylist.git/commitdiff
Expose a print function to JS in lml-runscript.
authorAPTX <marek321@gmail.com>
Sat, 31 Aug 2013 15:28:40 +0000 (17:28 +0200)
committerAPTX <marek321@gmail.com>
Sat, 31 Aug 2013 15:28:40 +0000 (17:28 +0200)
runscript/main.cpp

index 7181b8975c72fc105f285e0aaeeb8881a23d2a02..e986ef7a4ad296bcb84214be9a2209f12b090479 100644 (file)
 
 using namespace LocalMyList;
 
+QScriptValue print(QScriptContext *ctx, QScriptEngine *engine)
+{
+       QTextStream cout(stdout);
+       for (int i = 0; i < ctx->argumentCount(); ++i)
+       {
+               cout << ctx->argument(i).toString();
+               if (i)
+                       cout << " ";
+       }
+       cout << endl;
+       return engine->undefinedValue();
+}
+
 int main(int argc, char *argv[])
 {
        QCoreApplication a(argc, argv);
@@ -74,6 +87,7 @@ int main(int argc, char *argv[])
        engine.globalObject().setProperty("mylist", engine.newQObject(MyList::instance()));
        engine.globalObject().setProperty("db", engine.newQObject(MyList::instance()->database()));
        engine.globalObject().setProperty("args", qScriptValueFromSequence(&engine, args));
+       engine.globalObject().setProperty("print", engine.newFunction(print));
 
        QScriptValue result = engine.evaluate(script);
        if (engine.hasUncaughtException()) {