MCPcopy Create free account
hub / github.com/Snapchat/Valdi / loadModule

Method loadModule

valdi/src/valdi/android/NativeBridge.cpp:368–396  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366 runtimeManagerWrapper->getRuntimeManager().attachHotReloader(runtimeWrapper->getSharedRuntime());
367 runtimeWrapper->getRuntime().emitInitMetrics();
368}
369
370/*
371 * Class: snapchat_valdi_nativebridge_ValdiNativeBridge
372 * Method: deleteRuntime
373 * Signature: (J)V
374 */
375void ValdiAndroid::NativeBridge::deleteRuntime( // NOLINT
376 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
377 jlong handle) {
378 auto* runtimeWrapper = getRuntimeWrapper(handle);
379 delete runtimeWrapper;
380}
381
382void ValdiAndroid::NativeBridge::loadModule( // NOLINT
383 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
384 jlong runtimeHandle,
385 jstring moduleName,
386 fbjni::alias_ref<JValdiFunction> completion) { // NOLINT
387 auto* runtime = getRuntime(runtimeHandle);
388 if (runtime == nullptr) {
389 return;
390 }
391 auto* env = fbjni::Environment::current();
392 auto javaEnv = ValdiAndroid::JavaEnv();
393 auto cppModuleName = ValdiAndroid::toInternedString(javaEnv, moduleName);
394 auto completionConverted = ValdiAndroid::toValue(javaEnv, ValdiAndroid::JavaEnv::newLocalRef(completion.get()));
395
396 if (completionConverted.getFunction() == nullptr) {
397 ValdiAndroid::throwJavaValdiException(env, "completion should be a function");
398 return;
399 }

Callers

nothing calls this directly

Calls 10

getRuntimeFunction · 0.85
toInternedStringFunction · 0.85
toValueFunction · 0.85
throwJavaValdiExceptionFunction · 0.85
loadModuleAsyncMethod · 0.80
getMethod · 0.65
getFunctionMethod · 0.65
errorMethod · 0.65
JavaEnvClass · 0.50
ValueClass · 0.50

Tested by

no test coverage detected