ImagingTools Core SDK
CUrlParam.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// Qt includes
6#include <QtCore/QUrl>
7
8// ACF includes
9#include <ifile/IFileNameParam.h>
10
11// ImtCore includes
12#include <imtbase/IUrlParam.h>
13
14
15namespace imtbase
16{
17
18
19class CUrlParam: virtual public IUrlParam, virtual public ifile::IFileNameParam
20{
21public:
22 // reimplemented (IUrlParam)
23 virtual const QUrl& GetUrl() const override;
24 virtual bool SetUrl(const QUrl& url) override;
25 virtual bool IsReadOnly() const override;
26
27 // reimplemented (ifile::IFileNameParam)
28 virtual int GetPathType() const override;
29 virtual const QString& GetPath() const override;
30 virtual void SetPath(const QString& path) override;
31
32 // reimplemented (iser::ISerializable)
33 virtual bool Serialize(iser::IArchive& archive) override;
34
35 // reimplemented (istd::IChangeable)
36 virtual int GetSupportedOperations() const override;
37 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
38 virtual bool IsEqual(const IChangeable& object) const override;
39 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
40 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
41
42protected:
43 QUrl m_url;
44 mutable QString m_textRep;
45};
46
47
48} // namespace imtbase
49
50