ImagingTools Core SDK
CPersonBaseInfo.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtCore/QDate>
7
8// ACF includes
9#include <imtauth/IPersonBaseInfo.h>
10
11// ImtCore includes
12#include <imtbase/TIdentifiableWrap.h>
13#include <imtauth/CContactBaseInfo.h>
14
15
16namespace imtauth
17{
18
19
20class CPersonBaseInfo: virtual public IPersonBaseInfo, virtual public CContactBaseInfo
21{
22public:
23 typedef CContactBaseInfo BaseClass;
24
25 // reimplemented (IPersonInfo)
26 virtual GenderType GetGenderType() const override;
27 virtual void SetGenderType(GenderType genderType) override;
28 virtual QDate GetBirthday() const override;
29 virtual void SetBirthday(const QDate& birthday) override;
30 virtual QString GetNameField(NameFieldType fieldType) const override;
31 virtual void SetNameField(NameFieldType fieldType, const QString& value) override;
32
33 // reimplemented (iser::ISerializable)
34 virtual bool Serialize(iser::IArchive& archive) override;
35
36 // reimplemented (istd::IChangeable)
37 virtual int GetSupportedOperations() const override;
38 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
39 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
40 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
41
42private:
43 QString m_lastName;
44 QString m_nick;
45 QDate m_birthday;
46 GenderType m_genderType;
47};
48
49
50typedef imtbase::TIdentifiableWrap<CPersonBaseInfo> CIdentifiablePersonInfo;
51
52
53}
54
55