--- /dev/null
+/*
+ Copyright (C) 2014 David Llewellyn-Jones
+ Contact: David Llewellyn-Jones <david@flypig.co.uk>
+ All rights reserved.
+
+ You may use this file under the terms of BSD license as follows:
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of the Jolla Ltd nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ Built using the standard template from Jolla
+ Copyright (C) 2013 Jolla Ltd.
+ Contact: Thomas Perl <thomas.perl@jollamobile.com>
+*/
+
+#ifdef QT_QML_DEBUG
+#include <QtQuick>
+#else
+#include <QtQuick>
+#endif
+
+#include <sailfishapp.h>
+#include "vpncontrol.h"
+#include "filemodel.h"
+#include "fileinfo.h"
+#include "searchengine.h"
+#include "engine.h"
+
+int main(int argc, char *argv[])
+{
+ qmlRegisterType<FileModel>("harbour.file.browser.FileModel", 1, 0, "FileModel");
+ qmlRegisterType<FileInfo>("harbour.file.browser.FileInfo", 1, 0, "FileInfo");
+ qmlRegisterType<SearchEngine>("harbour.file.browser.SearchEngine", 1, 0, "SearchEngine");
+
+ int result;
+
+ setuid(0);
+ seteuid(0);
+
+ // SailfishApp::main() will display "qml/template.qml", if you need more
+ // control over initialization, you can use:
+ //
+ // - SailfishApp::application(int, char *[]) to get the QGuiApplication *
+ // - SailfishApp::createView() to get a new QQuickView * instance
+ // - SailfishApp::pathTo(QString) to get a QUrl to a resource file
+ //
+ // To display the view, call "show()" (will show fullscreen on device).
+
+ QScopedPointer<QGuiApplication> app(SailfishApp::application(argc, argv));
+
+ // These values are used by QSettings to access the config file in
+ // /home/nemo/.local/share/flypig/OpenVPNUI.conf
+ QCoreApplication::setOrganizationName("flypig");
+ QCoreApplication::setOrganizationDomain("www.flypig.co.uk");
+ QCoreApplication::setApplicationName("OpenVPN Rig");
+
+ QScopedPointer<QQuickView> view(SailfishApp::createView());
+
+ view->setSource(SailfishApp::pathTo("qml/harbour-openvpn-rig.qml"));
+
+ VPNControl * vpnControl = new VPNControl ();
+
+ view->rootContext()->setContextProperty("VpnControl", vpnControl);
+
+ vpnControl->initialise();
+
+ // QML global engine object
+ QScopedPointer<Engine> engine(new Engine);
+ view->rootContext()->setContextProperty("engine", engine.data());
+ // Store pointer to engine to access it in any class
+ QVariant engineVariant = qVariantFromValue(engine.data());
+ qApp->setProperty("engine", engineVariant);
+
+ // Run the application loop
+ view->show();
+ result = app->exec();
+
+ delete vpnControl;
+
+ return result;
+}
+