/* * Copyright (C) 2016 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.hardware.broadcastradio@1.0; import ITunerCallback; import ITuner; interface IBroadcastRadio { /** * Retrieve implementation properties. * @return result Operation completion status: OK in case of success, * NOT_INITIALIZED in case of initialization error. * @return properties A Properties structure containing implementation * description and capabilities. */ getProperties() generates (Result result, Properties properties); /** * Open a tuner interface for the requested configuration. * If no other tuner is opened, this will power on the radio hardware. * The hardware must be powered down when all tuner interface are released. * @param config A BandConfig struct containing the band configuration to apply * @param audio True if this tuner must be used for live radio listening and * should be connected to the radio audio source. * @param callback the callback interface * @return result Operation completion status: OK in case of success, * INVALID_ARGUMENTS if configuration requested is invalid, * INVALID_STATE if called out of sequence * @return tuner The interface to control the tuner * * Callback ITunerCallback.ConfigChanged MUST be called once the * configuration is applied or a failure occurs or after a time out. */ openTuner(BandConfig config, bool audio, ITunerCallback callback) generates (Result result, ITuner tuner); };