The open source OpenXR runtime
at main 149 lines 3.2 kB view raw
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"