diff options
Diffstat (limited to 'daemon/src/connection_manager.h')
-rw-r--r-- | daemon/src/connection_manager.h | 15 |
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 |