ImagingTools Core SDK
CUserSettingsComp.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 <icomp/CComponentBase.h>
7#include <iprm/IParamsSet.h>
8
9// ImtCore includes
10#include <imtauth/CUserSettings.h>
11
12
13namespace imtauth
14{
15
16
17class CUserSettingsComp:
18 public icomp::CComponentBase,
19 public CUserSettings
20{
21public:
22 typedef icomp::CComponentBase BaseClass;
23 typedef CUserSettings BaseClass2;
24
25 I_BEGIN_COMPONENT(CUserSettingsComp);
26 I_REGISTER_INTERFACE(IUserSettings);
27 I_REGISTER_INTERFACE(iser::IObject);
28 I_REGISTER_INTERFACE(iser::ISerializable);
29 I_ASSIGN(m_settingsFactCompPtr, "SettingsFactory", "Factory used for creation of the user related settings instance", true, "SettingsFactory");
30 I_END_COMPONENT;
31
32protected:
33 // reimplemented (icomp::CComponentBase)
34 virtual void OnComponentCreated() override;
35 virtual void OnComponentDestroyed() override;
36
37private:
38 I_FACT(iprm::IParamsSet, m_settingsFactCompPtr);
39};
40
41
42} // namespace imtauth
43
44