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

Commit 1729fb79 authored by Henry Fang's avatar Henry Fang
Browse files

update cas plugin interface for cas@1.2

Test: Manual
bug: 141783130
Change-Id: I9d2a18cbe0ab2f0d94b2dd4f88815a8230b0548d
parent 7c123cc1
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -56,6 +56,11 @@ typedef void (*CasPluginCallbackExt)(
        size_t size,
        const CasSessionId *sessionId);

typedef void (*CasPluginStatusCallback)(
        void *appData,
        int32_t event,
        int32_t arg);

struct CasFactory {
    CasFactory() {}
    virtual ~CasFactory() {}
@@ -91,6 +96,10 @@ struct CasPlugin {
    CasPlugin() {}
    virtual ~CasPlugin() {}

    // Provide a callback to report plugin status
    virtual status_t setStatusCallback(
            CasPluginStatusCallback callback) = 0;

    // Provide the CA private data from a CA_descriptor in the conditional
    // access table to a CasPlugin.
    virtual status_t setPrivateData(
@@ -100,6 +109,11 @@ struct CasPlugin {
    // streams.
    virtual status_t openSession(CasSessionId *sessionId) = 0;

    // Open a session with intend and mode for descrambling a program, or one
    // or more elementary streams.
    virtual status_t openSession(uint32_t intent, uint32_t mode,
                                     CasSessionId *sessionId) = 0;

    // Close a previously opened session.
    virtual status_t closeSession(const CasSessionId &sessionId) = 0;