Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / components / enhanced_bookmarks / android / java / src / org / chromium / components / enhancedbookmarks / EnhancedBookmarksBridge.java
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.
4
5 package org.chromium.components.enhancedbookmarks;
6
7 import org.chromium.base.JNINamespace;
8 import org.chromium.components.bookmarks.BookmarkId;
9
10 /**
11  * Access gate to C++ side enhanced bookmarks functionalities.
12  */
13 @JNINamespace("enhanced_bookmarks::android")
14 public final class EnhancedBookmarksBridge {
15     private long mNativeEnhancedBookmarksBridge;
16
17     public EnhancedBookmarksBridge(long nativeBookmarkModel) {
18         mNativeEnhancedBookmarksBridge = nativeInit(nativeBookmarkModel);
19     }
20
21     public void destroy() {
22         assert mNativeEnhancedBookmarksBridge != 0;
23         nativeDestroy(mNativeEnhancedBookmarksBridge);
24         mNativeEnhancedBookmarksBridge = 0;
25     }
26
27     public String getBookmarkDescription(BookmarkId id) {
28         return nativeGetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(),
29                 id.getType());
30     }
31
32     public void setBookmarkDescription(BookmarkId id, String description) {
33         nativeSetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), id.getType(),
34                 description);
35     }
36
37     private native long nativeInit(long bookmarkModelPointer);
38
39     private native void nativeDestroy(long nativeEnhancedBookmarksBridge);
40
41     private native String nativeGetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id,
42             int type);
43     private native void nativeSetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id,
44             int type, String description);
45 }