AWS IoT Device SDK C++ v2  1.34.0
AWS IoT Device SDK C++ v2
Uri.h
Go to the documentation of this file.
1 #pragma once
2 
6 #include <aws/crt/Types.h>
7 
8 #include <aws/io/uri.h>
9 
10 namespace Aws
11 {
12  namespace Crt
13  {
14  namespace Io
15  {
19  class AWS_CRT_CPP_API Uri final
20  {
21  public:
22  Uri() noexcept;
23  ~Uri();
24 
29  Uri(const ByteCursor &cursor, Allocator *allocator = ApiAllocator()) noexcept;
30 
35  Uri(aws_uri_builder_options &builderOptions, Allocator *allocator = ApiAllocator()) noexcept;
36 
37  Uri(const Uri &);
38  Uri &operator=(const Uri &);
39  Uri(Uri &&uri) noexcept;
40  Uri &operator=(Uri &&) noexcept;
41 
45  operator bool() const noexcept { return m_isInit; }
46 
50  int LastError() const noexcept { return m_lastError; }
51 
55  ByteCursor GetScheme() const noexcept;
56 
61  ByteCursor GetAuthority() const noexcept;
62 
66  ByteCursor GetPath() const noexcept;
67 
71  ByteCursor GetQueryString() const noexcept;
72 
76  ByteCursor GetHostName() const noexcept;
77 
83  uint32_t GetPort() const noexcept;
84 
88  ByteCursor GetPathAndQuery() const noexcept;
89 
93  ByteCursor GetFullUri() const noexcept;
94 
95  private:
96  aws_uri m_uri;
97  int m_lastError;
98  bool m_isInit;
99  };
100 
102 
103  } // namespace Io
104  } // namespace Crt
105 } // namespace Aws
Aws::Crt::ApiAllocator
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
Aws::Crt::Io::Uri::LastError
int LastError() const noexcept
Definition: Uri.h:50
Aws::Crt::Io::Uri
Definition: Uri.h:20
Types.h
AWS_CRT_CPP_API
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Aws
Definition: Allocator.h:11
Aws::Crt::ByteCursor
aws_byte_cursor ByteCursor
Definition: Types.h:31
Aws::Crt::Allocator
aws_allocator Allocator
Definition: Allocator.h:14
Aws::Crt::String
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition: Types.h:45
Aws::Crt::Io::EncodeQueryParameterValue
AWS_CRT_CPP_API Aws::Crt::String EncodeQueryParameterValue(ByteCursor paramValue)
Definition: Uri.cpp:171