ImagingTools Core SDK
IDependentMetaInfoController.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 <istd/IPolymorphic.h>
7
8// ImtCore includes
9#include <imtbase/ICollectionInfo.h>
10
11
12namespace imtdb
13{
14
15
95class IDependentMetaInfoController: virtual public istd::IPolymorphic
96{
97public:
106 {
112 QString objectId;
113
120
127 QStringList metaInfoIds;
128
135 QStringList metaInfoValues;
136 };
137
151 {
160 imtbase::ICollectionInfo::Ids objectIds;
161
172
184 QStringList metaInfoIds;
185 };
186
213 virtual bool UpdateDependentMetaInfo(const DependentMetaInfo& metaInfo) const = 0;
214
246 virtual bool ClearDependentMetaInfo(const MetaFieldCleanupPlan& metaInfo) const = 0;
247};
248
249
250} // namespace imtdb
251
252
Manages cascading metadata updates when related objects are deleted.
virtual bool ClearDependentMetaInfo(const MetaFieldCleanupPlan &metaInfo) const =0
Clears metadata fields that reference deleted objects.
virtual bool UpdateDependentMetaInfo(const DependentMetaInfo &metaInfo) const =0
Updates dependent metadata fields to reflect changes in referenced objects.
Database Abstraction Layer (ORM Framework) for ImtCore applications.
Information for updating dependent metadata fields.
QString dependentKey
The metadata key that holds the reference to another object.
QStringList metaInfoIds
List of metadata field names to update.
QString objectId
ID of the object whose metadata should be updated.
QStringList metaInfoValues
New values for the metadata fields.
Plan for cleaning up metadata fields when referenced objects are deleted.
QString dependentKey
The metadata key that holds the reference to deleted objects.
imtbase::ICollectionInfo::Ids objectIds
List of IDs of deleted objects (e.g., Customer IDs)
QStringList metaInfoIds
List of metadata keys to clear when reference is deleted.