/*! * * 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 MDGValvesStatesData.h * \date 7/2/2020 * \author Behrouz NematiPour * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { class MDGValvesStates : public MAbstract { // friends friend class ::tst_models; public: enum Flag { eFlag_ValveStates_01 = 0, eFlag_ValveStates_02 , eFlag_ValveStates_03 , eFlag_ValveStates_04 , eFlag_ValveStates_05 , eFlag_ValveStates_06 , eFlag_ValveStates_07 , eFlag_ValveStates_08 , eFlag_ValveStates_09 , eFlag_ValveStates_10 , eFlag_ValveStates_11 , eFlag_ValveStates_12 , eFlag_Bits_Length = 16, }; private: // DG Valves States (U16) Valves States QString stringPrefix = "D,DG,Valves States"; struct { Types::Flags mStates ; } _data; public: struct Data { QBitArray mStates ; }; MDGValvesStates () { } QString toString ( ) const ; void toVariantList ( QVariantList &vData ) const ; bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); Data data() const; }; } typedef Model::MDGValvesStates::Data DGValvesStatesData; typedef Model::MDGValvesStates::Flag DGValvesStatesFlag;