1 #include <QApplication>
6 #include <libhomescreen.hpp>
7 #include <qlibwindowmanager.h>
10 #define DEFAULT_CREDENTIALS_FILE "/etc/poikey"
14 QLibWindowmanager* qwm;
19 void SyncDrawHandler(json_object *object)
21 qwm->endDraw(graphic_role);
24 void TapShortcutHandler(json_object *object)
26 qwm->activateWindow(graphic_role);
29 int main(int argc, char *argv[], char *env[])
32 QApplication a(argc, argv);
33 QString credentialsFile(DEFAULT_CREDENTIALS_FILE);
34 qwm = new QLibWindowmanager();
35 hs = new LibHomeScreen();
36 graphic_role = QString("poi");
38 QString pt = QString(argv[1]);
39 int port = pt.toInt();
40 QString secret = QString(argv[2]);
41 std::string token = secret.toStdString();
43 if (qwm->init(port, secret) != 0) {
47 if (qwm->requestSurface(graphic_role) != 0) {
48 cerr << "Error: wm check failed" << endl;
52 qwm->set_event_handler(QLibWindowmanager::Event_SyncDraw, SyncDrawHandler);
54 mainapp = new MainApp();
56 hs->init(port, token.c_str());
58 hs->set_event_handler(LibHomeScreen::Event_TapShortcut, TapShortcutHandler);
61 mainapp->setInfoScreen(true);
62 mainapp->setKeyboard(true);
65 if (mainapp->CheckNaviApi(argc, argv) == false)
67 cerr << "Error: naviapi check failed" << endl;
71 /* then, authenticate connexion to POI service: */
72 if (mainapp->AuthenticatePOI(credentialsFile) < 0)
74 cerr << "Error: POI server authentication failed" << endl;
78 cerr << "authentication succes !" << endl;
80 /* now, let's start monitor user inut (register callbacks): */
81 if (mainapp->StartMonitoringUserInput() < 0)
84 qwm->activateWindow(graphic_role);