IOLink 1.11.0
Loading...
Searching...
No Matches
Uri.h
1#pragma once
2#include <iolink/IOLinkAPI.h>
3
4#include <cstdint>
5#include <string>
6
7namespace iolink
8{
9
14class IOLINK_API Uri final
15{
16public:
20 explicit Uri(const std::string& uri);
21
22 Uri() = delete;
23
27 Uri(const Uri& other);
28 Uri& operator=(Uri rhs);
29
34
38 std::string scheme() const;
39
43 std::string authority() const;
44
48 std::string host() const;
49
53 uint16_t port() const;
54
58 std::string userInfo() const;
59
63 std::string path() const;
64
68 std::string query() const;
69
73 std::string pathAndQuery() const;
74
78 std::string toString() const;
79
80private:
81 // Internal implementation class
82 class Impl;
83
84 // Pointer to the internal implementation
85 Impl* m_pimpl;
86};
87
88} // end namespace iolink