diff options
author | Gloria Wang <gwang@google.com> | 2010-11-22 21:29:08 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-11-22 21:29:08 -0800 |
commit | 35f2d3997efe62ce7660ac558578ac5ca834f357 (patch) | |
tree | 9f6031e2e4bb9665e619bc881839477c14898a21 /drm/libdrmframework | |
parent | c0ec802e96788c3002b737b02707875049758f98 (diff) | |
parent | 24a90c2674270fee0783bafa54fd5d845bdf0c18 (diff) | |
download | frameworks_base-35f2d3997efe62ce7660ac558578ac5ca834f357.zip frameworks_base-35f2d3997efe62ce7660ac558578ac5ca834f357.tar.gz frameworks_base-35f2d3997efe62ce7660ac558578ac5ca834f357.tar.bz2 |
am 24a90c26: am d9334934: Merge "Update of DRM Framework."
* commit '24a90c2674270fee0783bafa54fd5d845bdf0c18':
Update of DRM Framework.
Diffstat (limited to 'drm/libdrmframework')
10 files changed, 69 insertions, 0 deletions
diff --git a/drm/libdrmframework/DrmManagerClient.cpp b/drm/libdrmframework/DrmManagerClient.cpp index 0cbbbd4..578e135 100644 --- a/drm/libdrmframework/DrmManagerClient.cpp +++ b/drm/libdrmframework/DrmManagerClient.cpp @@ -43,6 +43,10 @@ DrmConstraints* DrmManagerClient::getConstraints(const String8* path, const int return mDrmManagerClientImpl->getConstraints(mUniqueId, path, action); } +DrmMetadata* DrmManagerClient::getMetadata(const String8* path) { + return mDrmManagerClientImpl->getMetadata(mUniqueId, path); +} + bool DrmManagerClient::canHandle(const String8& path, const String8& mimeType) { return mDrmManagerClientImpl->canHandle(mUniqueId, path, mimeType); } diff --git a/drm/libdrmframework/DrmManagerClientImpl.cpp b/drm/libdrmframework/DrmManagerClientImpl.cpp index 519ed67..f39131d 100644 --- a/drm/libdrmframework/DrmManagerClientImpl.cpp +++ b/drm/libdrmframework/DrmManagerClientImpl.cpp @@ -101,6 +101,14 @@ DrmConstraints* DrmManagerClientImpl::getConstraints( return drmConstraints; } +DrmMetadata* DrmManagerClientImpl::getMetadata(int uniqueId, const String8* path) { + DrmMetadata *drmMetadata = NULL; + if ((NULL != path) && (EMPTY_STRING != *path)) { + drmMetadata = getDrmManagerService()->getMetadata(uniqueId, path); + } + return drmMetadata; +} + bool DrmManagerClientImpl::canHandle(int uniqueId, const String8& path, const String8& mimeType) { bool retCode = false; if ((EMPTY_STRING != path) || (EMPTY_STRING != mimeType)) { diff --git a/drm/libdrmframework/include/DrmManager.h b/drm/libdrmframework/include/DrmManager.h index a0250b7..e05366d 100644 --- a/drm/libdrmframework/include/DrmManager.h +++ b/drm/libdrmframework/include/DrmManager.h @@ -32,6 +32,7 @@ class DrmUnregistrationInfo; class DrmRightsAcquisitionInfo; class DrmContentIds; class DrmConstraints; +class DrmMetadata; class DrmRights; class DrmInfo; class DrmInfoStatus; @@ -74,6 +75,8 @@ public: DrmConstraints* getConstraints(int uniqueId, const String8* path, const int action); + DrmMetadata* getMetadata(int uniqueId, const String8* path); + bool canHandle(int uniqueId, const String8& path, const String8& mimeType); DrmInfoStatus* processDrmInfo(int uniqueId, const DrmInfo* drmInfo); diff --git a/drm/libdrmframework/include/DrmManagerClientImpl.h b/drm/libdrmframework/include/DrmManagerClientImpl.h index 769f4d0..0a7fcd1 100644 --- a/drm/libdrmframework/include/DrmManagerClientImpl.h +++ b/drm/libdrmframework/include/DrmManagerClientImpl.h @@ -86,6 +86,18 @@ public: DrmConstraints* getConstraints(int uniqueId, const String8* path, const int action); /** + * Get metadata information associated with input content. + * + * @param[in] uniqueId Unique identifier for a session + * @param[in] path Path of the protected content + * @return DrmMetadata + * key-value pairs of metadata are embedded in it + * @note + * In case of error, return NULL + */ + DrmMetadata* getMetadata(int uniqueId, const String8* path); + + /** * Check whether the given mimetype or path can be handled * * @param[in] uniqueId Unique identifier for a session diff --git a/drm/libdrmframework/include/DrmManagerService.h b/drm/libdrmframework/include/DrmManagerService.h index 4b3ba71..d0a0db7 100644 --- a/drm/libdrmframework/include/DrmManagerService.h +++ b/drm/libdrmframework/include/DrmManagerService.h @@ -61,6 +61,8 @@ public: DrmConstraints* getConstraints(int uniqueId, const String8* path, const int action); + DrmMetadata* getMetadata(int uniqueId, const String8* path); + bool canHandle(int uniqueId, const String8& path, const String8& mimeType); DrmInfoStatus* processDrmInfo(int uniqueId, const DrmInfo* drmInfo); diff --git a/drm/libdrmframework/include/IDrmManagerService.h b/drm/libdrmframework/include/IDrmManagerService.h index 20fb2ab..2424ea5 100644 --- a/drm/libdrmframework/include/IDrmManagerService.h +++ b/drm/libdrmframework/include/IDrmManagerService.h @@ -27,6 +27,7 @@ namespace android { class DrmContentIds; class DrmConstraints; +class DrmMetadata; class DrmRights; class DrmInfo; class DrmInfoStatus; @@ -51,6 +52,7 @@ public: SET_DRM_SERVICE_LISTENER, INSTALL_DRM_ENGINE, GET_CONSTRAINTS_FROM_CONTENT, + GET_METADATA_FROM_CONTENT, CAN_HANDLE, PROCESS_DRM_INFO, ACQUIRE_DRM_INFO, @@ -96,6 +98,8 @@ public: virtual DrmConstraints* getConstraints( int uniqueId, const String8* path, const int action) = 0; + virtual DrmMetadata* getMetadata(int uniqueId, const String8* path) = 0; + virtual bool canHandle(int uniqueId, const String8& path, const String8& mimeType) = 0; virtual DrmInfoStatus* processDrmInfo(int uniqueId, const DrmInfo* drmInfo) = 0; @@ -179,6 +183,8 @@ public: virtual DrmConstraints* getConstraints(int uniqueId, const String8* path, const int action); + virtual DrmMetadata* getMetadata(int uniqueId, const String8* path); + virtual bool canHandle(int uniqueId, const String8& path, const String8& mimeType); virtual DrmInfoStatus* processDrmInfo(int uniqueId, const DrmInfo* drmInfo); diff --git a/drm/libdrmframework/plugins/common/include/DrmEngineBase.h b/drm/libdrmframework/plugins/common/include/DrmEngineBase.h index 779f7ac..b61e3d3 100644 --- a/drm/libdrmframework/plugins/common/include/DrmEngineBase.h +++ b/drm/libdrmframework/plugins/common/include/DrmEngineBase.h @@ -36,6 +36,8 @@ public: public: DrmConstraints* getConstraints(int uniqueId, const String8* path, int action); + DrmMetadata* getMetadata(int uniqueId, const String8* path); + status_t initialize(int uniqueId); status_t setOnInfoListener(int uniqueId, const IDrmEngine::OnInfoListener* infoListener); @@ -117,6 +119,18 @@ protected: int uniqueId, const String8* path, int action) = 0; /** + * Get metadata information associated with input content + * + * @param[in] uniqueId Unique identifier for a session + * @param[in] path Path of the protected content + * @return DrmMetadata + * key-value pairs of metadata + * @note + * In case of error, return NULL + */ + virtual DrmMetadata* onGetMetadata(int uniqueId, const String8* path) = 0; + + /** * Initialize plug-in * * @param[in] uniqueId Unique identifier for a session diff --git a/drm/libdrmframework/plugins/common/include/IDrmEngine.h b/drm/libdrmframework/plugins/common/include/IDrmEngine.h index 28e6d8e..d05c24f 100644 --- a/drm/libdrmframework/plugins/common/include/IDrmEngine.h +++ b/drm/libdrmframework/plugins/common/include/IDrmEngine.h @@ -23,6 +23,7 @@ namespace android { class DrmContentIds; class DrmConstraints; +class DrmMetadata; class DrmRights; class DrmInfo; class DrmInfoStatus; @@ -105,6 +106,18 @@ public: int uniqueId, const String8* path, int action) = 0; /** + * Get metadata information associated with input content + * + * @param[in] uniqueId Unique identifier for a session + * @param[in] path Path of the protected content + * @return DrmMetadata + * key-value pairs of metadata + * @note + * In case of error, return NULL + */ + virtual DrmMetadata* getMetadata(int uniqueId, const String8* path) = 0; + + /** * Get whether the given content can be handled by this plugin or not * * @param[in] uniqueId Unique identifier for a session diff --git a/drm/libdrmframework/plugins/passthru/include/DrmPassthruPlugIn.h b/drm/libdrmframework/plugins/passthru/include/DrmPassthruPlugIn.h index 9c94e73..f941f70 100644 --- a/drm/libdrmframework/plugins/passthru/include/DrmPassthruPlugIn.h +++ b/drm/libdrmframework/plugins/passthru/include/DrmPassthruPlugIn.h @@ -30,6 +30,8 @@ public: protected: DrmConstraints* onGetConstraints(int uniqueId, const String8* path, int action); + DrmMetadata* onGetMetadata(int uniqueId, const String8* path); + status_t onInitialize(int uniqueId); status_t onSetOnInfoListener(int uniqueId, const IDrmEngine::OnInfoListener* infoListener); diff --git a/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp b/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp index 73c9708..976978f 100644 --- a/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp +++ b/drm/libdrmframework/plugins/passthru/src/DrmPassthruPlugIn.cpp @@ -20,6 +20,7 @@ #include <drm/DrmRights.h> #include <drm/DrmConstraints.h> +#include <drm/DrmMetadata.h> #include <drm/DrmInfo.h> #include <drm/DrmInfoEvent.h> #include <drm/DrmInfoStatus.h> @@ -51,6 +52,10 @@ DrmPassthruPlugIn::~DrmPassthruPlugIn() { } +DrmMetadata* DrmPassthruPlugIn::onGetMetadata(int uniqueId, const String8* path) { + return NULL; +} + DrmConstraints* DrmPassthruPlugIn::onGetConstraints( int uniqueId, const String8* path, int action) { LOGD("DrmPassthruPlugIn::onGetConstraints From Path: %d", uniqueId); |