ACF $AcfVersion:0$
IComponentContext.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
6#include <istd/IPolymorphic.h>
8
9
10namespace iser
11{
12 class IObject;
13}
14
15
16namespace icomp
17{
18
19
20class IRegistryElement;
21class IComponent;
22class IComponentStaticInfo;
23
24
36{
37public:
42 virtual const QByteArray& GetContextId() const = 0;
48 virtual const IRegistryElement& GetRegistryElement() const = 0;
49
53 virtual const IComponentStaticInfo& GetStaticInfo() const = 0;
54
58 virtual const IComponentContext* GetParentContext() const = 0;
59
66 virtual const iser::IObject* GetAttribute(const QByteArray& attributeId, int* definitionLevelPtr = NULL) const = 0;
67};
68
69
70typedef std::unique_ptr<icomp::IComponentContext> IComponentContextUniquePtr;
71typedef std::shared_ptr<icomp::IComponentContext> IComponentContextSharedPtr;
72
73
74} // namespace icomp
75
76
Provide session context of component.
virtual const IRegistryElement & GetRegistryElement() const =0
Get access to component registry element object.
virtual const iser::IObject * GetAttribute(const QByteArray &attributeId, int *definitionLevelPtr=NULL) const =0
Get attribute using its ID.
virtual const IComponentStaticInfo & GetStaticInfo() const =0
Get component static info associated with this context.
virtual const QByteArray & GetContextId() const =0
Get ID of this component in the context tree.
virtual const IComponentContext * GetParentContext() const =0
Get access to parent component context.
This interface provide static information about component meta info.
Represents element of registry describing component parameters.
Common interface for factorisable model objects.
Definition IObject.h:23
Base interface for all used interfaces and implementations.
#define NULL
Definition istd.h:74
Package with interfaces and class used for components concept.
std::unique_ptr< icomp::IComponentContext > IComponentContextUniquePtr
std::shared_ptr< icomp::IComponentContext > IComponentContextSharedPtr
Contains general persistence mechanism with basic archives implementations.