| Index: jni/JniCallbacks.h | 
| diff --git a/jni/JniCallbacks.h b/jni/JniCallbacks.h | 
| index 7ead721c7ca16a7a304547f51138ee8d811d4680..11165769d1c303cf6de6f4ba0689a40f58677252 100644 | 
| --- a/jni/JniCallbacks.h | 
| +++ b/jni/JniCallbacks.h | 
| @@ -15,68 +15,38 @@ | 
| * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 
| */ | 
| -#ifndef JNICALLBACKS_H_ | 
| -#define JNICALLBACKS_H_ | 
| +#ifndef JNICALLBACKS_H | 
| 
 
Felix Dahlke
2014/03/28 11:27:18
We also typically use underscores for word separat
 
 | 
| +#define JNICALLBACKS_H | 
| #include <AdblockPlus.h> | 
| #include "Utils.h" | 
| #include "JniJsValue.h" | 
| -namespace AdblockPlus | 
| -{ | 
| -namespace Android | 
| -{ | 
| - | 
| class JniCallbackBase | 
| { | 
| public: | 
| - JniCallbackBase(JNIEnv* env, jobject callbackObject) | 
| - { | 
| - env->GetJavaVM(&m_JavaVM); | 
| - m_CallbackObject.reset(new JniGlobalReference<jobject>(env, callbackObject)); | 
| - m_ExceptionLoggerClass.reset(new JniGlobalReference<jclass>(env, env->FindClass(PKG("JniExceptionHandler")))); | 
| - } | 
| + JniCallbackBase(JNIEnv* env, jobject callbackObject); | 
| + virtual ~JniCallbackBase(); | 
| + void LogException(JNIEnv* env, jthrowable throwable) const; | 
| + void CheckAndLogJavaException(JNIEnv* env) const; | 
| - virtual ~JniCallbackBase() | 
| + JavaVM* GetJavaVM() const | 
| { | 
| + return javaVM; | 
| } | 
| - inline JavaVM* GetJavaVM() const | 
| + jobject GetCallbackObject() const | 
| { | 
| - return m_JavaVM; | 
| - } | 
| - | 
| - inline jobject GetCallbackObject() const | 
| - { | 
| - return m_CallbackObject->get(); | 
| - } | 
| - | 
| - void LogException(JNIEnv* env, jthrowable throwable) const | 
| - { | 
| - jmethodID logMethod = env->GetStaticMethodID(m_ExceptionLoggerClass->get(), "logException", "(Ljava/lang/Throwable;)V"); | 
| - if (logMethod) | 
| - { | 
| - env->CallStaticVoidMethod(m_ExceptionLoggerClass->get(), logMethod, throwable); | 
| - } | 
| - } | 
| - | 
| - void CheckAndLogJavaException(JNIEnv* env) const | 
| - { | 
| - if (env->ExceptionCheck()) | 
| - { | 
| - jthrowable throwable = env->ExceptionOccurred(); | 
| - env->ExceptionClear(); | 
| - LogException(env, throwable); | 
| - } | 
| + return callbackObject->get(); | 
| } | 
| private: | 
| - JavaVM* m_JavaVM; | 
| - JniGlobalReference<jobject>::PTR m_CallbackObject; | 
| - JniGlobalReference<jclass>::PTR m_ExceptionLoggerClass; | 
| + JavaVM* javaVM; | 
| + JniGlobalReference<jobject>::Ptr callbackObject; | 
| + JniGlobalReference<jclass>::Ptr exceptionLoggerClass; | 
| }; | 
| -class JniEventCallback: public JniCallbackBase | 
| +class JniEventCallback : public JniCallbackBase | 
| { | 
| public: | 
| JniEventCallback(JNIEnv* env, jobject callbackObject); | 
| @@ -84,7 +54,7 @@ public: | 
| void Callback(AdblockPlus::JsValueList& params); | 
| }; | 
| -class JniUpdaterCallback: public JniCallbackBase | 
| +class JniUpdaterCallback : public JniCallbackBase | 
| { | 
| public: | 
| JniUpdaterCallback(JNIEnv* env, jobject callbackObject); | 
| @@ -92,7 +62,7 @@ public: | 
| void Callback(const std::string& arg); | 
| }; | 
| -class JniFilterChangeCallback: public JniCallbackBase | 
| +class JniFilterChangeCallback : public JniCallbackBase | 
| { | 
| public: | 
| JniFilterChangeCallback(JNIEnv* env, jobject callbackObject); | 
| @@ -100,30 +70,29 @@ public: | 
| void Callback(const std::string& arg, const AdblockPlus::JsValuePtr jsValue); | 
| }; | 
| -class JniLogSystemCallback: public JniCallbackBase, public AdblockPlus::LogSystem | 
| +class JniLogSystemCallback : public JniCallbackBase, public AdblockPlus::LogSystem | 
| { | 
| public: | 
| JniLogSystemCallback(JNIEnv* env, jobject callbackObject); | 
| virtual ~JniLogSystemCallback(); | 
| void operator()(AdblockPlus::LogSystem::LogLevel logLevel, const std::string& message, const std::string& source); | 
| + | 
| private: | 
| - JniGlobalReference<jclass>::PTR m_LogLevelClass; | 
| + JniGlobalReference<jclass>::Ptr logLevelClass; | 
| }; | 
| -class JniWebRequest: public JniCallbackBase, public AdblockPlus::WebRequest | 
| +class JniWebRequest : public JniCallbackBase, public AdblockPlus::WebRequest | 
| { | 
| public: | 
| JniWebRequest(JNIEnv* env, jobject callbackObject); | 
| virtual ~JniWebRequest(); | 
| AdblockPlus::ServerResponse GET(const std::string& url, const AdblockPlus::HeaderList& requestHeaders) const; | 
| + | 
| private: | 
| jobject NewTuple(JNIEnv* env, const std::string& a, const std::string& b) const; | 
| - JniGlobalReference<jclass>::PTR m_TupleClass; | 
| - JniGlobalReference<jclass>::PTR m_ServerResponseClass; | 
| + JniGlobalReference<jclass>::Ptr tupleClass; | 
| + JniGlobalReference<jclass>::Ptr serverResponseClass; | 
| }; | 
| -} // namespace Android | 
| -} // namespace AdblockPlus | 
| - | 
| -#endif /* JNICALLBACKS_H_ */ | 
| +#endif /* JNICALLBACKS_H */ |