Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(845)

Side by Side Diff: base/android/jni_registrar.h

Issue 10591005: Add a way for JNI registrars to specify methods to be registered for tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/android/base_jni_registrar.cc ('k') | base/android/jni_registrar.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_ANDROID_JNI_REGISTRAR_H_ 5 #ifndef BASE_ANDROID_JNI_REGISTRAR_H_
6 #define BASE_ANDROID_JNI_REGISTRAR_H_ 6 #define BASE_ANDROID_JNI_REGISTRAR_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 #include "base/android/jni_android.h"
9 #include "base/basictypes.h" 10 #include "base/basictypes.h"
10 11
11 namespace base { 12 namespace base {
12 namespace android { 13 namespace android {
13 14
14 struct RegistrationMethod;
15
16 // Registers the JNI bindings for the specified |method| definition containing 15 // Registers the JNI bindings for the specified |method| definition containing
17 // |count| elements. Returns whether the registration of the given methods 16 // |count| elements. Returns whether the registration of the given methods
18 // succeeded. 17 // succeeded.
19 bool RegisterNativeMethods(JNIEnv* env, 18 bool RegisterNativeMethods(JNIEnv* env,
20 const RegistrationMethod* method, 19 const RegistrationMethod* method,
21 size_t count); 20 size_t count);
22 21
22 bool RegisterAllNativeMethodsForTest(JNIEnv* env);
23
24 // Helper class to append RegistrationMethods to a global list.
25 // Used by the ADD_JNI_REGISTRATION_METHODS_FOR_TESTS macro.
26 class AppendRegistrationMethods {
27 public:
28 AppendRegistrationMethods(const RegistrationMethod* methods, size_t count);
29 };
30
31 // This macro creates a AppendMultiProcessTest object whose constructor
32 // does the work of adding to the global registration list.
33 #define ADD_JNI_REGISTRATION_METHODS_FOR_TESTS(methods) \
34 namespace { \
35 base::android::AppendRegistrationMethods \
36 registration_methods(methods, arraysize(methods)); \
37 }
38
23 } // namespace android 39 } // namespace android
24 } // namespace base 40 } // namespace base
25 41
26 #endif // BASE_ANDROID_JNI_REGISTRAR_H_ 42 #endif // BASE_ANDROID_JNI_REGISTRAR_H_
OLDNEW
« no previous file with comments | « base/android/base_jni_registrar.cc ('k') | base/android/jni_registrar.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698