ImagingTools Core SDK
CMdbxDatabaseEngineComp.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// Qt includes
5#include "QtCore/QString"
6
7// ACF includes
8#include <icomp/CComponentBase.h>
9#include <istd/TDelPtr.h>
10#include <ifile/IFileNameParam.h>
11
12// ImtCore includes
13#include <imtmdbx/CMdbxDatabaseEngine.h>
14
15
16namespace imtmdbx
17{
18
19
20class CMdbxDatabaseEngineComp: public icomp::CComponentBase, virtual public IMdbxDatabaseEngine
21{
22
23public:
24 typedef icomp::CComponentBase BaseClass;
25
26 I_BEGIN_COMPONENT(CMdbxDatabaseEngineComp);
27 I_REGISTER_INTERFACE(IMdbxDatabaseEngine);
28 I_ASSIGN(m_dbPathCompPtr, "DbPath", "The property holds connection's database path", true, "");
29 I_END_COMPONENT;
30
31 // reimplemented (IMdbxDatabaseEngine)
32 virtual mdbx::env_managed& GetEnv() override;
33
34protected:
35 // reimplemented (icomp::CComponentBase)
36 virtual void OnComponentCreated() override;
37
38private:
39 istd::TDelPtr<CMdbxDatabaseEngine> m_databaseEngine;
40
41 I_REF(ifile::IFileNameParam, m_dbPathCompPtr);
42 // I_ATTR(QByteArray, m_dbPathAttrPtr);
43};
44
45
46}//namespace imtmdbx