ImagingTools Core SDK
IContactBaseInfo.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 <iser/ISerializable.h>
7#include <iimg/IBitmap.h>
8#include <idoc/IDocumentMetaInfo.h>
9
10// ImtCore includes
11#include <imtauth/IAddressProvider.h>
12
13
14namespace imtauth
15{
16
17
18class IContactBaseInfo: virtual public iser::ISerializable
19{
20public:
21 enum MetaInfoTypes
22 {
23 MIT_CONTACT_NAME = idoc::IDocumentMetaInfo::MIT_USER + 1,
24 MIT_CONTACT_DESCRIPTION,
25 MIT_EMAIL,
26 MIT_GROUPS
27 };
28
29 virtual QString GetName() const = 0;
30 virtual void SetName(const QString& name) = 0;
31 virtual QString GetDescription() const = 0;
32 virtual void SetDescription(const QString& description) = 0;
33 virtual QString GetEmail() const = 0;
34 virtual void SetEmail(const QString& email) = 0;
35 virtual const iimg::IBitmap& GetPicture() const = 0;
36 virtual void SetPicture(const iimg::IBitmap& picture) = 0;
37 virtual QByteArrayList GetGroups() const = 0;
38 virtual bool AddGroup(const QByteArray& groupId) = 0;
39 virtual bool RemoveGroup(const QByteArray& groupId) = 0;
40};
41
42
43} // namespace imtauth
44
45