The open source OpenXR runtime
1// Copyright 2020-2021, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3// Author: Rylie Pavlik <rylie.pavlik@collabora.com>
4// Inline implementations: do not include on its own!
5
6#pragma once
7
8#include <string>
9
10namespace wrap {
11namespace android::net {
12inline std::string Uri::toString() const {
13 assert(!isNull());
14 return object().call<std::string>(Meta::data().toString);
15}
16
17inline Uri_Builder Uri_Builder::construct() {
18 return Uri_Builder(Meta::data().clazz().newInstance(Meta::data().init));
19}
20
21inline Uri_Builder &Uri_Builder::scheme(std::string const &stringParam) {
22 assert(!isNull());
23 object().call<jni::Object>(Meta::data().scheme, stringParam);
24 return *this;
25}
26
27inline Uri_Builder &Uri_Builder::authority(std::string const &stringParam) {
28 assert(!isNull());
29 object().call<jni::Object>(Meta::data().authority, stringParam);
30 return *this;
31}
32
33inline Uri_Builder &Uri_Builder::appendPath(std::string const &stringParam) {
34 assert(!isNull());
35 object().call<jni::Object>(Meta::data().appendPath, stringParam);
36 return *this;
37}
38
39inline Uri Uri_Builder::build() {
40 assert(!isNull());
41 return Uri(object().call<jni::Object>(Meta::data().build));
42}
43
44} // namespace android::net
45} // namespace wrap