blob: 771a6474e493faf8ea6f7cbd9dba632f2d40ab72 [file] [log] [blame]
/**
* Copyright 2021, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.media.tv.tuner;
import android.hardware.tv.tuner.FrontendScanType;
import android.hardware.tv.tuner.FrontendSettings;
import android.hardware.tv.tuner.FrontendStatus;
import android.hardware.tv.tuner.FrontendStatusType;
import android.media.tv.tuner.ITunerFrontendCallback;
import android.media.tv.tuner.ITunerLnb;
/**
* Tuner Frontend interface handles frontend related operations.
*
* {@hide}
*/
interface ITunerFrontend {
/**
* Set the frontend callback.
*
* @param tunerFrontendCallback the callback to receive frontend related info.
*/
void setCallback(in ITunerFrontendCallback tunerFrontendCallback);
/**
* Tunes the frontend to using the settings given.
*
* @param settings the settings to tune with.
*/
void tune(in FrontendSettings settings);
/**
* Stop the previous tuning.
*/
void stopTune();
/**
* Scan the frontend to use the settings given.
*
* @param settings the settings to scan with.
* @param frontendScanType scan with given type.
*/
void scan(in FrontendSettings settings, in FrontendScanType frontendScanType);
/**
* Stop the previous scanning.
*/
void stopScan();
/**
* Sets Low-Noise Block downconverter (LNB) for satellite frontend.
*
* @param tuner lnb interface.
*/
void setLnb(in ITunerLnb lnb);
/**
* Enable or Disable Low Noise Amplifier (LNA).
*
* @param bEnable enable Lna or not.
*/
void setLna(in boolean bEnable);
/**
* Link Frontend to the cicam with given id.
*
* @return lts id
*/
int linkCiCamToFrontend(in int ciCamId);
/**
* Unink Frontend to the cicam with given id.
*/
void unlinkCiCamToFrontend(in int ciCamId);
/**
* Releases the ITunerFrontend instance.
*/
void close();
/**
* Gets the statuses of the frontend.
*/
FrontendStatus[] getStatus(in FrontendStatusType[] statusTypes);
/**
* Gets the id of the frontend.
*/
int getFrontendId();
}