Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Side by Side Diff: media/base/android/media_drm_storage_bridge.h

Issue 2790783002: [Clank] Add JNI interface for media persistent license storage (Closed)
Patch Set: TOTO Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/base/android/media_drm_bridge.cc ('k') | media/base/android/media_drm_storage_bridge.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2017 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 #ifndef MEDIA_BASE_ANDROID_MEDIA_DRM_STORAGE_BRIDGE_H_
6 #define MEDIA_BASE_ANDROID_MEDIA_DRM_STORAGE_BRIDGE_H_
7
8 #include <jni.h>
9 #include <memory>
10
11 #include "base/android/scoped_java_ref.h"
12 #include "base/memory/ref_counted.h"
13 #include "base/memory/weak_ptr.h"
14
15 namespace base {
16 class SingleThreadTaskRunner;
17 } // namespace base
18
19 namespace media {
20
21 class MediaDrmStorageBridge {
Tima Vaisburd 2017/03/31 22:53:32 Please write the comment that describes the purpos
yucliu1 2017/04/01 01:27:37 Done.
22 public:
23 static bool RegisterMediaDrmStorageBridge(JNIEnv* env);
24
25 MediaDrmStorageBridge();
26 ~MediaDrmStorageBridge() = default;
27
28 // The following OnXXX functions are called by Java. The functions will post
29 // task on message loop immediately to avoid reentrancy issues.
30
31 // Called by the java object when device provision is finished. Implementation
32 // will record the time as provisioning time.
33 void OnProvisioned(JNIEnv* env,
34 const base::android::JavaParamRef<jobject>& j_storage,
35 // Callback<Boolean>
36 const base::android::JavaParamRef<jobject>& j_callback);
37
38 // Called by the java object to load session data into memory. |j_callback|
39 // will return a null object if load fails.
40 void OnLoadInfo(JNIEnv* env,
41 const base::android::JavaParamRef<jobject>& j_storage,
42 const base::android::JavaParamRef<jbyteArray>& j_session_id,
43 // Callback<PersistentInfo>
44 const base::android::JavaParamRef<jobject>& j_callback);
45
46 // Called by the java object to persistent session data.
47 void OnSaveInfo(JNIEnv* env,
48 const base::android::JavaParamRef<jobject>& j_storage,
49 // PersistentInfo
50 const base::android::JavaParamRef<jobject>& j_persist_info,
51 // Callback<Boolean>
52 const base::android::JavaParamRef<jobject>& j_callback);
53
54 // Called by the java object to remove persistent session data.
55 void OnClearInfo(JNIEnv* env,
56 const base::android::JavaParamRef<jobject>& j_storage,
57 const base::android::JavaParamRef<jbyteArray>& j_session_id,
58 // Callback<Boolean>
59 const base::android::JavaParamRef<jobject>& j_callback);
60
61 private:
62 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
63
64 // NOTE: Weak pointers must be invalidated before all other member variables.
65 base::WeakPtrFactory<MediaDrmStorageBridge> weak_factory_;
66
67 DISALLOW_COPY_AND_ASSIGN(MediaDrmStorageBridge);
68 };
69
70 } // namespace media
71 #endif // MEDIA_BASE_ANDROID_MEDIA_DRM_STORAGE_BRIDGE_H_
OLDNEW
« no previous file with comments | « media/base/android/media_drm_bridge.cc ('k') | media/base/android/media_drm_storage_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698