ImagingTools Core SDK
CUserSettings.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 <istd/TDelPtr.h>
7
8// ImtCore includes
9#include <imtauth/IUserSettings.h>
10
11
12namespace imtauth
13{
14
15
16class CUserSettings: virtual public imtauth::IUserSettings
17{
18public:
19 CUserSettings();
20
21 static QByteArray GetTypeName();
22
23 // reimplemented (iser::IUserSettings)
24 virtual QByteArray GetUserId() const override;
25 virtual void SetUserId(const QByteArray& userId) override;
26 virtual iprm::IParamsSet* GetSettings() const override;
27 virtual void SetSettings(const iprm::IParamsSet& settings) override;
28
29 // reimplemented (IObject)
30 virtual QByteArray GetFactoryId() const override;
31
32 // reimplemented (iser::ISerializable)
33 virtual bool Serialize(iser::IArchive &archive) override;
34
35 // reimplemented (iser::IChangeable)
36 virtual int GetSupportedOperations() const override;
37 virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
38 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
39 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
40
41protected:
42 iprm::IParamsSetSharedPtr m_settingsPtr;
43 QByteArray m_userId;
44};
45
46
47} // namespace imtauth
48
49