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

Commit 17f8eac2 authored by Amy Zhang's avatar Amy Zhang
Browse files

Add linkCicam API in Frontend 1.1

This API is mostly for restoring the by-pass mode
Frontend and Cicam connection

Test: make
Bug: 158818696
Change-Id: I62ba19a1c6c531769db6286d3bcd41ab1529bb99
parent 36777d0f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -67,4 +67,18 @@ interface IFrontend extends @1.0::IFrontend {
     */
    scan_1_1(FrontendSettings settings, FrontendScanType type, FrontendSettingsExt settingsExt)
            generates (Result result);

    /**
     * Link Conditional Access Modules (CAM) to Frontend support Common Interface (CI) bypass mode.
     *
     * The client may use this to link CI-CAM to a frontend. CI bypass mode requires that the
     * CICAM also receives the TS concurrently from the frontend when the Demux is receiving the TS
     * directly from the frontend.
     *
     * @param ciCamId specify CI-CAM Id to link.
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         UNKNOWN_ERROR if failed for other reasons.
     */
    linkCiCam(uint32_t ciCamId) generates (Result result);
};
+8 −0
Original line number Diff line number Diff line
@@ -273,6 +273,14 @@ Return<Result> Frontend::setLnb(uint32_t /* lnb */) {
    return Result::SUCCESS;
}

Return<Result> Frontend::linkCiCam(uint32_t ciCamId) {
    ALOGV("%s", __FUNCTION__);

    mCiCamId = ciCamId;

    return Result::SUCCESS;
}

FrontendType Frontend::getFrontendType() {
    return mType;
}
+3 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ class Frontend : public V1_1::IFrontend {

    virtual Return<Result> setLnb(uint32_t lnb) override;

    virtual Return<Result> linkCiCam(uint32_t ciCamId) override;

    FrontendType getFrontendType();

    FrontendId getFrontendId();
@@ -78,6 +80,7 @@ class Frontend : public V1_1::IFrontend {
    FrontendType mType = FrontendType::UNDEFINED;
    FrontendId mId = 0;
    bool mIsLocked = false;
    uint32_t mCiCamId;

    std::ifstream mFrontendData;
};