Index: sources/model/MAbstract.h =================================================================== diff -u -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 -r90bcc276f2a879169fef20e9168711cf906c0e54 --- sources/model/MAbstract.h (.../MAbstract.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) +++ sources/model/MAbstract.h (.../MAbstract.h) (revision 90bcc276f2a879169fef20e9168711cf906c0e54) @@ -1,3 +1,17 @@ +/*! + * + * 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 MAbstract.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ + #pragma once // Qt @@ -10,11 +24,45 @@ class MAbstract { +private: + QString _delimiter = ","; + +protected: + enum class Type_Enum { + eDatum, + eEvent, + }; + enum class Unit_Enum { + eUI, + eHD, + eDG, + }; + +private: + const QMap _typeText { + {Type_Enum::eDatum, "D"}, + {Type_Enum::eEvent, "E"} + }; + + const QMap _unitText { + {Unit_Enum::eUI, "UI"}, + {Unit_Enum::eHD, "HD"}, + {Unit_Enum::eDG, "DG"} + }; + public: - virtual QString toString ( ) const = 0; - virtual void toVariantList ( QVariantList &vData ) const = 0; - virtual bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) = 0; + // the model needs to implement these since each model have different meaning of the bytes from differnet souce(unit). + virtual bool fromByteArray(const QByteArray &vByteArray , int *vIndex = nullptr) = 0; + virtual Type_Enum typeText ( ) const = 0; + virtual Unit_Enum unitText ( ) const = 0; + virtual QString infoText ( ) const = 0; + virtual QVariantList parameters ( ) const = 0; + + // Non-virtuals which working with parameters virtual method. + void toVariantList(QVariantList &vData) const; + QString toString ( ) const; + QString description ( ) const; }; }