]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/dbus/adaptorvym.cpp
New upstream version 2.9.22
[sven/vym.git] / src / dbus / adaptorvym.cpp
diff --git a/src/dbus/adaptorvym.cpp b/src/dbus/adaptorvym.cpp
new file mode 100644 (file)
index 0000000..d5d2aa8
--- /dev/null
@@ -0,0 +1,52 @@
+#include <QtCore/QMetaObject>
+#include <QtCore/QString>
+#include <QtCore/QVariant>
+
+#include "adaptorvym.h"
+#include "command.h"
+#include "mainwindow.h"
+
+extern QString vymInstanceName;
+extern QString vymVersion;
+extern Main *mainWindow;
+
+extern QList<Command *> vymCommands;
+
+AdaptorVym::AdaptorVym(QObject *obj) : QDBusAbstractAdaptor(obj)
+{
+    setAutoRelaySignals(true);
+}
+
+QDBusVariant AdaptorVym::mapCount()
+{
+    return QDBusVariant(mainWindow->modelCount());
+}
+
+void AdaptorVym::gotoMapID(const uint &id) { mainWindow->gotoModelWithID(id); }
+
+QDBusVariant AdaptorVym::getInstanceName()
+{
+    return QDBusVariant(vymInstanceName);
+}
+
+QDBusVariant AdaptorVym::getVersion() { return QDBusVariant(vymVersion); }
+
+QDBusVariant AdaptorVym::execute(const QString &s)
+{
+    return QDBusVariant(mainWindow->runScript(s));
+}
+
+QDBusVariant AdaptorVym::listCommands()
+{
+    QStringList list;
+
+    foreach (Command *command, vymCommands)
+        list << command->getName();
+
+    return QDBusVariant(list.join(","));
+}
+
+QDBusVariant AdaptorVym::currentMapID()
+{
+    return QDBusVariant(mainWindow->currentMapID());
+}