Update plugin for cas@1.2

Test: Manual
bug: 141783130
Change-Id: I7954f8543c09538adad0c1eac8a70f7be48e6092
Merged-In: I7954f8543c09538adad0c1eac8a70f7be48e6092
gugelfrei
Henry Fang 5 years ago
parent 5c031de662
commit 5f958f861d

@ -97,7 +97,8 @@ status_t ClearKeyDescramblerFactory::createPlugin(
///////////////////////////////////////////////////////////////////////////////
ClearKeyCasPlugin::ClearKeyCasPlugin(
void *appData, CasPluginCallback callback)
: mCallback(callback), mCallbackExt(NULL), mAppData(appData) {
: mCallback(callback), mCallbackExt(NULL), mStatusCallback(NULL),
mAppData(appData) {
ALOGV("CTOR");
}
@ -112,6 +113,13 @@ ClearKeyCasPlugin::~ClearKeyCasPlugin() {
ClearKeySessionLibrary::get()->destroyPlugin(this);
}
status_t ClearKeyCasPlugin::setStatusCallback(
CasPluginStatusCallback callback) {
ALOGV("setStatusCallback");
mStatusCallback = callback;
return OK;
}
status_t ClearKeyCasPlugin::setPrivateData(const CasData &/*data*/) {
ALOGV("setPrivateData");
@ -135,6 +143,19 @@ status_t ClearKeyCasPlugin::openSession(CasSessionId* sessionId) {
return ClearKeySessionLibrary::get()->addSession(this, sessionId);
}
status_t ClearKeyCasPlugin::openSession(uint32_t intent, uint32_t mode,
CasSessionId* sessionId) {
ALOGV("openSession with intent=%d, mode=%d", intent, mode);
// Echo the received information to the callback.
// Clear key plugin doesn't use any event, echo'ing for testing only.
if (mStatusCallback != NULL) {
mStatusCallback((void*)mAppData, intent, mode);
}
// Clear key plugin doesn't use intent and mode.
return ClearKeySessionLibrary::get()->addSession(this, sessionId);
}
status_t ClearKeyCasPlugin::closeSession(const CasSessionId &sessionId) {
ALOGV("closeSession: sessionId=%s", sessionIdToString(sessionId).string());
std::shared_ptr<ClearKeyCasSession> session =

@ -71,11 +71,17 @@ public:
ClearKeyCasPlugin(void *appData, CasPluginCallbackExt callback);
virtual ~ClearKeyCasPlugin();
virtual status_t setStatusCallback(
CasPluginStatusCallback callback) override;
virtual status_t setPrivateData(
const CasData &data) override;
virtual status_t openSession(CasSessionId *sessionId) override;
virtual status_t openSession(uint32_t intent, uint32_t mode,
CasSessionId *sessionId) override;
virtual status_t closeSession(
const CasSessionId &sessionId) override;
@ -105,6 +111,7 @@ private:
std::unique_ptr<KeyFetcher> mKeyFetcher;
CasPluginCallback mCallback;
CasPluginCallbackExt mCallbackExt;
CasPluginStatusCallback mStatusCallback;
void* mAppData;
};

@ -111,6 +111,12 @@ MockCasPlugin::~MockCasPlugin() {
MockSessionLibrary::get()->destroyPlugin(this);
}
status_t MockCasPlugin::setStatusCallback(
CasPluginStatusCallback /*callback*/) {
ALOGV("setStatusCallback");
return OK;
}
status_t MockCasPlugin::setPrivateData(const CasData& /*data*/) {
ALOGV("setPrivateData");
return OK;
@ -121,6 +127,13 @@ status_t MockCasPlugin::openSession(CasSessionId* sessionId) {
return MockSessionLibrary::get()->addSession(this, sessionId);
}
status_t MockCasPlugin::openSession(uint32_t intent, uint32_t mode,
CasSessionId* sessionId) {
ALOGV("openSession with intent=%d, mode=%d", intent, mode);
// Clear key plugin doesn't use intent and mode.
return MockSessionLibrary::get()->addSession(this, sessionId);
}
status_t MockCasPlugin::closeSession(const CasSessionId &sessionId) {
ALOGV("closeSession: sessionId=%s", arrayToString(sessionId).string());
Mutex::Autolock lock(mLock);

@ -65,11 +65,17 @@ public:
MockCasPlugin();
virtual ~MockCasPlugin();
virtual status_t setStatusCallback(
CasPluginStatusCallback callback) override;
virtual status_t setPrivateData(
const CasData &data) override;
virtual status_t openSession(CasSessionId *sessionId) override;
virtual status_t openSession(uint32_t intent, uint32_t mode,
CasSessionId *sessionId) override;
virtual status_t closeSession(
const CasSessionId &sessionId) override;

@ -99,7 +99,13 @@ enum {
ERROR_CAS_DEVICE_REVOKED = CAS_ERROR_BASE - 9,
ERROR_CAS_RESOURCE_BUSY = CAS_ERROR_BASE - 10,
ERROR_CAS_INSUFFICIENT_OUTPUT_PROTECTION = CAS_ERROR_BASE - 11,
ERROR_CAS_LAST_USED_ERRORCODE = CAS_ERROR_BASE - 11,
ERROR_CAS_NEED_ACTIVATION = CAS_ERROR_BASE - 12,
ERROR_CAS_NEED_PAIRING = CAS_ERROR_BASE - 13,
ERROR_CAS_NO_CARD = CAS_ERROR_BASE - 14,
ERROR_CAS_CARD_MUTE = CAS_ERROR_BASE - 15,
ERROR_CAS_CARD_INVALID = CAS_ERROR_BASE - 16,
ERROR_CAS_BLACKOUT = CAS_ERROR_BASE - 17,
ERROR_CAS_LAST_USED_ERRORCODE = CAS_ERROR_BASE - 17,
ERROR_CAS_VENDOR_MAX = CAS_ERROR_BASE - 500,
ERROR_CAS_VENDOR_MIN = CAS_ERROR_BASE - 999,

Loading…
Cancel
Save