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
5#pragma once
6
7#include "ObjectWrapperBase.h"
8
9namespace wrap {
10namespace android::net {
11class Uri;
12class Uri_Builder;
13} // namespace android::net
14
15} // namespace wrap
16
17namespace wrap {
18namespace android::net {
19/*!
20 * Wrapper for android.net.Uri objects.
21 */
22class Uri : public ObjectWrapperBase {
23 public:
24 using ObjectWrapperBase::ObjectWrapperBase;
25 static constexpr const char *getTypeName() noexcept {
26 return "android/net/Uri";
27 }
28
29 /*!
30 * Wrapper for the toString method
31 *
32 * Java prototype:
33 * `public abstract java.lang.String toString();`
34 *
35 * JNI signature: ()Ljava/lang/String;
36 *
37 */
38 std::string toString() const;
39
40 /*!
41 * Class metadata
42 */
43 struct Meta : public MetaBaseDroppable {
44 jni::method_t toString;
45
46 /*!
47 * Singleton accessor
48 */
49 static Meta &data() {
50 static Meta instance{};
51 return instance;
52 }
53
54 private:
55 Meta();
56 };
57};
58
59/*!
60 * Wrapper for android.net.Uri$Builder objects.
61 */
62class Uri_Builder : public ObjectWrapperBase {
63 public:
64 using ObjectWrapperBase::ObjectWrapperBase;
65 static constexpr const char *getTypeName() noexcept {
66 return "android/net/Uri$Builder";
67 }
68
69 /*!
70 * Wrapper for a constructor
71 *
72 * Java prototype:
73 * `public android.net.Uri$Builder();`
74 *
75 * JNI signature: ()V
76 *
77 */
78 static Uri_Builder construct();
79
80 /*!
81 * Wrapper for the scheme method
82 *
83 * Java prototype:
84 * `public android.net.Uri$Builder scheme(java.lang.String);`
85 *
86 * JNI signature: (Ljava/lang/String;)Landroid/net/Uri$Builder;
87 *
88 */
89 Uri_Builder &scheme(std::string const &stringParam);
90
91 /*!
92 * Wrapper for the authority method
93 *
94 * Java prototype:
95 * `public android.net.Uri$Builder authority(java.lang.String);`
96 *
97 * JNI signature: (Ljava/lang/String;)Landroid/net/Uri$Builder;
98 *
99 */
100 Uri_Builder &authority(std::string const &stringParam);
101
102 /*!
103 * Wrapper for the appendPath method
104 *
105 * Java prototype:
106 * `public android.net.Uri$Builder appendPath(java.lang.String);`
107 *
108 * JNI signature: (Ljava/lang/String;)Landroid/net/Uri$Builder;
109 *
110 */
111 Uri_Builder &appendPath(std::string const &stringParam);
112
113 /*!
114 * Wrapper for the build method
115 *
116 * Java prototype:
117 * `public android.net.Uri build();`
118 *
119 * JNI signature: ()Landroid/net/Uri;
120 *
121 */
122 Uri build();
123
124 /*!
125 * Class metadata
126 */
127 struct Meta : public MetaBaseDroppable {
128 jni::method_t init;
129 jni::method_t scheme;
130 jni::method_t authority;
131 jni::method_t appendPath;
132 jni::method_t build;
133
134 /*!
135 * Singleton accessor
136 */
137 static Meta &data() {
138 static Meta instance{};
139 return instance;
140 }
141
142 private:
143 Meta();
144 };
145};
146
147} // namespace android::net
148} // namespace wrap
149#include "android.net.impl.h"