X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=app%2Feventhandler.h;fp=app%2Feventhandler.h;h=567c8a95cc6b6456656cdf5aeda2895bf877d2e7;hb=aee1b69e8e207081a3d8b2670980671a9fbc78b8;hp=0000000000000000000000000000000000000000;hpb=483c21f9d648f2cd58e00f39fcbee7b5dcbe2bc5;p=apps%2Fonscreenapp.git diff --git a/app/eventhandler.h b/app/eventhandler.h new file mode 100644 index 0000000..567c8a9 --- /dev/null +++ b/app/eventhandler.h @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2019 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 +#include "hmi-debug.h" + +#define APP_ID "onscreenapp" + +class QQmlApplicationEngine; + +class EventHandler : public QObject +{ + Q_OBJECT +public: + explicit EventHandler(QObject *parent = 0); + ~EventHandler(); + EventHandler(const EventHandler&) = delete; + EventHandler& operator=(const EventHandler&) = delete; + + void init(int port, const char* token); + void onRep(struct json_object* reply_contents); + + static void* myThis; + static void onRep_static(struct json_object* reply_contents); + + Q_INVOKABLE void deactivateWindow(); + Q_INVOKABLE void onScreenReply(const QString &btn_name); + +signals: + void updateModel(QVariant data); + void showOnScreen(); + void hideOnScreen(); + +private: + enum { + HIDING = 0, + SHOWING, + SWAPPING + }; + + int getDisplayStatus() {return m_dsp_sts;} + void setDisplayStatus(int sts) {m_dsp_sts = sts;} + void activateWindow(const char *role, const char *area = "normal.full"); + + LibHomeScreen *mp_hs; + QLibWindowmanager* mp_wm; + QPair m_req, m_dsp; + int m_dsp_sts = HIDING; +}; +#endif // HOMESCREENHANDLER_H