summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/audio_core/sink_details.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/audio_core/sink_details.h b/src/audio_core/sink_details.h
index aa8aae1a9..ea666c554 100644
--- a/src/audio_core/sink_details.h
+++ b/src/audio_core/sink_details.h
@@ -6,6 +6,7 @@
6 6
7#include <functional> 7#include <functional>
8#include <memory> 8#include <memory>
9#include <utility>
9#include <vector> 10#include <vector>
10 11
11namespace AudioCore { 12namespace AudioCore {
@@ -13,16 +14,18 @@ namespace AudioCore {
13class Sink; 14class Sink;
14 15
15struct SinkDetails { 16struct SinkDetails {
16 SinkDetails(const char* id_, std::function<std::unique_ptr<Sink>(std::string)> factory_, 17 using FactoryFn = std::function<std::unique_ptr<Sink>(std::string)>;
17 std::function<std::vector<std::string>()> list_devices_) 18 using ListDevicesFn = std::function<std::vector<std::string>()>;
18 : id(id_), factory(factory_), list_devices(list_devices_) {} 19
20 SinkDetails(const char* id_, FactoryFn factory_, ListDevicesFn list_devices_)
21 : id(id_), factory(std::move(factory_)), list_devices(std::move(list_devices_)) {}
19 22
20 /// Name for this sink. 23 /// Name for this sink.
21 const char* id; 24 const char* id;
22 /// A method to call to construct an instance of this type of sink. 25 /// A method to call to construct an instance of this type of sink.
23 std::function<std::unique_ptr<Sink>(std::string device_id)> factory; 26 FactoryFn factory;
24 /// A method to call to list available devices. 27 /// A method to call to list available devices.
25 std::function<std::vector<std::string>()> list_devices; 28 ListDevicesFn list_devices;
26}; 29};
27 30
28extern const std::vector<SinkDetails> g_sink_details; 31extern const std::vector<SinkDetails> g_sink_details;