// Copyright 2016 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #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(std::move(factory_)), list_devices(std::move(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