// Copyright 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. // // Internal class to represent BAudioDeviceInfo. #ifndef BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_INTERNAL_H_ #define BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_INTERNAL_H_ #include #include #include #include "include/brillo_audio_device_info.h" namespace brillo { class BAudioDeviceInfoInternal { public: // Constructor for BAudioDeviceInfoInternal. // // |device_id| is an integer representing an audio device type as defined in // brillo_audio_device_info.h. explicit BAudioDeviceInfoInternal(int device_id); // Get audio policy config. // // Returns an audio_policy_forced_cfg_t. audio_policy_forced_cfg_t GetConfig(); // Create a BAudioDeviceInfoInternal object from a audio_devices_t device // type. // // |devices_t| is an audio device of type audio_devices_t which is represented // using an int. // // Returns a pointer to a BAudioDeviceInfoInternal that has been created. static BAudioDeviceInfoInternal* CreateFromAudioDevicesT(unsigned int device); // Get the device id. // // Returns an int which is the device_id. int GetDeviceId(); // Get audio_devices_t that corresponds to device_id; // // Returns an audio_devices_t. audio_devices_t GetAudioDevicesT(); private: FRIEND_TEST(BrilloAudioDeviceInfoInternalTest, InWiredHeadset); FRIEND_TEST(BrilloAudioDeviceInfoInternalTest, OutWiredHeadset); FRIEND_TEST(BrilloAudioDeviceInfoInternalTest, OutWiredHeadphone); // An int representing the underlying audio device. The int is one of the // constants defined in brillo_audio_device_info.h. int device_id_; }; } // namespace brillo #endif // BRILLO_AUDIO_AUDIOSERVICE_BRILLO_AUDIO_DEVICE_INFO_INTERNAL_H_