ImagingTools Core SDK
CAddressCollection.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// ImtCore includes
6#include <imtbase/TAggergatedObjectCollectionWrap.h>
7#include <imtbase/CCollectionInfo.h>
8#include <imtauth/IAddressManager.h>
9#include <imtauth/CAddress.h>
10
11
12namespace imtauth
13{
14
15
16class CAddressCollection: public imtbase::TAggergatedObjectCollectionWrap<IAddressManager, CAddress>
17{
18public:
20
21 CAddressCollection();
22
23 // reimplemented (IAddressManager)
24 virtual QByteArray AddAddress(IAddress* addressPtr) override;
25 virtual bool RemoveAddress(const QByteArray& addressId) override;
26 virtual bool RemoveAllAddresses() override;
27 virtual IAddress* GetEditableAddress(const QByteArray& addressId) override;
28
29 // reimplemented (IAddressProvider)
30 virtual const imtbase::ICollectionInfo& GetAddressList() const override;
31 virtual const IAddress* GetAddress(const QByteArray& addressId) const override;
32 virtual AddressCategory GetAddressCategory(const QByteArray& addressId) const override;
33};
34
35
36} // namespace imtauth
37
38