ICF 3.0.5.47
Technical documentation of ICF Libraries
IRegistryConsistInfo.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#pragma once
7
8
9// Qt includes
10#include <QtCore/QByteArray>
11#include <QtGui/QIcon>
12
13// ICF includes
14#include <istd/IPolymorphic.h>
15#include <icomp/IRegistry.h>
17#include <icmpstr/icmpstr.h>
18
19
20namespace icmpstr
21{
22
23
24class IRegistryConsistInfo: virtual public istd::IPolymorphic
25{
26public:
47
54 const icomp::IElementStaticInfo::Ids& interfaceNames,
55 const icomp::IRegistry& registry,
56 int queryFlags = QF_NONE) const = 0;
57
68 virtual bool IsRegistryValid(
69 const icomp::IRegistry& registry,
70 bool ignoreUndef,
71 bool allReasons,
72 ilog::IMessageConsumer* reasonConsumerPtr) const = 0;
73
82 virtual bool IsElementValid(
83 const QByteArray& elementName,
84 const icomp::IRegistry& registry,
85 bool ignoreUndef,
86 bool allReasons,
87 ilog::IMessageConsumer* reasonConsumerPtr) const = 0;
88
99 virtual bool IsAttributeValid(
100 const QByteArray& attributeName,
101 const QByteArray& elementName,
102 const icomp::IRegistry& registry,
103 bool ignoreUndef,
104 bool allReasons,
105 ilog::IMessageConsumer* reasonConsumerPtr,
106 const icomp::IComponentStaticInfo* componentMetaInfoPtr = nullptr) const = 0;
107
119 int attributeFlags,
120 const QByteArray& attributeText,
121 const icomp::IElementStaticInfo::Ids& interfaceNames,
122 const icomp::IElementStaticInfo::Ids& optionalInterfaceNames,
123 const icomp::IRegistry& registry,
124 bool ignoreUndef,
125 ilog::IMessageConsumer* reasonConsumerPtr) const = 0;
126
130 virtual QIcon GetComponentIcon(const icomp::CComponentAddress& address) const = 0;
131};
132
133
134} // namespace icmpstr
135
136
@ QF_ANY_INTERFACE
Supporting of any specified interfaces is enough to interprete component as compatible one.
@ QF_INCLUDE_SUBELEMENTS
If active, subelements will be also considered.
@ QF_DETACHED_FROM_CONTAINER
If active, subelements will be also considered.
@ QF_INCLUDE_UNDEFINED
If active, all undefined (without available meta information) elements will be also included.
virtual bool IsAttributeValid(const QByteArray &attributeName, const QByteArray &elementName, const icomp::IRegistry &registry, bool ignoreUndef, bool allReasons, ilog::IMessageConsumer *reasonConsumerPtr, const icomp::IComponentStaticInfo *componentMetaInfoPtr=nullptr) const =0
Check if attribute is valid.
virtual icomp::IRegistry::Ids GetCompatibleElements(const icomp::IElementStaticInfo::Ids &interfaceNames, const icomp::IRegistry &registry, int queryFlags=QF_NONE) const =0
Get list of compatible element names.
virtual bool IsElementValid(const QByteArray &elementName, const icomp::IRegistry &registry, bool ignoreUndef, bool allReasons, ilog::IMessageConsumer *reasonConsumerPtr) const =0
Check if element is valid.
virtual bool IsRegistryValid(const icomp::IRegistry &registry, bool ignoreUndef, bool allReasons, ilog::IMessageConsumer *reasonConsumerPtr) const =0
Check if registry is valid.
virtual QIcon GetComponentIcon(const icomp::CComponentAddress &address) const =0
Get icon of component.
virtual bool IsAttributeValueValid(int attributeFlags, const QByteArray &attributeText, const icomp::IElementStaticInfo::Ids &interfaceNames, const icomp::IElementStaticInfo::Ids &optionalInterfaceNames, const icomp::IRegistry &registry, bool ignoreUndef, ilog::IMessageConsumer *reasonConsumerPtr) const =0
Check if attribute is valid.
Represents global address of component.
This interface provide static information about component meta info.
Interface representing information stored in component registry.
Definition IRegistry.h:30
QSet< QByteArray > Ids
Definition IRegistry.h:32
Common interface for a message container consuming information objects (messages).
This package contains (Qt based) implementations of compositor components.

© Witold Gantzke and Kirill Lepskiy