| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
 |   3  * Copyright (C) 2006-2014 Eyeo GmbH | 
 |   4  * | 
 |   5  * Adblock Plus is free software: you can redistribute it and/or modify | 
 |   6  * it under the terms of the GNU General Public License version 3 as | 
 |   7  * published by the Free Software Foundation. | 
 |   8  * | 
 |   9  * Adblock Plus is distributed in the hope that it will be useful, | 
 |  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  12  * GNU General Public License for more details. | 
 |  13  * | 
 |  14  * You should have received a copy of the GNU General Public License | 
 |  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
 |  16  */ | 
 |  17  | 
 |  18 #include "JniCallbacks.h" | 
 |  19  | 
 |  20 JniCallbackBase::JniCallbackBase(JNIEnv* env, jobject callbackObject) | 
 |  21 { | 
 |  22   env->GetJavaVM(&javaVM); | 
 |  23   this->callbackObject.reset(new JniGlobalReference<jobject>(env, callbackObject
    )); | 
 |  24   exceptionLoggerClass.reset(new JniGlobalReference<jclass>(env, env->FindClass(
    PKG("JniExceptionHandler")))); | 
 |  25 } | 
 |  26  | 
 |  27 JniCallbackBase::~JniCallbackBase() | 
 |  28 { | 
 |  29  | 
 |  30 } | 
 |  31  | 
 |  32 void JniCallbackBase::LogException(JNIEnv* env, jthrowable throwable) const | 
 |  33 { | 
 |  34   jmethodID logMethod = env->GetStaticMethodID(exceptionLoggerClass->Get(), "log
    Exception", "(Ljava/lang/Throwable;)V"); | 
 |  35   if (logMethod) | 
 |  36   { | 
 |  37     env->CallStaticVoidMethod(exceptionLoggerClass->Get(), logMethod, throwable)
    ; | 
 |  38   } | 
 |  39 } | 
 |  40  | 
 |  41 void JniCallbackBase::CheckAndLogJavaException(JNIEnv* env) const | 
 |  42 { | 
 |  43   if (env->ExceptionCheck()) | 
 |  44   { | 
 |  45     jthrowable throwable = env->ExceptionOccurred(); | 
 |  46     env->ExceptionClear(); | 
 |  47     LogException(env, throwable); | 
 |  48   } | 
 |  49 } | 
| OLD | NEW |