| LEFT | RIGHT |
| 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-2013 Eyeo GmbH | 3 * Copyright (C) 2006-2013 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 11 matching lines...) Expand all Loading... |
| 22 #include "Utils.h" | 22 #include "Utils.h" |
| 23 #include "debug.h" | 23 #include "debug.h" |
| 24 | 24 |
| 25 JavaVM* globalJvm; | 25 JavaVM* globalJvm; |
| 26 AdblockPlus::FilterEngine* filterEngine; | 26 AdblockPlus::FilterEngine* filterEngine; |
| 27 jobject jniObject; | 27 jobject jniObject; |
| 28 bool manualUpdate = false; | 28 bool manualUpdate = false; |
| 29 | 29 |
| 30 extern "C" | 30 extern "C" |
| 31 { | 31 { |
| 32 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_initialize(JNIEn
v *pEnv, jobject, jstring basepath); | 32 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_initialize( |
| 33 JNIEnv *pEnv, jobject object, jstring basePath, jstring version, |
| 34 jstring sdkVersion, jstring locale, jboolean developmentBuild); |
| 33 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_release(JNIEnv *
pEnv, jobject); | 35 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_release(JNIEnv *
pEnv, jobject); |
| 34 JNIEXPORT jboolean JNICALL Java_org_adblockplus_android_ABPEngine_isFirstRun(J
NIEnv *pEnv, jobject); | 36 JNIEXPORT jboolean JNICALL Java_org_adblockplus_android_ABPEngine_isFirstRun(J
NIEnv *pEnv, jobject); |
| 35 JNIEXPORT jobjectArray JNICALL Java_org_adblockplus_android_ABPEngine_getListe
dSubscriptions(JNIEnv *pEnv, jobject); | 37 JNIEXPORT jobjectArray JNICALL Java_org_adblockplus_android_ABPEngine_getListe
dSubscriptions(JNIEnv *pEnv, jobject); |
| 36 JNIEXPORT jobjectArray JNICALL Java_org_adblockplus_android_ABPEngine_getRecom
mendedSubscriptions(JNIEnv *pEnv, jobject); | 38 JNIEXPORT jobjectArray JNICALL Java_org_adblockplus_android_ABPEngine_getRecom
mendedSubscriptions(JNIEnv *pEnv, jobject); |
| 37 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_addSubscription(
JNIEnv *pEnv, jobject, jstring url); | 39 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_addSubscription(
JNIEnv *pEnv, jobject, jstring url); |
| 38 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_removeSubscripti
on(JNIEnv *pEnv, jobject, jstring url); | 40 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_removeSubscripti
on(JNIEnv *pEnv, jobject, jstring url); |
| 39 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_refreshSubscript
ion(JNIEnv *pEnv, jobject, jstring url); | 41 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_refreshSubscript
ion(JNIEnv *pEnv, jobject, jstring url); |
| 40 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_actualizeSubscri
ptionStatus(JNIEnv *pEnv, jobject, jstring url); | 42 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_actualizeSubscri
ptionStatus(JNIEnv *pEnv, jobject, jstring url); |
| 41 JNIEXPORT jboolean JNICALL Java_org_adblockplus_android_ABPEngine_matches(JNIE
nv *pEnv, jobject, jstring url, jstring contentType, jstring documentUrl); | 43 JNIEXPORT jboolean JNICALL Java_org_adblockplus_android_ABPEngine_matches(JNIE
nv *pEnv, jobject, jstring url, jstring contentType, jstring documentUrl); |
| 42 JNIEXPORT jobjectArray JNICALL Java_org_adblockplus_android_ABPEngine_getSelec
torsForDomain(JNIEnv *pEnv, jobject, jstring domain); | 44 JNIEXPORT jobjectArray JNICALL Java_org_adblockplus_android_ABPEngine_getSelec
torsForDomain(JNIEnv *pEnv, jobject, jstring domain); |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 | 203 |
| 202 jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) | 204 jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) |
| 203 { | 205 { |
| 204 return JNI_VERSION_1_6; | 206 return JNI_VERSION_1_6; |
| 205 } | 207 } |
| 206 | 208 |
| 207 void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) | 209 void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) |
| 208 { | 210 { |
| 209 } | 211 } |
| 210 | 212 |
| 211 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_initialize(JNIEnv
*pEnv, jobject pObject, jstring basepath) | 213 JNIEXPORT void JNICALL Java_org_adblockplus_android_ABPEngine_initialize( |
| 214 JNIEnv *pEnv, jobject pObject, jstring basePath, jstring version, |
| 215 jstring sdkVersion, jstring locale, jboolean developmentBuild) |
| 212 { | 216 { |
| 213 D(D_WARN, "nativeInitialize()"); | 217 D(D_WARN, "nativeInitialize()"); |
| 214 try | 218 try |
| 215 { | 219 { |
| 216 int status = pEnv->GetJavaVM(&globalJvm); | 220 int status = pEnv->GetJavaVM(&globalJvm); |
| 217 | 221 |
| 218 jniObject = pEnv->NewGlobalRef(pObject); | 222 jniObject = pEnv->NewGlobalRef(pObject); |
| 219 | 223 |
| 220 const std::string path = GetString(pEnv, basepath); | |
| 221 | |
| 222 AdblockPlus::AppInfo appInfo; | 224 AdblockPlus::AppInfo appInfo; |
| 223 // TODO Should be extracted from the manifest | |
| 224 appInfo.version = "1.1.2"; | |
| 225 appInfo.name = "adblockplusandroid"; | 225 appInfo.name = "adblockplusandroid"; |
| 226 appInfo.version = GetString(pEnv, version); |
| 226 appInfo.application = "android"; | 227 appInfo.application = "android"; |
| 228 appInfo.applicationVersion = GetString(pEnv, sdkVersion); |
| 229 appInfo.locale = GetString(pEnv, locale); |
| 230 appInfo.developmentBuild = developmentBuild; |
| 231 |
| 232 D(D_INFO, "AppInfo: name=%s, version=%s, application=%s, applicationVersion=
%s , locale=%s, developmentBuild=%s", |
| 233 appInfo.name.c_str(), appInfo.version.c_str(), appInfo.application.c_str()
, |
| 234 appInfo.applicationVersion.c_str(), appInfo.locale.c_str(), |
| 235 appInfo.developmentBuild ? "true" : "false"); |
| 227 | 236 |
| 228 AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New(appInfo)); | 237 AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New(appInfo)); |
| 229 | 238 |
| 230 AdblockPlus::DefaultFileSystem* defaultFileSystem = new AdblockPlus::Default
FileSystem(); | 239 AdblockPlus::DefaultFileSystem* defaultFileSystem = new AdblockPlus::Default
FileSystem(); |
| 231 AndroidLogSystem* androidLogSystem = new AndroidLogSystem(); | 240 AndroidLogSystem* androidLogSystem = new AndroidLogSystem(); |
| 232 AndroidWebRequest* androidWebRequest = new AndroidWebRequest(globalJvm); | 241 AndroidWebRequest* androidWebRequest = new AndroidWebRequest(globalJvm); |
| 233 | 242 |
| 234 defaultFileSystem->SetBasePath(path); | 243 defaultFileSystem->SetBasePath(GetString(pEnv, basePath)); |
| 235 jsEngine->SetLogSystem(AdblockPlus::LogSystemPtr(androidLogSystem)); | 244 jsEngine->SetLogSystem(AdblockPlus::LogSystemPtr(androidLogSystem)); |
| 236 jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(defaultFileSystem)); | 245 jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(defaultFileSystem)); |
| 237 jsEngine->SetWebRequest(AdblockPlus::WebRequestPtr(androidWebRequest)); | 246 jsEngine->SetWebRequest(AdblockPlus::WebRequestPtr(androidWebRequest)); |
| 238 jsEngine->SetEventCallback("updateAvailable", std::tr1::bind(&UpdateAvailabl
eCallback, std::tr1::placeholders::_1)); | 247 jsEngine->SetEventCallback("updateAvailable", std::tr1::bind(&UpdateAvailabl
eCallback, std::tr1::placeholders::_1)); |
| 239 | 248 |
| 240 filterEngine = new AdblockPlus::FilterEngine(jsEngine); | 249 filterEngine = new AdblockPlus::FilterEngine(jsEngine); |
| 241 filterEngine->SetFilterChangeCallback(&FilterChangedCallback); | 250 filterEngine->SetFilterChangeCallback(&FilterChangedCallback); |
| 242 } | 251 } |
| 243 catch (const std::exception& e) | 252 catch (const std::exception& e) |
| 244 { | 253 { |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 } | 492 } |
| 484 catch (const std::exception& e) | 493 catch (const std::exception& e) |
| 485 { | 494 { |
| 486 ThrowJavaException(pEnv, e); | 495 ThrowJavaException(pEnv, e); |
| 487 } | 496 } |
| 488 catch (...) | 497 catch (...) |
| 489 { | 498 { |
| 490 ThrowJavaException(pEnv); | 499 ThrowJavaException(pEnv); |
| 491 } | 500 } |
| 492 } | 501 } |
| LEFT | RIGHT |