X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2Fqlibwindowmanager.cpp;fp=app%2Fqlibwindowmanager.cpp;h=370f9f7dc84bd651198fbe07f7047c262a26be07;hb=3860063e579f29b95bc64f802480742c572f4907;hp=0000000000000000000000000000000000000000;hpb=ddff06a62bdb66c50645a9c56d5959bc09193d9d;p=apps%2Fhvac.git diff --git a/app/qlibwindowmanager.cpp b/app/qlibwindowmanager.cpp new file mode 100644 index 0000000..370f9f7 --- /dev/null +++ b/app/qlibwindowmanager.cpp @@ -0,0 +1,81 @@ +/* + * 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 "qlibwindowmanager.h" +#include +#include + +int QLibWindowmanager::init(int port, const QString &token) { + std::string ctoken = token.toStdString(); + return this->wm->init(port, ctoken.c_str()); +} + +int QLibWindowmanager::requestSurface(json_object *label) { + applabel = json_object_get_string(label); + + json_object *obj = json_object_new_object(); + json_object_object_add(obj, wm->kKeyDrawingName, label); + return this->wm->requestSurface(obj); +} + +int QLibWindowmanager::activateSurface(json_object *label) { + qDebug() << "activateSurface applabel: " << applabel.c_str(); + json_object *obj = json_object_new_object(); + qDebug() << "DrawingName: " << wm->kKeyDrawingName; + json_object_object_add(obj, wm->kKeyDrawingName, label); + qDebug() << "DrawingArea: " << wm->kKeyDrawingArea; + json_object_object_add(obj, wm->kKeyDrawingArea, json_object_new_string("normal.full")); + qDebug() << "obj pointer: " << obj; + qDebug() << "activateSurface end obj: " << json_object_get_string(obj); + + return this->wm->activateSurface(obj); +} + +int QLibWindowmanager::deactivateSurface(json_object *label) { + json_object *obj = json_object_new_object(); + json_object_object_add(obj, wm->kKeyDrawingName, label); + return this->wm->deactivateSurface(obj); +} + +int QLibWindowmanager::endDraw(json_object *label) { + json_object *obj = json_object_new_object(); + qDebug() << "endDraw label: " << json_object_get_string(label); + json_object_object_add(obj, wm->kKeyDrawingName, label); + return this->wm->endDraw(obj); + } + +void QLibWindowmanager::set_event_handler(enum QEventType et, + handler_fun f) { + LibWindowmanager::EventType wet = (LibWindowmanager::EventType)et; + return this->wm->set_event_handler(wet, std::move(f)); +} + +void QLibWindowmanager::slotActivateSurface(){ + if(!isActive){ + qDebug("Let's show HVAC"); + isActive = true; + qDebug() << "slotActivateSurface applabel: " << applabel.c_str(); + this->activateSurface(json_object_new_string(applabel.c_str())); + } +} + +QLibWindowmanager::QLibWindowmanager(QObject *parent) + :QObject(parent), isActive(false) +{ + wm = new LibWindowmanager(); +} + +QLibWindowmanager::~QLibWindowmanager() { }