// Copyright 2018 yuzu Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include namespace AudioCore { class Sink; struct SinkDetails { SinkDetails(const char* id_, std::function(std::string)> factory_, std::function()> list_devices_) : id(id_), factory(factory_), list_devices(list_devices_) {} /// Name for this sink. const char* id; /// A method to call to construct an instance of this type of sink. std::function(std::string device_id)> factory; /// A method to call to list available devices. std::function()> list_devices; }; extern const std::vector g_sink_details; const SinkDetails& GetSinkDetails(std::string sink_id); } // namespace AudioCore