Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: libadblockplus-android/jni/JniCallbacks.h

Issue 29678581: Issue 6000 - Rename "libadblockplus-android" (Closed)
Patch Set: Created Jan. 24, 2018, 6:53 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present 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 #ifndef JNICALLBACKS_H
19 #define JNICALLBACKS_H
20
21 #include <AdblockPlus.h>
22 #include "Utils.h"
23 #include "JniJsValue.h"
24
25 void JniCallbacks_OnLoad(JavaVM* vm, JNIEnv* env, void* reserved);
26
27 void JniCallbacks_OnUnload(JavaVM* vm, JNIEnv* env, void* reserved);
28
29 class JniCallbackBase
30 {
31 public:
32 JniCallbackBase(JNIEnv* env, jobject callbackObject);
33 virtual ~JniCallbackBase();
34 void LogException(JNIEnv* env, jthrowable throwable) const;
35 void CheckAndLogJavaException(JNIEnv* env) const;
36
37 JavaVM* GetJavaVM() const
38 {
39 return javaVM;
40 }
41
42 jobject GetCallbackObject() const
43 {
44 return callbackObject->Get();
45 }
46
47 private:
48 JavaVM* javaVM;
49 const JniGlobalReference<jobject>::Ptr callbackObject;
50 };
51
52 class JniEventCallback : public JniCallbackBase
53 {
54 public:
55 JniEventCallback(JNIEnv* env, jobject callbackObject);
56 void Callback(AdblockPlus::JsValueList&& params);
57 };
58
59 class JniUpdateAvailableCallback : public JniCallbackBase
60 {
61 public:
62 JniUpdateAvailableCallback(JNIEnv* env, jobject callbackObject);
63 void Callback(const std::string& arg);
64 };
65
66 class JniUpdateCheckDoneCallback : public JniCallbackBase
67 {
68 public:
69 JniUpdateCheckDoneCallback(JNIEnv* env, jobject callbackObject);
70 void Callback(const std::string& arg);
71 };
72
73 class JniFilterChangeCallback : public JniCallbackBase
74 {
75 public:
76 JniFilterChangeCallback(JNIEnv* env, jobject callbackObject);
77 void Callback(const std::string& arg, AdblockPlus::JsValue&& jsValue);
78 };
79
80 class JniLogSystemCallback : public JniCallbackBase, public AdblockPlus::LogSyst em
81 {
82 public:
83 JniLogSystemCallback(JNIEnv* env, jobject callbackObject);
84 void operator()(AdblockPlus::LogSystem::LogLevel logLevel, const std::string& message, const std::string& source);
85 };
86
87 class JniShowNotificationCallback : public JniCallbackBase
88 {
89 public:
90 JniShowNotificationCallback(JNIEnv* env, jobject callbackObject);
91 void Callback(AdblockPlus::Notification&&);
92 };
93
94 class JniWebRequest : public JniCallbackBase, public AdblockPlus::IWebRequestSyn c
95 {
96 public:
97 JniWebRequest(JNIEnv* env, jobject callbackObject);
98 AdblockPlus::ServerResponse GET(const std::string& url, const AdblockPlus::Hea derList& requestHeaders) const override;
99
100 private:
101 jobject NewTuple(JNIEnv* env, const std::string& a, const std::string& b) cons t;
102 };
103
104 class JniIsAllowedConnectionTypeCallback : public JniCallbackBase
105 {
106 public:
107 JniIsAllowedConnectionTypeCallback(JNIEnv* env, jobject callbackObject);
108 bool Callback(const std::string* allowedConnectionType);
109 };
110
111 #endif /* JNICALLBACKS_H */
OLDNEW

Powered by Google App Engine
This is Rietveld