ICF 3.1.1.10
Technical documentation of ICF Libraries
CComposedInformationProviderComp.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef iinsp_CComposedInformationProviderComp_included
7#define iinsp_CComposedInformationProviderComp_included
8
9
10// ICF includes
14
15
16namespace iinsp
17{
18
19
27 virtual public istd::IInformationProvider
28{
29public:
31
32 I_BEGIN_COMPONENT(CComposedInformationProviderComp);
33 I_REGISTER_INTERFACE(IInformationProvider);
34 I_ASSIGN(m_defaultSourceAttrPtr, "DefaultSource", "Default source of information", false, "");
35 I_ASSIGN(m_defaultDescriptionAttrPtr, "DefaultDescription", "Default description for the information", false, "");
36 I_ASSIGN_MULTI_0(m_slaveInformationProvidersCompPtr, "InformationProviders", "List of underlaying information providers", true);
37 I_ASSIGN_TO(m_slaveInformationProviderModelsCompPtr, m_slaveInformationProvidersCompPtr, false);
38 I_END_COMPONENT;
39
41
42 // reimplemented (iinsp::IInformationProvider)
43 QDateTime GetInformationTimeStamp() const override;
45 int GetInformationId() const override;
46 QString GetInformationDescription() const override;
47 QString GetInformationSource() const override;
48 int GetInformationFlags() const override;
49
50protected:
51 // reimplemented (icomp::CComponentBase)
52 void OnComponentCreated() override;
53 void OnComponentDestroyed() override;
54
55private:
56 I_ATTR(QString, m_defaultSourceAttrPtr);
57 I_TEXTATTR(m_defaultDescriptionAttrPtr);
58 I_MULTIREF(istd::IInformationProvider, m_slaveInformationProvidersCompPtr);
59 I_MULTIREF(imod::IModel, m_slaveInformationProviderModelsCompPtr);
60
61 imod::CModelUpdateBridge m_updateBridge;
62};
63
64
65} // namespace iinsp
66
67
68#endif // !iinsp_CComposedInformationProviderComp_included
69
70
Base class for component implementation.
General information provider returning always stored state.
int GetInformationId() const override
Get binary ID of the information using to automatical identification of this information type.
InformationCategory GetInformationCategory() const override
Get category of the information.
int GetInformationFlags() const override
Get flags of the information.
QString GetInformationSource() const override
Get the source of the information.
QString GetInformationDescription() const override
Get the text description of the information.
QDateTime GetInformationTimeStamp() const override
Get optional time stamp of the information.
Reflects the changes of observed objects as changes of some other object (over istd::IChangeable),...
Common interface for model objects, that supports Model/Observer design pattern.
Definition IModel.h:29
Common interface for class providing some basic information object.
InformationCategory
Category of information.
Library containing inspection related classes and components.

© Witold Gantzke and Kirill Lepskiy