ImagingTools Core SDK
CStorageComp.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 <icomp/CComponentBase.h>
7
8// ImtCore includes
9#include <imtlog/IStorage.h>
10
11
12namespace imtlog
13{
14
15
16class CStorageComp:
17 public icomp::CComponentBase,
18 virtual public IStorage
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CStorageComp);
24 I_REGISTER_INTERFACE(IStorage);
25 I_END_COMPONENT;
26
27 virtual ObjectInfos GetObjectInfos(
28 const QByteArray& sectionId,
29 const imtbase::CTimeRange& timeRange) const override;
30 virtual int64_t AddObject(
31 const QByteArray& sectionId,
32 const QByteArray& typeId,
33 const imtbase::CTimeRange& timeRange,
34 const iser::ISerializable* objectPtr) override;
35 virtual bool UpdateObject(
36 const QByteArray& sectionId,
37 int64_t objectId,
38 const iser::ISerializable* objectPtr) override;
39 virtual bool RemoveObjects(
40 const QByteArray& sectionId,
41 int64_t objectId) override;
42};
43
44
45} // namespace imtlog
46
47