ACF $AcfVersion:0$
CLogRouterComp.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
9#include <imod/IModel.h>
11
12namespace ilog
13{
14
15
83{
84public:
87
90
91 I_BEGIN_COMPONENT(CLogRouterComp);
92 I_REGISTER_INTERFACE(imod::IObserver)
93 I_ASSIGN(m_messageContainerPtr, "InputMessageContainer", "Message container to track", true, "InputMessageContainer");
94 I_ASSIGN_TO(m_messageContainerModelPtr, m_messageContainerPtr, true);
95 I_ASSIGN(m_outputMessageConsumerPtr, "OutputMessageConsumer", "The acceptor of the forwarded messages", false, "OutputMessageConsumer");
96 I_ASSIGN(m_minimalCategoryAttr, "MinimalCategory", "Minimal category to forward to the output log, negative value means forwarding everything", true, -1);
97 I_END_COMPONENT;
98
99protected:
100 // reimplemented (icomp::CComponentBase)
101 virtual void OnComponentCreated() override;
102 virtual void OnComponentDestroyed() override;
103
104 // reimplemented (imod::CSingleModelObserverBase)
105 virtual void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override;
106
107private:
108 QDateTime m_lastMessageTimestamp;
109 QList<const istd::IInformationProvider*> m_lastProcessed;
110
111private:
112 I_REF(ilog::IMessageContainer, m_messageContainerPtr);
113 I_REF(imod::IModel, m_messageContainerModelPtr);
114 I_REF(ilog::IMessageConsumer, m_outputMessageConsumerPtr);
115 I_ATTR(int, m_minimalCategoryAttr);
116};
117
118} // namespace ilog
119
120
121
122
Base class for component implementation.
Component that routes messages from one container to another with filtering.
icomp::CComponentBase BaseClass
Base class typedef for component functionality.
virtual void OnUpdate(const istd::IChangeable::ChangeSet &changeSet) override
Called on update of observed model.
imod::CSingleModelObserverBase BaseClass2
Base class typedef for observer functionality.
virtual void OnComponentDestroyed() override
virtual void OnComponentCreated() override
Common interface for a message container consuming information objects (messages).
Common interface for a message container.
Basic implementation for a single model observer.
Common interface for model objects, that supports Model/Observer design pattern.
Definition IModel.h:25
Common interface for all classes implementing the Observer functionality in the Model/Observer design...
Definition IObserver.h:156
Set of change flags (its IDs).
Definition IChangeable.h:36
This namespace contains implementations for the logging functionality.