Example #1
0
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))
Example #2
0
 def _SetDictValue(self, key, value):
   self.registration_dict[key] = jni_generator.WrapOutput(value)