knowL: Knowledge Libraries
Loading...
Searching...
No Matches
knowl
src
knowCore
Uri.h
1
#ifndef _KNOW_CORE_URI_H_
2
#define _KNOW_CORE_URI_H_
3
4
#include <functional>
5
6
#include <QSharedDataPointer>
7
#include <QVariant>
8
#include <qt6/QtCore/QtCore>
9
10
#include "Forward.h"
11
12
namespace
knowCore
13
{
14
class
Uri
15
{
16
public
:
17
Uri
();
18
Uri
(
const
QUrl& _url);
19
Uri
(
const
QString& _uri);
20
Uri
(
const
Uri
& _base,
const
QString& _uri);
21
Uri
(
const
Uri
& _rhs);
22
Uri
& operator=(
const
Uri
& _rhs);
23
~Uri
();
28
static
Uri
createUnique
(
const
QStringList
& _path =
QStringList
());
29
30
bool
operator==(
const
Uri
& _rhs)
const
;
31
bool
operator==(
const
char
* _rhs)
const
;
32
bool
operator<(
const
Uri
& _rhs)
const
;
33
bool
operator!=(
const
Uri
& _rhs)
const
{
return
!(*
this
== _rhs); }
34
bool
operator!=(
const
char
* _rhs)
const
{
return
!(*
this
== _rhs); }
35
36
operator
QUrl()
const
;
37
operator
QString()
const
;
38
39
bool
isEmpty()
const
;
40
bool
isAbsolute()
const
;
41
bool
isUrn()
const
;
42
bool
isUrl()
const
;
43
44
Uri
resolved(
const
Uri
& _url)
const
;
45
Uri
resolved(
const
QString& _url)
const
;
46
47
static
void
48
registerLocalFileResolver(
const
QString& _scheme,
49
const
std::function<QString(
const
QUrl& _url)>& _resolver);
50
QString toLocalFile()
const
;
54
QString
base
()
const
;
55
private
:
56
struct
Private
;
57
QSharedDataPointer<Private> d;
58
};
59
inline
uint qHash(
const
Uri
& key, std::size_t seed = 0) {
return
qHash((QString)key, seed); }
60
}
// namespace knowCore
61
62
inline
knowCore::Uri
operator
""
_kCu(
const
char
* _text, std::size_t)
63
{
64
return
knowCore::Uri
(_text);
65
}
66
67
Q_DECLARE_METATYPE(
knowCore::Uri
)
68
69
#include "Formatter.h"
70
clog_format_declare_cast_formatter(
knowCore::Uri
, QString);
71
72
#endif
QList< QString >
knowCore::Uri
Definition
Uri.h:15
knowCore::Uri::base
QString base() const
Definition
Uri.cpp:112
knowCore::Uri::createUnique
static Uri createUnique(const QStringList &_path=QStringList())
Definition
Uri.cpp:48
knowCore::Uri::Private
Definition
Uri.cpp:12
Generated by
1.12.0