ImagingTools Core SDK
CCompanyInfo.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 <imtauth/ICompanyInfo.h>
7#include <imtauth/CCompanyBaseInfo.h>
8
9
10namespace imtauth
11{
12
13
14class CCompanyInfo: virtual public ICompanyInfo, virtual public CCompanyBaseInfo
15{
16public:
17 typedef CCompanyBaseInfo BaseClass;
18
19 CCompanyInfo();
20
21 virtual void AddAddress(IAddress& address);
22
23 // reimplemented (ICompanyInfo)
24 virtual const IAddressProvider* GetAddresses() const override;
25
26 // reimplemented (iser::ISerializable)
27 virtual bool Serialize(iser::IArchive& archive) override;
28
29 // reimplemented (iser::IChangeable)
30 virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
31 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
32 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
33
34private:
35 imod::TModelWrap<CAddressCollection> m_addresses;
36 imod::CModelUpdateBridge m_modelUpdateBridge;
37};
38
39
40typedef imtbase::TIdentifiableWrap<CCompanyInfo> CIdentifiableCompanyInfo;
41
42
43}
44
45