Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d47413ce authored by Henry Fang's avatar Henry Fang Committed by android-build-merger
Browse files

Merge "Update plugin for cas@1.2"

am: e4ff5510

Change-Id: I874c573965786a864b0146a6ac16ae192978d7f6
parents 896a9f00 e4ff5510
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -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 =
+7 −0
Original line number Diff line number Diff line
@@ -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;
};

+13 −0
Original line number Diff line number Diff line
@@ -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);
+6 −0
Original line number Diff line number Diff line
@@ -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;

+7 −1
Original line number Diff line number Diff line
@@ -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,