blob: f599b10ab584bec3359a69eb0ed942d4d674b516 [file] [log] [blame]
* 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
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* 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);