ImagingTools Core SDK
CDatabaseAccessSettingsComp.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 <imtdb/CDatabaseAccessSettings.h>
10
11
12namespace imtdb
13{
14
15
16class CDatabaseAccessSettingsComp:
17 public icomp::CComponentBase,
18 public CDatabaseAccessSettings
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22 typedef CDatabaseAccessSettings BaseClass2;
23
24 I_BEGIN_COMPONENT(CDatabaseAccessSettingsComp);
25 I_REGISTER_INTERFACE(IDatabaseLoginSettings);
26 I_REGISTER_INTERFACE(iser::ISerializable);
27 I_ASSIGN(m_dbNameAttrPtr, "DbName", "The property holds connection's database name", true, "postgres");
28 I_ASSIGN(m_dbPathAttrPtr, "DbPath", "The property holds connection's database path", true, "");
29 I_ASSIGN(m_userNameAttrPtr, "UserName", "The property holds connection's user name", true, "postgres");
30 I_ASSIGN(m_paswordAttrPtr, "Pasword", "The property holds connection's password.", true, "12345");
31 I_ASSIGN(m_hostNameAttrPtr, "HostName", "The property holds connection's host name.", true, "localhost");
32 I_ASSIGN(m_portAttrPtr, "Port", "The property holds connection's port number", true, 5432);
33 I_ASSIGN(m_useSslAttrPtr, "UseSSL", "If enabled, SSL connection will be used", true, false);
34 I_END_COMPONENT;
35
36protected:
37 // reimplemented (icomp::CComponentBase)
38 virtual void OnComponentCreated() override;
39
40private:
41 I_ATTR(QByteArray, m_dbNameAttrPtr);
42 I_ATTR(QByteArray, m_dbPathAttrPtr);
43 I_ATTR(QByteArray, m_userNameAttrPtr);
44 I_ATTR(QByteArray, m_paswordAttrPtr);
45 I_ATTR(QByteArray, m_hostNameAttrPtr);
46 I_ATTR(int, m_portAttrPtr);
47 I_ATTR(bool, m_useSslAttrPtr);
48};
49
50
51} // namespace imtdb
52
53
Database Abstraction Layer (ORM Framework) for ImtCore applications.