ImagingTools Core SDK
CDeviceDataFilePersistenceComp.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 <ifile/IFilePersistence.h>
7#include <ilog/TLoggerCompWrap.h>
8
9// Acula incldes
10#include <imtdev/IDeviceDataPersistence.h>
11
12
13namespace imtdev
14{
15
16
88 public ilog::CLoggerComponentBase,
89 virtual public ifile::IFilePersistence
90{
91 Q_DECLARE_TR_FUNCTIONS(CDeviceDataFilePersistenceComp)
92public:
93 typedef ilog::CLoggerComponentBase BaseClass;
94
95 I_BEGIN_COMPONENT(CDeviceDataFilePersistenceComp);
96 I_REGISTER_INTERFACE(ifile::IFilePersistence);
97 I_REGISTER_INTERFACE(ifile::IFileTypeInfo);
98 I_ASSIGN(m_deviceDataPersistenceCompPtr, "DeviceDataPersistence", "Low-level persistence of the device", true, "DeviceDataPersistence");
99 I_END_COMPONENT;
100
101 // reimplemented (ifile::IFilePersistence)
102 virtual bool IsOperationSupported(
103 const istd::IChangeable* dataObjectPtr,
104 const QString* filePathPtr = NULL,
105 int flags = -1,
106 bool beQuiet = true) const override;
107 virtual OperationState LoadFromFile(
108 istd::IChangeable& data,
109 const QString& filePath = QString(),
110 ibase::IProgressManager* progressManagerPtr = NULL) const override;
111 virtual OperationState SaveToFile(
112 const istd::IChangeable& data,
113 const QString& filePath = QString(),
114 ibase::IProgressManager* progressManagerPtr = NULL) const override;
115
116 // reimplemented (ifile::IFileTypeInfo)
117 virtual bool GetFileExtensions(
118 QStringList& result,
119 const istd::IChangeable * dataObjectPtr = NULL,
120 int flags = -1,
121 bool doAppend = false) const override;
122 virtual QString GetTypeDescription(const QString * extensionPtr = NULL) const override;
123
124private:
125 I_REF(imtdev::IDeviceDataPersistence, m_deviceDataPersistenceCompPtr);
126};
127
128
129} // namespace imtdev
130
131
File persistence adapter for device data.
Interface for device data persistence.