| Index: webrtc/sdk/android/src/jni/jni_helpers.h
|
| diff --git a/webrtc/sdk/android/src/jni/jni_helpers.h b/webrtc/sdk/android/src/jni/jni_helpers.h
|
| index 19b7741fb58633f1d0d288fceb024b71c7a661ad..e4c43a25bf2396ead2de0b449082df4f253b4759 100644
|
| --- a/webrtc/sdk/android/src/jni/jni_helpers.h
|
| +++ b/webrtc/sdk/android/src/jni/jni_helpers.h
|
| @@ -34,6 +34,23 @@
|
| #define CHECK_RELEASE(ptr) \
|
| RTC_CHECK_EQ(0, (ptr)->Release()) << "Unexpected refcount."
|
|
|
| +// Convenience macro defining JNI-accessible methods in the org.webrtc package.
|
| +// Eliminates unnecessary boilerplate and line-wraps, reducing visual clutter.
|
| +//
|
| +// TODO(deadbeef): Rename this macro to something like
|
| +// "JNI_FUNCTION_DECLARATION", and use variable length arguments, such that you
|
| +// can write:
|
| +//
|
| +// JNI_FUNCTION_DECLARATION(void, nativeFoo, Type arg1, Type arg2) { ...
|
| +//
|
| +// Instead of:
|
| +//
|
| +// JNI_FUNCTION_DECLARATION(void, nativeFoo)(Type arg1, Type arg2) { ...
|
| +//
|
| +// The latter gets handled poorly by autoformatting tools.
|
| +#define JOW(rettype, name) \
|
| + extern "C" JNIEXPORT rettype JNICALL Java_org_webrtc_##name
|
| +
|
| namespace webrtc_jni {
|
|
|
| jint InitGlobalJniVariables(JavaVM *jvm);
|
| @@ -97,6 +114,12 @@ std::string JavaToStdString(JNIEnv* jni, const jstring& j_string);
|
| jobject JavaEnumFromIndex(JNIEnv* jni, jclass state_class,
|
| const std::string& state_class_name, int index);
|
|
|
| +// Return the (singleton) Java Enum object corresponding to |index|;
|
| +// |state_class_fragment| is something like "MediaSource$State".
|
| +jobject JavaEnumFromIndexAndClassName(JNIEnv* jni,
|
| + const std::string& state_class_fragment,
|
| + int index);
|
| +
|
| // Returns the name of a Java enum.
|
| std::string GetJavaEnumName(JNIEnv* jni,
|
| const std::string& className,
|
|
|