ImagingTools Core SDK
CMessagesControllerParamsComp.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
8// ImtCore includes
9#include <imtlog/IMessagesControllerParamsProvider.h>
10
11
12namespace imtlog
13{
14
15
16class CMessagesControllerParamsComp:
17 public icomp::CComponentBase,
18 virtual public IMessagesControllerParamsProvider
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CMessagesControllerParamsComp)
24 I_REGISTER_INTERFACE(IMessagesControllerParamsProvider);
25 I_ASSIGN(m_messageIdAttrPtr, "MessageId", "Message id", true, 0);
26 I_ASSIGN(m_maxContainerMessageCountAttrPtr, "MaxContainerMessagesCount", "Max message count stored in container", true, 1000);
27 I_ASSIGN(m_containerSavingPeriodAttrPtr, "ContainerSavingPeriod", "Period in seconds of saving the container until the maximum number of messages is reached", true, 60);
28 I_ASSIGN(m_containerCachingTimeAttrPtr, "ContainerCachingTime", "The time the container was in the cache after closing", true, 3600);
29 I_ASSIGN(m_slaveCompPtr, "Slave", "Slave", false, "");
30 I_END_COMPONENT
31
32 // reimplemented (imtlog::IMessagesControllerParamsProvider)
33 virtual int GetMaxContainerMessageCount(int messageId) override;
34 virtual int GetContainerSavingPeriod(int messageId) override;
35 virtual int GetContainerCachingTime(int messageId) override;
36
37private:
38 I_ATTR(int, m_messageIdAttrPtr);
39 I_ATTR(int, m_maxContainerMessageCountAttrPtr);
40 I_ATTR(int, m_containerSavingPeriodAttrPtr);
41 I_ATTR(int, m_containerCachingTimeAttrPtr);
42 I_REF(IMessagesControllerParamsProvider, m_slaveCompPtr);
43};
44
45
46} // namespace imtlog
47
48