def CreateFromDict(registration_dict): """Returns the content of the header file.""" template = string.Template("""\ // Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file is autogenerated by // base/android/jni_generator/jni_registration_generator.py // Please do not change its content. #ifndef HEADER_GUARD #define HEADER_GUARD #include <jni.h> #include "base/android/jni_generator/jni_generator_helper.h" #include "base/android/jni_int_wrapper.h" // Step 1: Forward declaration. ${CLASS_PATH_DECLARATIONS} ${FORWARD_DECLARATIONS} // Step 2: Method declarations. ${JNI_NATIVE_METHOD_ARRAY} ${JNI_NATIVE_METHOD} // Step 3: Main dex and non-main dex registration functions. bool RegisterMainDexNatives(JNIEnv* env) { ${REGISTER_MAIN_DEX_NATIVES} return true; } bool RegisterNonMainDexNatives(JNIEnv* env) { ${REGISTER_NON_MAIN_DEX_NATIVES} return true; } #endif // HEADER_GUARD """) if len(registration_dict['FORWARD_DECLARATIONS']) == 0: return '' # Ensure all values exist. registration_dict.setdefault('CLASS_PATH_DECLARATIONS', '') registration_dict.setdefault('FORWARD_DECLARATIONS', '') registration_dict.setdefault('JNI_NATIVE_METHOD', '') registration_dict.setdefault('JNI_NATIVE_METHOD_ARRAY', '') registration_dict.setdefault('REGISTER_MAIN_DEX_NATIVES', '') registration_dict.setdefault('REGISTER_NON_MAIN_DEX_NATIVES', '') return jni_generator.WrapOutput(template.substitute(registration_dict))
def _SetDictValue(self, key, value): self.registration_dict[key] = jni_generator.WrapOutput(value)