Move sample to libhomescreen
[apps/agl-service-homescreen.git] / sample / template / main.cpp
diff --git a/sample/template/main.cpp b/sample/template/main.cpp
deleted file mode 100644 (file)
index ccbe935..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include <QtCore/QDebug>
-#include <QtCore/QCommandLineParser>
-#include <QtCore/QUrlQuery>
-#include <QtCore/QSettings>
-#include <QtGui/QGuiApplication>
-#include <QtQml/QQmlApplicationEngine>
-#include <QtQml/QQmlContext>
-#include <QtQuickControls2/QQuickStyle>
-#include <QQuickWindow>
-
-#include <libhomescreen/libhomescreen.hpp>
-#include "wmhandler.h"
-#include "smhandler.h"
-
-
-static LibHomeScreen*     hs;
-static LibWindowmanager*  wm;
-static LibSMWrapper*      smw;
-static WmHandler*         wmh;
-
-static std::string myname = std::string("Templete");
-
-
-static void onRep(struct json_object* reply_contents);
-static void onEv(const std::string& event, struct json_object* event_contents);
-
-
-int main(int argc, char *argv[])
-{
-    QGuiApplication       app(argc, argv);
-    QQmlApplicationEngine engine;
-    QQmlContext*          context = engine.rootContext();
-    QObject*              root;
-    QQuickWindow*         window;
-
-    QQuickStyle::setStyle("AGL");
-
-    /*
-     * Set argument and option
-     */
-    QCommandLineParser parser;
-    parser.addPositionalArgument("port", app.translate("main", "port for binding"));
-    parser.addPositionalArgument("secret", app.translate("main", "secret for binding"));
-    parser.addHelpOption();
-    parser.addVersionOption();
-    parser.process(app);
-    QStringList positionalArguments = parser.positionalArguments();
-
-    if (positionalArguments.length() == 2) {
-        /*
-         * Get argument
-         */
-        int port = positionalArguments.takeFirst().toInt();
-        QString secret = positionalArguments.takeFirst();
-        std::string token = secret.toStdString();
-
-
-        /*
-         * Get instance
-         */
-        hs = new LibHomeScreen();
-        wm = new LibWindowmanager();
-        smw = new LibSMWrapper(port, secret);
-        wmh = new WmHandler();
-
-
-        /*
-         * Set WindowManager
-         */
-        // Initialize
-        if(wm->init(port, token.c_str()) != 0){
-            exit(EXIT_FAILURE);
-        }
-
-        // Application should call requestSurface at first
-        if (wm->requestSurface(myname.c_str()) != 0) {
-            exit(EXIT_FAILURE);
-        }
-
-        // Set event handlers for each event
-        wm->set_event_handler(LibWindowmanager::Event_Active, [](char const *label) {
-            fprintf(stderr, "Surface %s got activated!\n", label);
-        });
-        wm->set_event_handler(LibWindowmanager::Event_Inactive, [](char const *label) {
-            fprintf(stderr, "Surface %s got deactivated!\n", label);
-        });
-        wm->set_event_handler(LibWindowmanager::Event_Visible, [](char const *label) {
-            fprintf(stderr, "Surface %s got visible!\n", label);
-        });
-        wm->set_event_handler(LibWindowmanager::Event_Invisible, [](char const *label) {
-            fprintf(stderr, "Surface %s got invisible!\n", label);
-        });
-        wm->set_event_handler(LibWindowmanager::Event_SyncDraw, [wm](char const *label) {
-            fprintf(stderr, "Surface %s got syncDraw!\n", label);
-            // Application should call LibWindowmanager::endDraw() in SyncDraw handler
-            wm->endDraw(label);
-        });
-        wm->set_event_handler(LibWindowmanager::Event_FlushDraw, [](char const *label) {
-            fprintf(stderr, "Surface %s got flushDraw!\n", label);
-        });
-
-        // Initialize WmHandler
-        wmh->init(wm, myname.c_str());
-
-
-        /*
-         * Set HomeScreen
-         */
-        // Initialize
-        hs->init(port, token.c_str());
-
-        // Set event handler
-        hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [wm](const char* appname) {
-            if(myname == appname) {
-                qDebug("Surface %s got tapShortcut\n", appname);
-                // Application should call LibWindowmanager::endDraw() in TapShortcut handler
-                wm->activateSurface(myname.c_str());
-            }
-        });
-
-        // Run event loop for HomeScreen
-        hs->runEventloop();
-
-
-        /*
-         * Set SoundManager
-         */
-        smw->wrapper_registerCallback(onEv, onRep);
-        smw->subscribe(QString("newMainConnection"));
-        smw->subscribe(QString("mainConnectionStateChanged"));
-        smw->subscribe(QString("removedMainConnection"));
-        smw->subscribe(QString("asyncSetSourceState"));
-        smw->subscribe(QString("asyncConnect"));
-        smw->run_eventloop();
-
-        // Set context property for SoundManager
-        context->setContextProperty("smw", smw);
-
-
-        /*
-         * Load qml
-         */
-        engine.load(QUrl(QStringLiteral("qrc:/QmlForThisApp.qml")));
-
-
-        /*
-         * Set slot for WindowManager and SoundManager
-         */
-        root = engine.rootObjects().first();
-        window = qobject_cast<QQuickWindow *>(root);
-
-        // Set slot for calling LibWindowmanager::activateSurface() when loading qml have completed
-        QObject::connect(window, SIGNAL(frameSwapped()),
-            wmh, SLOT(slotActivateSurface()));
-
-        // Set slot for SoundManager
-        QObject::connect(smw, SIGNAL(smEvent(QVariant, QVariant)),
-            root, SLOT(slotEvent(QVariant, QVariant)));
-        QObject::connect(smw, SIGNAL(smReply(QVariant)),
-            root, SLOT(slotReply(QVariant)));
-    }
-
-    return app.exec();
-}
-
-static void onRep(struct json_object* reply_contents)
-{
-    qDebug("%s is called", __FUNCTION__);
-    QString str = QString(json_object_get_string(reply_contents));
-    QJsonParseError error;
-    QJsonDocument jdoc = QJsonDocument::fromJson(str.toUtf8(), &error);
-    QJsonObject jobj = jdoc.object();
-
-    smw->emit_reply(jobj);
-    json_object_put(reply_contents);
-}
-
-static void onEv(const std::string& event, struct json_object* event_contents)
-{
-    qDebug("%s is called", __FUNCTION__);
-    const QString event_name = QString(event.c_str());
-    QString str = QString(json_object_get_string(event_contents));
-    QJsonParseError error;
-    QJsonDocument jdoc = QJsonDocument::fromJson(str.toUtf8(), &error);
-    const QJsonObject jobj = jdoc.object();
-    smw->emit_event(event_name, jobj);
-
-    json_object_put(event_contents);
-}
-