| /* |
| * 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); |
| }; |