X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2Feventhandler.h;fp=app%2Feventhandler.h;h=297ff08b542cbbd3e415a230832378e9b3f933e4;hb=b2670af592e664ed304f7df77d84f1964f039636;hp=0000000000000000000000000000000000000000;hpb=ec044f44133cad1d12311345437b13b1a953226e;p=apps%2Fonscreenapp.git diff --git a/app/eventhandler.h b/app/eventhandler.h new file mode 100644 index 0000000..297ff08 --- /dev/null +++ b/app/eventhandler.h @@ -0,0 +1,85 @@ +/* + * 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. + */ + +#ifndef HOMESCREENHANDLER_H +#define HOMESCREENHANDLER_H + +#include +#include +#include +#include +#include +#include "hmi-debug.h" +#include + +#define USE_TEST_DISPLAY 0 + +using namespace std; + +typedef struct _on_screen_message { + QString app; + QString message; + QString file; + QString mask; +} ON_SCREEN_MESSAGE; + +class QQuickWindow; + +class EventHandler : public QObject +{ + Q_OBJECT +public: + explicit EventHandler(QObject *parent = 0); + ~EventHandler(); + + void init(int port, const char* token); + void setQuickWindow(QQuickWindow *qw); + + void onRep(struct json_object* reply_contents); + + static void* myThis; + static void onRep_static(struct json_object* reply_contents); + + void activateSurface(QString app); + void deactivateSurface(QString app); + + Q_INVOKABLE void onScreenReply(const QString &message); + +signals: + void signalOnScreenMessage(QVariant display_message); + void signalLoader(QVariant url); + void signalSetClearBackgroud(); + void signalSetDefaultBackgroud(QVariant message); + +#if USE_TEST_DISPLAY +public slots: + void slotActivateSurface(); +#endif + +private: + void setWindowMask(QString maskfile); + + bool m_isActive; + + LibHomeScreen *mp_hs; + QLibWindowmanager* mp_wm; + + QQuickWindow *mp_qw; + + QVector m_vecOSM; +}; + +#endif // HOMESCREENHANDLER_H