IOLink IOL_v1.8.0_release
Loading...
Searching...
No Matches
Uri.h
1#pragma once
2#include <iolink/IOLinkAPI.h>
3
4#include <string>
5
6namespace iolink
7{
8
13class IOLINK_API Uri final
14{
15public:
19 explicit Uri(const std::string& uri);
20
21 Uri() = delete;
22
26 Uri(const Uri& other);
27 Uri& operator=(Uri rhs);
28
33
37 std::string scheme() const;
38
42 std::string authority() const;
43
47 std::string host() const;
48
52 uint16_t port() const;
53
57 std::string userInfo() const;
58
62 std::string path() const;
63
67 std::string query() const;
68
72 std::string pathAndQuery() const;
73
77 std::string toString() const;
78
79private:
80 // Internal implementation class
81 class Impl;
82
83 // Pointer to the internal implementation
84 Impl* m_pimpl;
85};
86
87} // end namespace iolink