The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

external: Update android-jni-wrap

+499 -276
+1 -1
src/external/android-jni-wrap/wrap/android.app.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+5 -3
src/external/android-jni-wrap/wrap/android.app.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 34 34 * Singleton accessor 35 35 */ 36 36 static Meta &data() { 37 - static Meta instance; 37 + static Meta instance{}; 38 38 return instance; 39 39 } 40 40 ··· 42 42 Meta(); 43 43 }; 44 44 }; 45 + 45 46 /*! 46 47 * Wrapper for android.app.Activity objects. 47 48 */ ··· 87 88 * Singleton accessor 88 89 */ 89 90 static Meta &data() { 90 - static Meta instance; 91 + static Meta instance{}; 91 92 return instance; 92 93 } 93 94 ··· 95 96 Meta(); 96 97 }; 97 98 }; 99 + 98 100 } // namespace android::app 99 101 } // namespace wrap 100 102 #include "android.app.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/android.app.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 22 23 return object().call<void>(Meta::data().setVrModeEnabled, enabled, 23 24 requestedComponent.object()); 24 25 } 26 + 25 27 } // namespace android::app 26 28 } // namespace wrap
+19 -2
src/external/android-jni-wrap/wrap/android.content.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 12 12 WINDOW_SERVICE(classRef(), "WINDOW_SERVICE"), 13 13 getPackageManager(classRef().getMethod( 14 14 "getPackageManager", "()Landroid/content/pm/PackageManager;")), 15 + getContentResolver(classRef().getMethod( 16 + "getContentResolver", "()Landroid/content/ContentResolver;")), 15 17 getApplicationContext(classRef().getMethod( 16 18 "getApplicationContext", "()Landroid/content/Context;")), 17 19 getClassLoader( ··· 39 41 Intent::Meta::Meta() 40 42 : MetaBase(Intent::getTypeName()), 41 43 FLAG_ACTIVITY_NEW_TASK(classRef(), "FLAG_ACTIVITY_NEW_TASK"), 42 - init(classRef().getMethod("<init>", "()V")), 43 44 init1(classRef().getMethod("<init>", "(Landroid/content/Intent;)V")), 44 45 init2(classRef().getMethod("<init>", "(Ljava/lang/String;)V")), 45 46 init3(classRef().getMethod("<init>", ··· 51 52 "content/Context;Ljava/lang/Class;)V")), 52 53 setFlags( 53 54 classRef().getMethod("setFlags", "(I)Landroid/content/Intent;")) {} 55 + ContentResolver::Meta::Meta() 56 + : MetaBaseDroppable(ContentResolver::getTypeName()), 57 + query(classRef().getMethod( 58 + "query", 59 + "(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/" 60 + "String;Ljava/lang/String;)Landroid/database/Cursor;")), 61 + query1(classRef().getMethod( 62 + "query", "(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/" 63 + "String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/" 64 + "CancellationSignal;)Landroid/database/Cursor;")), 65 + query2(classRef().getMethod( 66 + "query", 67 + "(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/" 68 + "CancellationSignal;)Landroid/database/Cursor;")) { 69 + MetaBaseDroppable::dropClassRef(); 70 + } 54 71 } // namespace android::content 55 72 } // namespace wrap
+112 -22
src/external/android-jni-wrap/wrap/android.content.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 10 10 namespace wrap { 11 11 namespace android::content { 12 12 class ComponentName; 13 + class ContentResolver; 13 14 class Context; 14 15 class Intent; 15 16 } // namespace android::content ··· 17 18 namespace android::content::pm { 18 19 class PackageManager; 19 20 } // namespace android::content::pm 21 + 22 + namespace android::database { 23 + class Cursor; 24 + } // namespace android::database 20 25 21 26 namespace android::os { 22 27 class Bundle; ··· 75 80 pm::PackageManager getPackageManager(); 76 81 77 82 /*! 83 + * Wrapper for the getContentResolver method 84 + * 85 + * Java prototype: 86 + * `public abstract android.content.ContentResolver getContentResolver();` 87 + * 88 + * JNI signature: ()Landroid/content/ContentResolver; 89 + * 90 + */ 91 + ContentResolver getContentResolver() const; 92 + 93 + /*! 78 94 * Wrapper for the getApplicationContext method 79 95 * 80 96 * Java prototype: ··· 144 160 impl::StaticFieldId<std::string> DISPLAY_SERVICE; 145 161 impl::StaticFieldId<std::string> WINDOW_SERVICE; 146 162 jni::method_t getPackageManager; 163 + jni::method_t getContentResolver; 147 164 jni::method_t getApplicationContext; 148 165 jni::method_t getClassLoader; 149 166 jni::method_t startActivity; ··· 162 179 explicit Meta(bool deferDrop); 163 180 }; 164 181 }; 182 + 165 183 /*! 166 184 * Wrapper for android.content.ComponentName objects. 167 185 */ ··· 183 201 * 184 202 */ 185 203 static ComponentName construct(std::string const &pkg, 186 - std::string const &cls); 204 + std::string const &className); 187 205 188 206 /*! 189 207 * Wrapper for a constructor ··· 195 213 * JNI signature: (Landroid/content/Context;Ljava/lang/String;)V 196 214 * 197 215 */ 198 - static ComponentName construct(Context const &pkg, std::string const &cls); 216 + static ComponentName construct(Context const &context, 217 + std::string const &className); 199 218 200 219 /*! 201 220 * Wrapper for a constructor ··· 207 226 * JNI signature: (Landroid/content/Context;Ljava/lang/Class;)V 208 227 * 209 228 */ 210 - static ComponentName construct(Context const &pkg, 229 + static ComponentName construct(Context const &context, 211 230 java::lang::Class const &cls); 212 231 213 232 /*! ··· 234 253 * Singleton accessor 235 254 */ 236 255 static Meta &data() { 237 - static Meta instance; 256 + static Meta instance{}; 238 257 return instance; 239 258 } 240 259 ··· 242 261 Meta(); 243 262 }; 244 263 }; 264 + 245 265 /*! 246 266 * Wrapper for android.content.Intent objects. 247 267 */ ··· 263 283 */ 264 284 static int32_t FLAG_ACTIVITY_NEW_TASK(); 265 285 266 - #if 0 267 - // disabled because of zero-length array warning in jnipp 268 - /*! 269 - * Wrapper for a constructor 270 - * 271 - * Java prototype: 272 - * `public android.content.Intent();` 273 - * 274 - * JNI signature: ()V 275 - * 276 - */ 277 - static Intent construct(); 278 - #endif 279 - 280 286 /*! 281 287 * Wrapper for a constructor 282 288 * ··· 286 292 * JNI signature: (Landroid/content/Intent;)V 287 293 * 288 294 */ 289 - static Intent construct(Intent &intent); 295 + static Intent construct(Intent const &intent); 290 296 291 297 /*! 292 298 * Wrapper for a constructor ··· 354 360 */ 355 361 struct Meta : public MetaBase { 356 362 impl::StaticFieldId<int32_t> FLAG_ACTIVITY_NEW_TASK; 357 - jni::method_t init; 358 363 jni::method_t init1; 359 364 jni::method_t init2; 360 365 jni::method_t init3; ··· 366 371 * Singleton accessor 367 372 */ 368 373 static Meta &data() { 369 - static Meta instance; 374 + static Meta instance{}; 370 375 return instance; 371 376 } 372 377 ··· 374 379 Meta(); 375 380 }; 376 381 }; 382 + 383 + /*! 384 + * Wrapper for android.content.ContentResolver objects. 385 + */ 386 + class ContentResolver : public ObjectWrapperBase { 387 + public: 388 + using ObjectWrapperBase::ObjectWrapperBase; 389 + static constexpr const char *getTypeName() noexcept { 390 + return "android/content/ContentResolver"; 391 + } 392 + 393 + /*! 394 + * Wrapper for the query method - overload added in API level 1 395 + * 396 + * Java prototype: 397 + * `public final android.database.Cursor query(android.net.Uri, 398 + * java.lang.String[], java.lang.String, java.lang.String[], 399 + * java.lang.String);` 400 + * 401 + * JNI signature: 402 + * (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; 403 + * 404 + */ 405 + database::Cursor query(jni::Object const &uri, 406 + jni::Array<std::string> const &projection, 407 + std::string const &selection, 408 + jni::Array<std::string> const &selectionArgs, 409 + std::string const &sortOrder); 410 + 411 + /*! 412 + * Wrapper for the query method - overload added in API level 16 413 + * 414 + * Java prototype: 415 + * `public final android.database.Cursor query(android.net.Uri, 416 + * java.lang.String[], java.lang.String, java.lang.String[], 417 + * java.lang.String, android.os.CancellationSignal);` 418 + * 419 + * JNI signature: 420 + * (Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; 421 + * 422 + */ 423 + database::Cursor query(jni::Object const &uri, 424 + jni::Array<std::string> const &projection, 425 + std::string const &selection, 426 + jni::Array<std::string> const &selectionArgs, 427 + std::string const &sortOrder, 428 + jni::Object const &cancellationSignal); 429 + 430 + /*! 431 + * Wrapper for the query method - overload added in API level 26 432 + * 433 + * Java prototype: 434 + * `public final android.database.Cursor query(android.net.Uri, 435 + * java.lang.String[], android.os.Bundle, android.os.CancellationSignal);` 436 + * 437 + * JNI signature: 438 + * (Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor; 439 + * 440 + */ 441 + database::Cursor query(jni::Object const &uri, 442 + jni::Array<std::string> const &projection, 443 + os::Bundle const &queryArgs, 444 + jni::Object const &cancellationSignal); 445 + 446 + /*! 447 + * Class metadata 448 + */ 449 + struct Meta : public MetaBaseDroppable { 450 + jni::method_t query; 451 + jni::method_t query1; 452 + jni::method_t query2; 453 + 454 + /*! 455 + * Singleton accessor 456 + */ 457 + static Meta &data() { 458 + static Meta instance{}; 459 + return instance; 460 + } 461 + 462 + private: 463 + Meta(); 464 + }; 465 + }; 466 + 377 467 } // namespace android::content 378 468 } // namespace wrap 379 469 #include "android.content.impl.h"
+50 -21
src/external/android-jni-wrap/wrap/android.content.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 7 8 #include "android.content.pm.h" 9 + #include "android.database.h" 8 10 #include "android.os.h" 9 11 #include "java.lang.h" 10 12 #include <string> ··· 12 14 namespace wrap { 13 15 namespace android::content { 14 16 inline std::string Context::DISPLAY_SERVICE() { 15 - // Defer dropping the class ref to avoid having to do two class lookups 16 - // by name for this static field. Instead, drop it before we return. 17 17 auto &data = Meta::data(true); 18 18 auto ret = get(data.DISPLAY_SERVICE, data.clazz()); 19 19 data.dropClassRef(); ··· 21 21 } 22 22 23 23 inline std::string Context::WINDOW_SERVICE() { 24 - // Defer dropping the class ref to avoid having to do two class lookups 25 - // by name for this static field. Instead, drop it before we return. 26 24 auto &data = Meta::data(true); 27 25 auto ret = get(data.WINDOW_SERVICE, data.clazz()); 28 26 data.dropClassRef(); ··· 35 33 object().call<jni::Object>(Meta::data().getPackageManager)); 36 34 } 37 35 36 + inline ContentResolver Context::getContentResolver() const { 37 + assert(!isNull()); 38 + return ContentResolver( 39 + object().call<jni::Object>(Meta::data().getContentResolver)); 40 + } 41 + 38 42 inline Context Context::getApplicationContext() { 39 43 assert(!isNull()); 40 44 return Context( ··· 65 69 return Context(object().call<jni::Object>(Meta::data().createPackageContext, 66 70 packageName, flags)); 67 71 } 72 + 68 73 inline ComponentName ComponentName::construct(std::string const &pkg, 69 - std::string const &cls) { 74 + std::string const &className) { 70 75 return ComponentName( 71 - Meta::data().clazz().newInstance(Meta::data().init, pkg, cls)); 76 + Meta::data().clazz().newInstance(Meta::data().init, pkg, className)); 72 77 } 73 78 74 - inline ComponentName ComponentName::construct(Context const &pkg, 75 - std::string const &cls) { 76 - return ComponentName(Meta::data().clazz().newInstance(Meta::data().init1, 77 - pkg.object(), cls)); 79 + inline ComponentName ComponentName::construct(Context const &context, 80 + std::string const &className) { 81 + return ComponentName(Meta::data().clazz().newInstance( 82 + Meta::data().init1, context.object(), className)); 78 83 } 79 84 80 - inline ComponentName ComponentName::construct(Context const &pkg, 85 + inline ComponentName ComponentName::construct(Context const &context, 81 86 java::lang::Class const &cls) { 82 87 return ComponentName(Meta::data().clazz().newInstance( 83 - Meta::data().init2, pkg.object(), cls.object())); 88 + Meta::data().init2, context.object(), cls.object())); 84 89 } 85 90 86 91 inline ComponentName ComponentName::construct(jni::Object const &parcel) { 87 92 return ComponentName( 88 93 Meta::data().clazz().newInstance(Meta::data().init3, parcel)); 89 94 } 95 + 90 96 inline int32_t Intent::FLAG_ACTIVITY_NEW_TASK() { 91 97 return get(Meta::data().FLAG_ACTIVITY_NEW_TASK, Meta::data().clazz()); 92 98 } 93 99 94 - #if 0 95 - // disabled because of zero-length array warning in jnipp 96 - inline Intent Intent::construct() { 97 - return Intent(Meta::data().clazz().newInstance(Meta::data().init)); 98 - } 99 - #endif 100 - 101 - inline Intent Intent::construct(Intent &intent) { 100 + inline Intent Intent::construct(Intent const &intent) { 102 101 return Intent( 103 102 Meta::data().clazz().newInstance(Meta::data().init1, intent.object())); 104 103 } ··· 131 130 assert(!isNull()); 132 131 return Intent(object().call<jni::Object>(Meta::data().setFlags, flags)); 133 132 } 133 + 134 + inline database::Cursor ContentResolver::query( 135 + jni::Object const &uri, jni::Array<std::string> const &projection, 136 + std::string const &selection, jni::Array<std::string> const &selectionArgs, 137 + std::string const &sortOrder) { 138 + assert(!isNull()); 139 + return database::Cursor( 140 + object().call<jni::Object>(Meta::data().query, uri, projection, 141 + selection, selectionArgs, sortOrder)); 142 + } 143 + 144 + inline database::Cursor ContentResolver::query( 145 + jni::Object const &uri, jni::Array<std::string> const &projection, 146 + std::string const &selection, jni::Array<std::string> const &selectionArgs, 147 + std::string const &sortOrder, jni::Object const &cancellationSignal) { 148 + assert(!isNull()); 149 + return database::Cursor(object().call<jni::Object>( 150 + Meta::data().query1, uri, projection, selection, selectionArgs, 151 + sortOrder, cancellationSignal)); 152 + } 153 + 154 + inline database::Cursor ContentResolver::query( 155 + jni::Object const &uri, jni::Array<std::string> const &projection, 156 + os::Bundle const &queryArgs, jni::Object const &cancellationSignal) { 157 + assert(!isNull()); 158 + return database::Cursor( 159 + object().call<jni::Object>(Meta::data().query2, uri, projection, 160 + queryArgs.object(), cancellationSignal)); 161 + } 162 + 134 163 } // namespace android::content 135 164 } // namespace wrap
+1 -4
src/external/android-jni-wrap/wrap/android.content.pm.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 40 40 getPackageInfo(classRef().getMethod( 41 41 "getPackageInfo", 42 42 "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;")), 43 - getPackageInfo1(classRef().getMethod( 44 - "getPackageInfo", "(Landroid/content/pm/VersionedPackage;I)Landroid/" 45 - "content/pm/PackageInfo;")), 46 43 getApplicationInfo(classRef().getMethod( 47 44 "getApplicationInfo", 48 45 "(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;")),
+16 -28
src/external/android-jni-wrap/wrap/android.content.pm.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 86 86 * Singleton accessor 87 87 */ 88 88 static Meta &data() { 89 - static Meta instance; 89 + static Meta instance{}; 90 90 return instance; 91 91 } 92 92 ··· 94 94 Meta(); 95 95 }; 96 96 }; 97 + 97 98 /*! 98 99 * Wrapper for android.content.pm.ComponentInfo objects. 99 100 */ ··· 113 114 * Singleton accessor 114 115 */ 115 116 static Meta &data() { 116 - static Meta instance; 117 + static Meta instance{}; 117 118 return instance; 118 119 } 119 120 ··· 121 122 Meta(); 122 123 }; 123 124 }; 125 + 124 126 /*! 125 127 * Wrapper for android.content.pm.ServiceInfo objects. 126 128 */ ··· 140 142 * Singleton accessor 141 143 */ 142 144 static Meta &data() { 143 - static Meta instance; 145 + static Meta instance{}; 144 146 return instance; 145 147 } 146 148 ··· 148 150 Meta(); 149 151 }; 150 152 }; 153 + 151 154 /*! 152 155 * Wrapper for android.content.pm.ApplicationInfo objects. 153 156 */ ··· 191 194 * Singleton accessor 192 195 */ 193 196 static Meta &data() { 194 - static Meta instance; 197 + static Meta instance{}; 195 198 return instance; 196 199 } 197 200 ··· 199 202 Meta(); 200 203 }; 201 204 }; 205 + 202 206 /*! 203 207 * Wrapper for android.content.pm.PackageInfo objects. 204 208 */ ··· 242 246 * Singleton accessor 243 247 */ 244 248 static Meta &data() { 245 - static Meta instance; 249 + static Meta instance{}; 246 250 return instance; 247 251 } 248 252 ··· 250 254 Meta(); 251 255 }; 252 256 }; 257 + 253 258 /*! 254 259 * Wrapper for android.content.pm.ResolveInfo objects. 255 260 */ ··· 281 286 * Singleton accessor 282 287 */ 283 288 static Meta &data() { 284 - static Meta instance; 289 + static Meta instance{}; 285 290 return instance; 286 291 } 287 292 ··· 289 294 Meta(); 290 295 }; 291 296 }; 297 + 292 298 /*! 293 299 * Wrapper for android.content.pm.PackageManager objects. 294 300 */ ··· 312 318 */ 313 319 PackageInfo getPackageInfo(std::string const &name, int32_t flags); 314 320 315 - #if 0 316 - // Ambiguous overload until we wrap VersionedPackage 317 - /*! 318 - * Wrapper for the getPackageInfo method 319 - * 320 - * Java prototype: 321 - * `public abstract android.content.pm.PackageInfo 322 - * getPackageInfo(android.content.pm.VersionedPackage, int) throws 323 - * android.content.pm.PackageManager$NameNotFoundException;` 324 - * 325 - * JNI signature: 326 - * (Landroid/content/pm/VersionedPackage;I)Landroid/content/pm/PackageInfo; 327 - * 328 - */ 329 - PackageInfo getPackageInfo(jni::Object &versionedPackage, int32_t flags); 330 - 331 - #endif 332 - 333 321 /*! 334 322 * Wrapper for the getApplicationInfo method 335 323 * ··· 354 342 * JNI signature: (Landroid/content/Intent;I)Ljava/util/List; 355 343 * 356 344 */ 357 - java::util::List queryIntentServices(Intent &intent, int32_t intParam); 345 + java::util::List queryIntentServices(Intent const &intent, int32_t flags); 358 346 359 347 enum { 360 348 GET_META_DATA = 128, ··· 366 354 */ 367 355 struct Meta : public MetaBaseDroppable { 368 356 jni::method_t getPackageInfo; 369 - jni::method_t getPackageInfo1; 370 357 jni::method_t getApplicationInfo; 371 358 jni::method_t queryIntentServices; 372 359 ··· 374 361 * Singleton accessor 375 362 */ 376 363 static Meta &data() { 377 - static Meta instance; 364 + static Meta instance{}; 378 365 return instance; 379 366 } 380 367 ··· 382 369 Meta(); 383 370 }; 384 371 }; 372 + 385 373 } // namespace android::content::pm 386 374 } // namespace wrap 387 375 #include "android.content.pm.impl.h"
+9 -15
src/external/android-jni-wrap/wrap/android.content.pm.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 34 35 assert(!isNull()); 35 36 return get(Meta::data().publicSourceDir, object()); 36 37 } 38 + 37 39 inline ApplicationInfo PackageInfo::getApplicationInfo() const { 38 40 assert(!isNull()); 39 41 return get(Meta::data().applicationInfo, object()); ··· 43 45 assert(!isNull()); 44 46 return get(Meta::data().packageName, object()); 45 47 } 48 + 46 49 inline ServiceInfo ResolveInfo::getServiceInfo() const { 47 50 assert(!isNull()); 48 51 return get(Meta::data().serviceInfo, object()); 49 52 } 53 + 50 54 inline PackageInfo PackageManager::getPackageInfo(std::string const &name, 51 55 int32_t flags) { 52 56 assert(!isNull()); ··· 54 58 object().call<jni::Object>(Meta::data().getPackageInfo, name, flags)); 55 59 } 56 60 57 - #if 0 58 - // Ambiguous overload until we wrap VersionedPackage 59 - inline PackageInfo 60 - PackageManager::getPackageInfo(jni::Object const &versionedPackage, 61 - int32_t flags) { 62 - assert(!isNull()); 63 - return PackageInfo(object().call<jni::Object>(Meta::data().getPackageInfo1, 64 - versionedPackage, flags)); 65 - } 66 - #endif 67 - 68 61 inline ApplicationInfo 69 62 PackageManager::getApplicationInfo(std::string const &packageName, 70 63 int32_t flags) { ··· 73 66 Meta::data().getApplicationInfo, packageName, flags)); 74 67 } 75 68 76 - inline java::util::List PackageManager::queryIntentServices(Intent &intent, 77 - int32_t intParam) { 69 + inline java::util::List 70 + PackageManager::queryIntentServices(Intent const &intent, int32_t flags) { 78 71 assert(!isNull()); 79 72 return java::util::List(object().call<jni::Object>( 80 - Meta::data().queryIntentServices, intent.object(), intParam)); 73 + Meta::data().queryIntentServices, intent.object(), flags)); 81 74 } 75 + 82 76 } // namespace android::content::pm 83 77 } // namespace wrap
+22
src/external/android-jni-wrap/wrap/android.database.cpp
··· 1 + // Copyright 2020-2021, Collabora, Ltd. 2 + // SPDX-License-Identifier: BSL-1.0 3 + // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + 5 + #include "android.database.h" 6 + 7 + namespace wrap { 8 + namespace android::database { 9 + Cursor::Meta::Meta() 10 + : MetaBaseDroppable(Cursor::getTypeName()), 11 + getCount(classRef().getMethod("getCount", "()I")), 12 + moveToFirst(classRef().getMethod("moveToFirst", "()Z")), 13 + moveToNext(classRef().getMethod("moveToNext", "()Z")), 14 + getColumnIndex( 15 + classRef().getMethod("getColumnIndex", "(Ljava/lang/String;)I")), 16 + getString(classRef().getMethod("getString", "(I)Ljava/lang/String;")), 17 + getInt(classRef().getMethod("getInt", "(I)I")), 18 + close(classRef().getMethod("close", "()V")) { 19 + MetaBaseDroppable::dropClassRef(); 20 + } 21 + } // namespace android::database 22 + } // namespace wrap
+125
src/external/android-jni-wrap/wrap/android.database.h
··· 1 + // Copyright 2020-2021, Collabora, Ltd. 2 + // SPDX-License-Identifier: BSL-1.0 3 + // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + 5 + #pragma once 6 + 7 + #include "ObjectWrapperBase.h" 8 + 9 + namespace wrap { 10 + namespace android::database { 11 + /*! 12 + * Wrapper for android.database.Cursor objects. 13 + */ 14 + class Cursor : public ObjectWrapperBase { 15 + public: 16 + using ObjectWrapperBase::ObjectWrapperBase; 17 + static constexpr const char *getTypeName() noexcept { 18 + return "android/database/Cursor"; 19 + } 20 + 21 + /*! 22 + * Wrapper for the getCount method 23 + * 24 + * Java prototype: 25 + * `public abstract int getCount();` 26 + * 27 + * JNI signature: ()I 28 + * 29 + */ 30 + int32_t getCount(); 31 + 32 + /*! 33 + * Wrapper for the moveToFirst method 34 + * 35 + * Java prototype: 36 + * `public abstract boolean moveToFirst();` 37 + * 38 + * JNI signature: ()Z 39 + * 40 + */ 41 + bool moveToFirst(); 42 + 43 + /*! 44 + * Wrapper for the moveToNext method 45 + * 46 + * Java prototype: 47 + * `public abstract boolean moveToNext();` 48 + * 49 + * JNI signature: ()Z 50 + * 51 + */ 52 + bool moveToNext(); 53 + 54 + /*! 55 + * Wrapper for the getColumnIndex method 56 + * 57 + * Java prototype: 58 + * `public abstract int getColumnIndex(java.lang.String);` 59 + * 60 + * JNI signature: (Ljava/lang/String;)I 61 + * 62 + */ 63 + int32_t getColumnIndex(std::string const &columnName); 64 + 65 + /*! 66 + * Wrapper for the getString method 67 + * 68 + * Java prototype: 69 + * `public abstract java.lang.String getString(int);` 70 + * 71 + * JNI signature: (I)Ljava/lang/String; 72 + * 73 + */ 74 + std::string getString(int32_t column); 75 + 76 + /*! 77 + * Wrapper for the getInt method 78 + * 79 + * Java prototype: 80 + * `public abstract int getInt(int);` 81 + * 82 + * JNI signature: (I)I 83 + * 84 + */ 85 + int32_t getInt(int32_t column); 86 + 87 + /*! 88 + * Wrapper for the close method 89 + * 90 + * Java prototype: 91 + * `public abstract void close();` 92 + * 93 + * JNI signature: ()V 94 + * 95 + */ 96 + void close(); 97 + 98 + /*! 99 + * Class metadata 100 + */ 101 + struct Meta : public MetaBaseDroppable { 102 + jni::method_t getCount; 103 + jni::method_t moveToFirst; 104 + jni::method_t moveToNext; 105 + jni::method_t getColumnIndex; 106 + jni::method_t getString; 107 + jni::method_t getInt; 108 + jni::method_t close; 109 + 110 + /*! 111 + * Singleton accessor 112 + */ 113 + static Meta &data() { 114 + static Meta instance{}; 115 + return instance; 116 + } 117 + 118 + private: 119 + Meta(); 120 + }; 121 + }; 122 + 123 + } // namespace android::database 124 + } // namespace wrap 125 + #include "android.database.impl.h"
+48
src/external/android-jni-wrap/wrap/android.database.impl.h
··· 1 + // Copyright 2020-2021, Collabora, Ltd. 2 + // SPDX-License-Identifier: BSL-1.0 3 + // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 5 + 6 + #pragma once 7 + 8 + #include <string> 9 + 10 + namespace wrap { 11 + namespace android::database { 12 + inline int32_t Cursor::getCount() { 13 + assert(!isNull()); 14 + return object().call<int32_t>(Meta::data().getCount); 15 + } 16 + 17 + inline bool Cursor::moveToFirst() { 18 + assert(!isNull()); 19 + return object().call<bool>(Meta::data().moveToFirst); 20 + } 21 + 22 + inline bool Cursor::moveToNext() { 23 + assert(!isNull()); 24 + return object().call<bool>(Meta::data().moveToNext); 25 + } 26 + 27 + inline int32_t Cursor::getColumnIndex(std::string const &columnName) { 28 + assert(!isNull()); 29 + return object().call<int32_t>(Meta::data().getColumnIndex, columnName); 30 + } 31 + 32 + inline std::string Cursor::getString(int32_t column) { 33 + assert(!isNull()); 34 + return object().call<std::string>(Meta::data().getString, column); 35 + } 36 + 37 + inline int32_t Cursor::getInt(int32_t column) { 38 + assert(!isNull()); 39 + return object().call<int32_t>(Meta::data().getInt, column); 40 + } 41 + 42 + inline void Cursor::close() { 43 + assert(!isNull()); 44 + return object().call<void>(Meta::data().close); 45 + } 46 + 47 + } // namespace android::database 48 + } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.graphics.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+3 -2
src/external/android-jni-wrap/wrap/android.graphics.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 51 51 * Singleton accessor 52 52 */ 53 53 static Meta &data() { 54 - static Meta instance; 54 + static Meta instance{}; 55 55 return instance; 56 56 } 57 57 ··· 59 59 Meta(); 60 60 }; 61 61 }; 62 + 62 63 } // namespace android::graphics 63 64 } // namespace wrap 64 65 #include "android.graphics.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/android.graphics.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 15 16 assert(!isNull()); 16 17 return get(Meta::data().y, object()); 17 18 } 19 + 18 20 } // namespace android::graphics 19 21 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.os.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+6 -4
src/external/android-jni-wrap/wrap/android.os.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 71 71 * Singleton accessor 72 72 */ 73 73 static Meta &data() { 74 - static Meta instance; 74 + static Meta instance{}; 75 75 return instance; 76 76 } 77 77 ··· 79 79 Meta(); 80 80 }; 81 81 }; 82 + 82 83 /*! 83 84 * Wrapper for android.os.Bundle objects. 84 85 */ ··· 98 99 * Singleton accessor 99 100 */ 100 101 static Meta &data() { 101 - static Meta instance; 102 + static Meta instance{}; 102 103 return instance; 103 104 } 104 105 ··· 186 187 * Singleton accessor 187 188 */ 188 189 static Meta &data() { 189 - static Meta instance; 190 + static Meta instance{}; 190 191 return instance; 191 192 } 192 193 ··· 194 195 Meta(); 195 196 }; 196 197 }; 198 + 197 199 } // namespace android::os 198 200 } // namespace wrap 199 201 #include "android.os.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/android.os.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 49 50 assert(!isNull()); 50 51 return object().call<void>(Meta::data().checkError); 51 52 } 53 + 52 54 } // namespace android::os 53 55 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.provider.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+3 -2
src/external/android-jni-wrap/wrap/android.provider.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 40 40 * Singleton accessor 41 41 */ 42 42 static Meta &data() { 43 - static Meta instance; 43 + static Meta instance{}; 44 44 return instance; 45 45 } 46 46 ··· 48 48 Meta(); 49 49 }; 50 50 }; 51 + 51 52 } // namespace android::provider 52 53 } // namespace wrap 53 54 #include "android.provider.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/android.provider.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 9 10 inline std::string Settings::ACTION_VR_LISTENER_SETTINGS() { 10 11 return get(Meta::data().ACTION_VR_LISTENER_SETTINGS, Meta::data().clazz()); 11 12 } 13 + 12 14 } // namespace android::provider 13 15 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.service.vr.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+3 -2
src/external/android-jni-wrap/wrap/android.service.vr.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 52 52 * Singleton accessor 53 53 */ 54 54 static Meta &data() { 55 - static Meta instance; 55 + static Meta instance{}; 56 56 return instance; 57 57 } 58 58 ··· 60 60 Meta(); 61 61 }; 62 62 }; 63 + 63 64 } // namespace android::service::vr 64 65 } // namespace wrap 65 66 #include "android.service.vr.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/android.service.vr.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 15 16 context.object(), 16 17 componentName.object()); 17 18 } 19 + 18 20 } // namespace android::service::vr 19 21 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.util.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+3 -2
src/external/android-jni-wrap/wrap/android.util.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 51 51 * Singleton accessor 52 52 */ 53 53 static Meta &data() { 54 - static Meta instance; 54 + static Meta instance{}; 55 55 return instance; 56 56 } 57 57 ··· 59 59 Meta(); 60 60 }; 61 61 }; 62 + 62 63 } // namespace android::util 63 64 } // namespace wrap 64 65 #include "android.util.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/android.util.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 15 16 assert(!isNull()); 16 17 return get(Meta::data().widthPixels, object()); 17 18 } 19 + 18 20 } // namespace android::util 19 21 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.view.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+7 -4
src/external/android-jni-wrap/wrap/android.view.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 66 66 * Singleton accessor 67 67 */ 68 68 static Meta &data() { 69 - static Meta instance; 69 + static Meta instance{}; 70 70 return instance; 71 71 } 72 72 ··· 74 74 Meta(); 75 75 }; 76 76 }; 77 + 77 78 /*! 78 79 * Wrapper for android.view.Surface objects. 79 80 */ ··· 105 106 * Singleton accessor 106 107 */ 107 108 static Meta &data() { 108 - static Meta instance; 109 + static Meta instance{}; 109 110 return instance; 110 111 } 111 112 ··· 113 114 Meta(); 114 115 }; 115 116 }; 117 + 116 118 /*! 117 119 * Wrapper for android.view.SurfaceHolder objects. 118 120 */ ··· 144 146 * Singleton accessor 145 147 */ 146 148 static Meta &data() { 147 - static Meta instance; 149 + static Meta instance{}; 148 150 return instance; 149 151 } 150 152 ··· 152 154 Meta(); 153 155 }; 154 156 }; 157 + 155 158 } // namespace android::view 156 159 } // namespace wrap 157 160 #include "android.view.impl.h"
+5 -1
src/external/android-jni-wrap/wrap/android.view.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 19 20 return object().call<void>(Meta::data().getRealMetrics, 20 21 out_displayMetrics.object()); 21 22 } 23 + 22 24 inline bool Surface::isValid() const { 23 25 assert(!isNull()); 24 26 return object().call<bool>(Meta::data().isValid); 25 27 } 28 + 26 29 inline Surface SurfaceHolder::getSurface() { 27 30 assert(!isNull()); 28 31 return Surface(object().call<jni::Object>(Meta::data().getSurface)); 29 32 } 33 + 30 34 } // namespace android::view 31 35 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/android.widget.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+5 -4
src/external/android-jni-wrap/wrap/android.widget.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 74 74 * 75 75 */ 76 76 static Toast makeText(content::Context const &context, 77 - std::string const &stringParam, int32_t duration); 77 + jni::Object const &text, int32_t duration); 78 78 79 79 /*! 80 80 * Wrapper for the makeText static method ··· 86 86 * JNI signature: (Landroid/content/Context;II)Landroid/widget/Toast; 87 87 * 88 88 */ 89 - static Toast makeText(content::Context &context, int32_t resId, 89 + static Toast makeText(content::Context const &context, int32_t resId, 90 90 int32_t duration); 91 91 92 92 /*! ··· 103 103 * Singleton accessor 104 104 */ 105 105 static Meta &data() { 106 - static Meta instance; 106 + static Meta instance{}; 107 107 return instance; 108 108 } 109 109 ··· 111 111 Meta(); 112 112 }; 113 113 }; 114 + 114 115 } // namespace android::widget 115 116 } // namespace wrap 116 117 #include "android.widget.impl.h"
+6 -4
src/external/android-jni-wrap/wrap/android.widget.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 22 23 } 23 24 24 25 inline Toast Toast::makeText(content::Context const &context, 25 - std::string const &stringParam, int32_t duration) { 26 + jni::Object const &text, int32_t duration) { 26 27 return Toast(Meta::data().clazz().call<jni::Object>( 27 - Meta::data().makeText, context.object(), stringParam, duration)); 28 + Meta::data().makeText, context.object(), text, duration)); 28 29 } 29 30 30 - inline Toast Toast::makeText(content::Context &context, int32_t resId, 31 + inline Toast Toast::makeText(content::Context const &context, int32_t resId, 31 32 int32_t duration) { 32 33 return Toast(Meta::data().clazz().call<jni::Object>( 33 34 Meta::data().makeText1, context.object(), resId, duration)); 34 35 } 36 + 35 37 } // namespace android::widget 36 38 } // namespace wrap
-15
src/external/android-jni-wrap/wrap/dalvik.system.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 2 - // SPDX-License-Identifier: BSL-1.0 3 - // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 - 5 - #include "dalvik.system.h" 6 - 7 - namespace wrap { 8 - namespace dalvik::system { 9 - DexClassLoader::Meta::Meta() 10 - : MetaBase(DexClassLoader::getTypeName()), 11 - init(classRef().getMethod("<init>", 12 - "(Ljava/lang/String;Ljava/lang/String;Ljava/" 13 - "lang/String;Ljava/lang/ClassLoader;)V")) {} 14 - } // namespace dalvik::system 15 - } // namespace wrap
-67
src/external/android-jni-wrap/wrap/dalvik.system.h
··· 1 - // Copyright 2020, Collabora, Ltd. 2 - // SPDX-License-Identifier: BSL-1.0 3 - // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 - 5 - #pragma once 6 - 7 - #include "ObjectWrapperBase.h" 8 - 9 - namespace wrap { 10 - namespace dalvik::system { 11 - class DexClassLoader; 12 - } // namespace dalvik::system 13 - 14 - namespace java::lang { 15 - class ClassLoader; 16 - } // namespace java::lang 17 - 18 - } // namespace wrap 19 - 20 - namespace wrap { 21 - namespace dalvik::system { 22 - /*! 23 - * Wrapper for dalvik.system.DexClassLoader objects. 24 - */ 25 - class DexClassLoader : public ObjectWrapperBase { 26 - public: 27 - using ObjectWrapperBase::ObjectWrapperBase; 28 - static constexpr const char *getTypeName() noexcept { 29 - return "dalvik/system/DexClassLoader"; 30 - } 31 - 32 - /*! 33 - * Wrapper for a constructor 34 - * 35 - * Java prototype: 36 - * `public dalvik.system.DexClassLoader(java.lang.String, java.lang.String, 37 - * java.lang.String, java.lang.ClassLoader);` 38 - * 39 - * JNI signature: 40 - * (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V 41 - * 42 - */ 43 - static DexClassLoader construct(std::string const &searchPath, 44 - std::string const &nativeSearchPath, 45 - jni::Object parentClassLoader); 46 - 47 - /*! 48 - * Class metadata 49 - */ 50 - struct Meta : public MetaBase { 51 - jni::method_t init; 52 - 53 - /*! 54 - * Singleton accessor 55 - */ 56 - static Meta &data() { 57 - static Meta instance; 58 - return instance; 59 - } 60 - 61 - private: 62 - Meta(); 63 - }; 64 - }; 65 - } // namespace dalvik::system 66 - } // namespace wrap 67 - #include "dalvik.system.impl.h"
-21
src/external/android-jni-wrap/wrap/dalvik.system.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 2 - // SPDX-License-Identifier: BSL-1.0 3 - // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 - 5 - #pragma once 6 - 7 - #include "java.lang.h" 8 - #include <string> 9 - 10 - namespace wrap { 11 - namespace dalvik::system { 12 - inline DexClassLoader 13 - DexClassLoader::construct(std::string const &searchPath, 14 - std::string const &nativeSearchPath, 15 - jni::Object parentClassLoader) { 16 - return DexClassLoader{ 17 - Meta::data().clazz().newInstance(Meta::data().init, searchPath, "", 18 - nativeSearchPath, parentClassLoader)}; 19 - } 20 - } // namespace dalvik::system 21 - } // namespace wrap
+1 -4
src/external/android-jni-wrap/wrap/java.lang.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 13 13 forName1(classRef().getStaticMethod( 14 14 "forName", 15 15 "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;")), 16 - forName2(classRef().getStaticMethod( 17 - "forName", 18 - "(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;")), 19 16 getCanonicalName( 20 17 classRef().getMethod("getCanonicalName", "()Ljava/lang/String;")) {} 21 18 ClassLoader::Meta::Meta()
+9 -19
src/external/android-jni-wrap/wrap/java.lang.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 36 36 * JNI signature: (Ljava/lang/String;)Ljava/lang/Class; 37 37 * 38 38 */ 39 - static Class forName(std::string &stringParam); 39 + static Class forName(std::string const &name); 40 40 41 41 /*! 42 42 * Wrapper for the forName static method ··· 50 50 * 51 51 */ 52 52 static Class forName(std::string const &name, bool initialize, 53 - jni::Object classLoader); 53 + ClassLoader const &classLoader); 54 54 55 55 //! @overload 56 56 static Class forName(jstring name, bool initialize, 57 57 jni::Object classLoader); 58 58 /*! 59 - * Wrapper for the forName static method 60 - * 61 - * Java prototype: 62 - * `public static java.lang.Class<?> forName(java.lang.Module, 63 - * java.lang.String);` 64 - * 65 - * JNI signature: (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class; 66 - * 67 - */ 68 - static Class forName(jni::Object const &module, std::string const &name); 69 - 70 - /*! 71 59 * Wrapper for the getCanonicalName method 72 60 * 73 61 * Java prototype: ··· 84 72 struct Meta : public MetaBase { 85 73 jni::method_t forName; 86 74 jni::method_t forName1; 87 - jni::method_t forName2; 88 75 jni::method_t getCanonicalName; 89 76 90 77 /*! 91 78 * Singleton accessor 92 79 */ 93 80 static Meta &data() { 94 - static Meta instance; 81 + static Meta instance{}; 95 82 return instance; 96 83 } 97 84 ··· 99 86 Meta(); 100 87 }; 101 88 }; 89 + 102 90 /*! 103 91 * Wrapper for java.lang.ClassLoader objects. 104 92 */ ··· 143 131 * Singleton accessor 144 132 */ 145 133 static Meta &data() { 146 - static Meta instance; 134 + static Meta instance{}; 147 135 return instance; 148 136 } 149 137 ··· 151 139 Meta(); 152 140 }; 153 141 }; 142 + 154 143 /*! 155 144 * Wrapper for java.lang.System objects. 156 145 */ ··· 182 171 * Singleton accessor 183 172 */ 184 173 static Meta &data() { 185 - static Meta instance; 174 + static Meta instance{}; 186 175 return instance; 187 176 } 188 177 ··· 190 179 Meta(); 191 180 }; 192 181 }; 182 + 193 183 } // namespace java::lang 194 184 } // namespace wrap 195 185 #include "java.lang.impl.h"
+8 -12
src/external/android-jni-wrap/wrap/java.lang.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 8 9 9 10 namespace wrap { 10 11 namespace java::lang { 11 - inline Class Class::forName(std::string &stringParam) { 12 - return Class(Meta::data().clazz().call<jni::Object>(Meta::data().forName, 13 - stringParam)); 12 + inline Class Class::forName(std::string const &name) { 13 + return Class( 14 + Meta::data().clazz().call<jni::Object>(Meta::data().forName, name)); 14 15 } 15 16 16 17 inline Class Class::forName(std::string const &name, bool initialize, 17 - jni::Object classLoader) { 18 + ClassLoader const &classLoader) { 18 19 return Class(Meta::data().clazz().call<jni::Object>( 19 - Meta::data().forName1, name, initialize, classLoader)); 20 + Meta::data().forName1, name, initialize, classLoader.object())); 20 21 } 21 22 22 23 inline Class Class::forName(jstring name, bool initialize, 23 24 jni::Object classLoader) { 24 25 return Class{Meta::data().clazz().call<jni::Object>( 25 26 Meta::data().forName, name, initialize, classLoader)}; 26 - } 27 - 28 - inline Class Class::forName(jni::Object const &module, 29 - std::string const &name) { 30 - return Class(Meta::data().clazz().call<jni::Object>(Meta::data().forName2, 31 - module, name)); 32 27 } 33 28 34 29 inline std::string Class::getCanonicalName() { ··· 55 50 return Meta::data().clazz().call<std::string>(Meta::data().mapLibraryName, 56 51 name); 57 52 } 53 + 58 54 } // namespace java::lang 59 55 } // namespace wrap
+1 -1
src/external/android-jni-wrap/wrap/java.util.cpp
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4
+3 -2
src/external/android-jni-wrap/wrap/java.util.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 4 ··· 51 51 * Singleton accessor 52 52 */ 53 53 static Meta &data() { 54 - static Meta instance; 54 + static Meta instance{}; 55 55 return instance; 56 56 } 57 57 ··· 59 59 Meta(); 60 60 }; 61 61 }; 62 + 62 63 } // namespace java::util 63 64 } // namespace wrap 64 65 #include "java.util.impl.h"
+3 -1
src/external/android-jni-wrap/wrap/java.util.impl.h
··· 1 - // Copyright 2020, Collabora, Ltd. 1 + // Copyright 2020-2021, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 // Author: Ryan Pavlik <ryan.pavlik@collabora.com> 4 + // Inline implementations: do not include on its own! 4 5 5 6 #pragma once 6 7 ··· 15 16 assert(!isNull()); 16 17 return object().call<jni::Object>(Meta::data().get, index); 17 18 } 19 + 18 20 } // namespace java::util 19 21 } // namespace wrap