Add abhijeet.k@samsung.com to AUTHORS list.
[chromium-blink-merge.git] / components / dom_distiller / core / dom_distiller_service_android.h
blobb34e4497ebf8165f955cb5f9e8754430d1f2b5c1
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_DOM_DISTILLER_CORE_DOM_DISTILLER_SERVICE_ANDROID_H_
6 #define COMPONENTS_DOM_DISTILLER_CORE_DOM_DISTILLER_SERVICE_ANDROID_H_
8 #include <jni.h>
10 #include "base/android/scoped_java_ref.h"
11 #include "components/dom_distiller/core/dom_distiller_service.h"
13 namespace dom_distiller {
14 namespace android {
16 class DomDistillerServiceFactoryAndroid;
18 // Native implementation of DomDistillerService,
19 // provides access to Java DistilledPagePrefs.
20 class DomDistillerServiceAndroid {
21 public:
22 DomDistillerServiceAndroid(DomDistillerService* service);
23 virtual ~DomDistillerServiceAndroid();
24 static bool Register(JNIEnv* env);
25 // Returns native pointer to native DistilledPagePrefs registered with
26 // DomDistillerService.
27 jlong GetDistilledPagePrefsPtr(JNIEnv* env, jobject obj);
28 bool HasEntry(JNIEnv* env, jobject obj, jstring entry_id);
29 base::android::ScopedJavaLocalRef<jstring> GetUrlForEntry(JNIEnv* env,
30 jobject obj,
31 jstring entry_id);
33 private:
34 // Friend class so that DomDistillerServiceFactoryAndroid has access to
35 // private member object java_ref_.
36 friend class DomDistillerServiceFactoryAndroid;
37 // Points to a Java instance of DomDistillerService.
38 base::android::ScopedJavaGlobalRef<jobject> java_ref_;
39 DomDistillerService* service_;
42 } // namespace android
43 } // namespace dom_distiller
45 #endif // COMPONENTS_DOM_DISTILLER_CORE_DOM_DISTILLER_SERVICE_ANDROID_H