| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2017 eyeo GmbH | 3  * Copyright (C) 2006-2017 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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 159 { | 159 { | 
| 160   if (attachmentStatus == JNI_EDETACHED) | 160   if (attachmentStatus == JNI_EDETACHED) | 
| 161   { | 161   { | 
| 162     javaVM->DetachCurrentThread(); | 162     javaVM->DetachCurrentThread(); | 
| 163   } | 163   } | 
| 164 } | 164 } | 
| 165 | 165 | 
| 166 template<typename T> | 166 template<typename T> | 
| 167 static jobject NewJniObject(JNIEnv* env, const T& value, jclass clazz, jmethodID
      ctor) | 167 static jobject NewJniObject(JNIEnv* env, const T& value, jclass clazz, jmethodID
      ctor) | 
| 168 { | 168 { | 
| 169   if (!value.get()) | 169   return env->NewObject(clazz, ctor, JniPtrToLong(new T(std::move(value)))); | 
| 170   { |  | 
| 171     return 0; |  | 
| 172   } |  | 
| 173 |  | 
| 174   return env->NewObject(clazz, ctor, JniPtrToLong(new T(value))); |  | 
| 175 } | 170 } | 
| 176 | 171 | 
| 177 template<typename T> | 172 template<typename T> | 
| 178 static jobject NewJniObject(JNIEnv* env, const T& value, const char* javaClass) | 173 static jobject NewJniObject(JNIEnv* env, const T& value, const char* javaClass) | 
| 179 { | 174 { | 
| 180   JniLocalReference<jclass> clazz( env, env->FindClass(javaClass)); | 175   JniLocalReference<jclass> clazz( env, env->FindClass(javaClass)); | 
| 181   jmethodID ctor = env->GetMethodID(*clazz, "<init>", "(J)V"); | 176   jmethodID ctor = env->GetMethodID(*clazz, "<init>", "(J)V"); | 
| 182   return NewJniObject(env, value, *clazz, ctor); | 177   return NewJniObject(env, value, *clazz, ctor); | 
| 183 } | 178 } | 
| 184 | 179 | 
| 185 jobject NewJniFilter(JNIEnv* env, const AdblockPlus::FilterPtr& filter) | 180 jobject NewJniFilter(JNIEnv* env, const AdblockPlus::Filter& filter) | 
| 186 { | 181 { | 
| 187   return NewJniObject(env, filter, filterClass->Get(), filterCtor); | 182   return NewJniObject(env, filter, filterClass->Get(), filterCtor); | 
| 188 } | 183 } | 
| 189 | 184 | 
| 190 jobject NewJniSubscription(JNIEnv* env, | 185 jobject NewJniSubscription(JNIEnv* env, const AdblockPlus::Subscription& subscri
     ption) | 
| 191     const AdblockPlus::SubscriptionPtr& subscription) |  | 
| 192 { | 186 { | 
| 193   return NewJniObject(env, subscription, subscriptionClass->Get(), subscriptionC
     tor); | 187   return NewJniObject(env, subscription, subscriptionClass->Get(), subscriptionC
     tor); | 
| 194 } | 188 } | 
| 195 | 189 | 
| 196 jobject NewJniNotification(JNIEnv* env, | 190 jobject NewJniNotification(JNIEnv* env, const AdblockPlus::Notification& notific
     ation) | 
| 197     const AdblockPlus::NotificationPtr& notification) |  | 
| 198 { | 191 { | 
| 199   return NewJniObject(env, notification, notificationClass->Get(), notificationC
     tor); | 192   return NewJniObject(env, notification, notificationClass->Get(), notificationC
     tor); | 
| 200 } | 193 } | 
| OLD | NEW | 
|---|