| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2014 Eyeo GmbH | 3  * Copyright (C) 2006-2014 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 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 | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 123   return JniJavaToStdString(env, reinterpret_cast<jstring>(env->GetObjectField(j
     Obj, env->GetFieldID(clazz, name, "Ljava/lang/String;")))); | 123   return JniJavaToStdString(env, reinterpret_cast<jstring>(env->GetObjectField(j
     Obj, env->GetFieldID(clazz, name, "Ljava/lang/String;")))); | 
| 124 } | 124 } | 
| 125 | 125 | 
| 126 inline bool JniGetBooleanField(JNIEnv* env, jclass clazz, jobject jObj, const ch
     ar* name) | 126 inline bool JniGetBooleanField(JNIEnv* env, jclass clazz, jobject jObj, const ch
     ar* name) | 
| 127 { | 127 { | 
| 128   return env->GetBooleanField(jObj, env->GetFieldID(clazz, name, "Z")) == JNI_TR
     UE; | 128   return env->GetBooleanField(jObj, env->GetFieldID(clazz, name, "Z")) == JNI_TR
     UE; | 
| 129 } | 129 } | 
| 130 | 130 | 
| 131 inline int32_t JniGetIntField(JNIEnv* env, jclass clazz, jobject jObj, const cha
     r* name) | 131 inline int32_t JniGetIntField(JNIEnv* env, jclass clazz, jobject jObj, const cha
     r* name) | 
| 132 { | 132 { | 
| 133   return (int32_t)env->GetBooleanField(jObj, env->GetFieldID(clazz, name, "I")); | 133   return (int32_t)env->GetIntField(jObj, env->GetFieldID(clazz, name, "I")); | 
| 134 } | 134 } | 
| 135 | 135 | 
| 136 inline int64_t JniGetLongField(JNIEnv* env, jclass clazz, jobject jObj, const ch
     ar* name) | 136 inline int64_t JniGetLongField(JNIEnv* env, jclass clazz, jobject jObj, const ch
     ar* name) | 
| 137 { | 137 { | 
| 138   return (int64_t)env->GetBooleanField(jObj, env->GetFieldID(clazz, name, "J")); | 138   return (int64_t)env->GetLongField(jObj, env->GetFieldID(clazz, name, "J")); | 
| 139 } | 139 } | 
| 140 | 140 | 
| 141 inline jobject NewJniFilter(JNIEnv* env, const AdblockPlus::FilterPtr& filter) | 141 inline jobject NewJniFilter(JNIEnv* env, const AdblockPlus::FilterPtr& filter) | 
| 142 { | 142 { | 
|  | 143   if (!filter.get()) | 
|  | 144   { | 
|  | 145     return 0; | 
|  | 146   } | 
|  | 147 | 
| 143   jclass clazz = env->FindClass(PKG("Filter")); | 148   jclass clazz = env->FindClass(PKG("Filter")); | 
| 144   jmethodID method = env->GetMethodID(clazz, "<init>", "(J)V"); | 149   jmethodID method = env->GetMethodID(clazz, "<init>", "(J)V"); | 
| 145   return env->NewObject(clazz, method, JniPtrToLong(new AdblockPlus::FilterPtr(f
     ilter))); | 150   return env->NewObject(clazz, method, JniPtrToLong(new AdblockPlus::FilterPtr(f
     ilter))); | 
| 146 } | 151 } | 
| 147 | 152 | 
| 148 inline jobject NewJniSubscription(JNIEnv* env, const AdblockPlus::SubscriptionPt
     r& subscription) | 153 inline jobject NewJniSubscription(JNIEnv* env, const AdblockPlus::SubscriptionPt
     r& subscription) | 
| 149 { | 154 { | 
|  | 155   if (!subscription.get()) | 
|  | 156   { | 
|  | 157     return 0; | 
|  | 158   } | 
|  | 159 | 
| 150   jclass clazz = env->FindClass(PKG("Subscription")); | 160   jclass clazz = env->FindClass(PKG("Subscription")); | 
| 151   jmethodID method = env->GetMethodID(clazz, "<init>", "(J)V"); | 161   jmethodID method = env->GetMethodID(clazz, "<init>", "(J)V"); | 
| 152   return env->NewObject(clazz, method, JniPtrToLong(new AdblockPlus::Subscriptio
     nPtr(subscription))); | 162   return env->NewObject(clazz, method, JniPtrToLong(new AdblockPlus::Subscriptio
     nPtr(subscription))); | 
| 153 } | 163 } | 
| 154 | 164 | 
| 155 #define CATCH_AND_THROW(jEnv) \ | 165 #define CATCH_AND_THROW(jEnv) \ | 
| 156   catch (const std::exception& except) \ | 166   catch (const std::exception& except) \ | 
| 157   { \ | 167   { \ | 
| 158     JniThrowException(jEnv, except); \ | 168     JniThrowException(jEnv, except); \ | 
| 159   } \ | 169   } \ | 
| 160   catch (...) \ | 170   catch (...) \ | 
| 161   { \ | 171   { \ | 
| 162     JniThrowException(jEnv); \ | 172     JniThrowException(jEnv); \ | 
| 163   } | 173   } | 
| 164 | 174 | 
| 165 #define CATCH_THROW_AND_RETURN(jEnv, retVal) \ | 175 #define CATCH_THROW_AND_RETURN(jEnv, retVal) \ | 
| 166   catch (const std::exception& except) \ | 176   catch (const std::exception& except) \ | 
| 167   { \ | 177   { \ | 
| 168     JniThrowException(jEnv, except); \ | 178     JniThrowException(jEnv, except); \ | 
| 169     return retVal; \ | 179     return retVal; \ | 
| 170   } \ | 180   } \ | 
| 171   catch (...) \ | 181   catch (...) \ | 
| 172   { \ | 182   { \ | 
| 173     JniThrowException(jEnv); \ | 183     JniThrowException(jEnv); \ | 
| 174     return retVal; \ | 184     return retVal; \ | 
| 175   } | 185   } | 
| 176 | 186 | 
| 177 const std::string GetString(JNIEnv *pEnv, jstring str); |  | 
| 178 |  | 
| 179 template<class T> |  | 
| 180 T TrimString(T text) |  | 
| 181 { |  | 
| 182   // Via http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-st
     dstring |  | 
| 183   T trimmed(text); |  | 
| 184   trimmed.erase(trimmed.begin(), std::find_if(trimmed.begin(), trimmed.end(), st
     d::not1(std::ptr_fun<int, int>(std::isspace)))); |  | 
| 185   trimmed.erase(std::find_if(trimmed.rbegin(), trimmed.rend(), std::not1(std::pt
     r_fun<int, int>(std::isspace))).base(), trimmed.end()); |  | 
| 186   return trimmed; |  | 
| 187 } |  | 
| 188 |  | 
| 189 #endif | 187 #endif | 
| OLD | NEW | 
|---|