/*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file VDevice.cpp * \author (last) Behrouz NematiPour * \date (last) 16-Oct-2020 * \author (original) Behrouz NematiPour * \date (original) 23-Aug-2020 * */ #include "DeviceView.h" // Qt // Project #include "ApplicationController.h" #include "GuiController.h" #include "GuiGlobals.h" // // defines // #define CONNECT_GUI( vATTRIBUTE ) // connect(_GuiController , SIGNAL( didAttributeRespond(Device##vATTRIBUTE##RespondData)), // this , SLOT( onAttributeRespond(Device##vATTRIBUTE##RespondData))); // connect(this , SIGNAL( didAttributeRequest(Device##vATTRIBUTE##RequestData)), // _GuiController , SLOT( doAttributeRespond(Device##vATTRIBUTE##RequestData))); // VIEW_DEF_CLASS(VDevice) void VDevice::initConnections() { // to convert the value to the model and emit the signal to go to the controller (Qml -> View) connect(this , SIGNAL(didAttributeRequest(const DeviceBrightnessRequestData &)), &_GuiController , SLOT( doAttributeRequest(const DeviceBrightnessRequestData &))); // View <- Gui connect(&_GuiController , SIGNAL(didAttributeResponse(const DeviceBrightnessResponseData &)), this , SLOT( onAttributeResponse(const DeviceBrightnessResponseData &))); } // developer implementation section void VDevice::brightnessRequest(const quint8 &vValue) { qDebug() << "HERE Request" << vValue; DeviceBrightnessRequestData data; data.mBrightnessPercent = vValue; emit didAttributeRequest(data); } /*! * \brief VDevice::onAttributeResponse * \param vData * * HERE Request 100 * _GuiController doAttributeRequest * _ApplicationController onAttributeRequest * _DeviceController onAttributeRequest * _ApplicationController onAttributeResponse * _GuiController onAttributeResponse * HERE Response 100 * */ void VDevice::onAttributeResponse(const DeviceBrightnessResponseData &vData) { qDebug() << "HERE Response" << vData.mBrightnessPercent; if ( vData.mAccepted ) { _brightness_(vData.mBrightnessPercent); } accepted(vData.mAccepted); reason (vData.mReason ); // has to be the last one response(true); }