1 // Copyright (C) 2020 The Android Open Source Project 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #pragma once 16 17 // clang-format off 18 #include PATH(device/google/atv/audio_proxy/AUDIO_PROXY_FILE_VERSION/IBusDevice.h) 19 // clang-format on 20 21 #include "public/audio_proxy.h" 22 23 namespace audio_proxy { 24 namespace AUDIO_PROXY_CPP_VERSION { 25 26 using ::android::hardware::hidl_bitfield; 27 using ::android::hardware::Return; 28 using ::device::google::atv::audio_proxy::AUDIO_PROXY_CPP_VERSION::IBusDevice; 29 using namespace ::android::hardware::audio::common::CPP_VERSION; 30 using namespace ::android::hardware::audio::CPP_VERSION; 31 32 class AudioProxyDevice; 33 34 class BusDeviceImpl : public IBusDevice { 35 public: 36 explicit BusDeviceImpl(AudioProxyDevice* device); 37 ~BusDeviceImpl() override; 38 39 // Methods from IBusDevice: 40 Return<void> openOutputStream(int32_t ioHandle, const DeviceAddress& device, 41 const AudioConfig& config, 42 hidl_bitfield<AudioOutputFlag> flags, 43 const SourceMetadata& sourceMetadata, 44 openOutputStream_cb _hidl_cb) override; 45 46 private: 47 AudioProxyDevice* const mDevice; 48 }; 49 50 } // namespace AUDIO_PROXY_CPP_VERSION 51 } // namespace audio_proxy 52