aboutsummaryrefslogtreecommitdiffstats
path: root/daemon/src/connection_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/src/connection_manager.h')
-rw-r--r--daemon/src/connection_manager.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/daemon/src/connection_manager.h b/daemon/src/connection_manager.h
index 240e436..e15eaaa 100644
--- a/daemon/src/connection_manager.h
+++ b/daemon/src/connection_manager.h
@@ -1,12 +1,12 @@
#pragma once
#include "types.h"
-#include "message.h"
+#include "submitter.h"
+#include "sender.h"
-#include <functional>
#include <string>
-#include <map>
#include <memory>
+#include <map>
class RtMidi;
@@ -18,17 +18,20 @@ struct Device_Connection;
class Connection_Manager
{
public:
- Connection_Manager(Device_Map const & device_map, std::function<void(Message const &)> const & submit);
+ Connection_Manager(Device_Map const & device_map, Submitter & submitter);
~Connection_Manager();
+ Sender &
+ get_sender(Device_Id const & device) const;
+
private:
static bool
open_port(RtMidi* const midi, std::string const & name);
Device_Map const & m_device_map;
- std::function<void(Message const &)> m_submit;
- std::map<std::string, std::unique_ptr<Device_Connection>> m_connections;
+ Submitter & m_submitter;
+ std::map<Device_Id, std::unique_ptr<Device_Connection>> m_connections;
};
} // namespace midi_router