| // Copyright 2018 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. |
| |
| #include "base/android/jni_array.h" |
| #include "base/android/jni_string.h" |
| #include "jni/CrashpadMain_jni.h" |
| #include "third_party/crashpad/crashpad/client/client_argv_handling.h" |
| #include "third_party/crashpad/crashpad/handler/handler_main.h" |
| |
| namespace crashpad { |
| |
| static void JNI_CrashpadMain_CrashpadMain( |
| JNIEnv* env, |
| const base::android::JavaParamRef<jclass>& jcaller, |
| const base::android::JavaParamRef<jobjectArray>& j_argv) { |
| std::vector<std::string> argv_strings; |
| base::android::AppendJavaStringArrayToStringVector(env, j_argv, |
| &argv_strings); |
| |
| std::vector<const char*> argv; |
| StringVectorToCStringVector(argv_strings, &argv); |
| HandlerMain(argv.size() - 1, const_cast<char**>(argv.data()), nullptr); |
| } |
| |
| } // namespace crashpad |