ImagingTools Core SDK
CContactInfo.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 <imod/CModelUpdateBridge.h>
10
11// ImtBase includes
12#include <imtauth/IContactInfo.h>
13#include <imtauth/CAddressCollection.h>
14
15
16namespace imtauth
17{
18
19
20class CContactInfo: virtual public IContactInfo
21{
22public:
23 static QByteArray GetTypeId();
24
25 CContactInfo();
26
27 // reimplemented (IContactInfo)
28 virtual QString GetEmail() const override;
29 virtual void SetEmail(const QString& email) override;
30 virtual GenderType GetGenderType() const override;
31 virtual void SetGenderType(GenderType genderType) override;
32 virtual QDate GetBirthday() const override;
33 virtual void SetBirthday(const QDate& birthday) override;
34 virtual QString GetNameField(NameFieldType fieldType) const override;
35 virtual void SetNameField(NameFieldType fieldType, const QString& value) override;
36 virtual const IAddressProvider* GetAddresses() const override;
37
38 // reimplemented (iser::ISerializable)
39 virtual bool Serialize(iser::IArchive& archive) override;
40
41 // reimplemented (istd::IChangeable)
42 virtual int GetSupportedOperations() const override;
43 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
44 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
45 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
46
47private:
48 QString m_email;
49 GenderType m_genderType;
50 QDate m_birthday;
51 QString m_firstName;
52 QString m_lastName;
53 QString m_nickName;
54
55 imod::TModelWrap<CAddressCollection> m_addresses;
56
57 imod::CModelUpdateBridge m_modelUpdateBridge;
58};
59
60
61} // namespace imtauth
62
63