ImagingTools Core SDK
CUrlParamComp.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 <imtbase/CUrlParam.h>
10
11
12namespace imtbase
13{
14
15
20 public icomp::CComponentBase,
21 public imtbase::CUrlParam
22{
23public:
24 typedef icomp::CComponentBase BaseClass;
25 typedef imtbase::CUrlParam BaseClass2;
26
27 I_BEGIN_COMPONENT(CUrlParamComp);
28 I_REGISTER_INTERFACE(IUrlParam);
29 I_REGISTER_INTERFACE(ifile::IFileNameParam);
30 I_REGISTER_INTERFACE(iser::ISerializable);
31 I_REGISTER_INTERFACE(istd::IChangeable);
32 I_ASSIGN(m_defaultSchemeAttrPtr, "DefaultScheme", "Default scheme", true, "http");
33 I_ASSIGN(m_defaultUsernameAttrPtr, "DefaultUsername", "Default user name", true, "");
34 I_ASSIGN(m_defaultPasswordAttrPtr, "DefaultPassword", "Default password", true, "");
35 I_ASSIGN(m_defaultHostAttrPtr, "DefaultHost", "Default host", true, "localhost");
36 I_ASSIGN(m_defaultPortAttrPtr, "DefaultPort", "Default port", true, 80);
37 I_ASSIGN(m_defaultPathAttrPtr, "DefaultPath", "Default path", true, "");
38 I_ASSIGN(m_defaultQueryAttrPtr, "DefaultQuery", "Default query", true, "");
39 I_ASSIGN(m_defaultFragmentAttrPtr, "DefaultFragment", "Default fragment", true, "");
40 I_ASSIGN(m_isReadOnlyAttrPtr, "IsReadOnly", "When enabled, the URL is fixed and cannot be changed during run tume", true, false);
41 I_END_COMPONENT;
42
43 // reimplemented (IUrlParam)
44 virtual bool SetUrl(const QUrl& url) override;
45 virtual bool IsReadOnly() const override;
46
47protected:
48 // reimplemented (icomp::CComponentBase)
49 virtual void OnComponentCreated() override;
50
51private:
52 I_ATTR(QString, m_defaultHostAttrPtr);
53 I_ATTR(QString, m_defaultSchemeAttrPtr);
54 I_ATTR(QString, m_defaultPathAttrPtr);
55 I_ATTR(QString, m_defaultQueryAttrPtr);
56 I_ATTR(QString, m_defaultFragmentAttrPtr);
57 I_ATTR(QString, m_defaultUsernameAttrPtr);
58 I_ATTR(QString, m_defaultPasswordAttrPtr);
59 I_ATTR(int, m_defaultPortAttrPtr);
60 I_ATTR(bool, m_isReadOnlyAttrPtr);
61};
62
63
64} // namespace imtbase
65
66