ImagingTools Core SDK
CContactBaseInfo.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// ACF includes
6#include <iimg/CBitmap.h>
7#include <imod/TModelWrap.h>
8#include <istd/TSmartPtr.h>
9#include <imod/CModelUpdateBridge.h>
10#include <iser/ISerializable.h>
11
12// ImtCore includes
13#include <imtauth/IContactBaseInfo.h>
14#include <imtauth/CAddressCollection.h>
15
16
17namespace imtauth
18{
19
20
21class CContactBaseInfo: virtual public IContactBaseInfo
22{
23public:
24 // reimplemented (IContactBaseInfo)
25 virtual QString GetName() const override;
26 virtual void SetName(const QString& name) override;
27 virtual QString GetDescription() const override;
28 virtual void SetDescription(const QString& description) override;
29 virtual QString GetEmail() const override;
30 virtual void SetEmail(const QString& email) override;
31 virtual const iimg::IBitmap& GetPicture() const override;
32 virtual void SetPicture(const iimg::IBitmap& picture) override;
33 virtual QByteArrayList GetGroups() const override;
34 virtual bool AddGroup(const QByteArray& groupId) override;
35 virtual bool RemoveGroup(const QByteArray& groupId) override;
36
37 // reimplemented (iser::ISerializable)
38 virtual bool Serialize(iser::IArchive& archive) override;
39
40 // reimplemented (istd::IChangeable)
41 virtual int GetSupportedOperations() const override;
42 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
43 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
44 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
45
46private:
47 QString m_name;
48 QString m_description;
49 QString m_email;
50 imod::TModelWrap<iimg::CBitmap> m_picture;
51 imod::TModelWrap<CAddressCollection> m_addresses;
52 QByteArrayList m_groupIds;
53};
54
55
56} // namespace imtauth
57
58