plugins/score-lib-process/Process/DocumentPlugin.hpp
1 #pragma once
2 #include <Process/Dataflow/CableItem.hpp>
3 #include <Process/Dataflow/PortItem.hpp>
4 
5 #include <score/plugins/documentdelegate/plugin/DocumentPlugin.hpp>
6 
7 #include <ossia/detail/ptr_set.hpp>
8 
9 namespace Process
10 {
11 class SCORE_LIB_PROCESS_EXPORT DataflowManager final : public QObject
12 {
13 public:
15  ~DataflowManager();
16 
17  using cable_map = ossia::ptr_map<const Process::Cable*, Dataflow::CableItem*>;
18  using port_map = ossia::ptr_map<const Process::Port*, Dataflow::PortItem*>;
19 
20  Dataflow::CableItem* createCable(
21  const Process::Cable& cable, const Process::Context& context,
22  QGraphicsScene* scene);
23 
24  cable_map& cables() noexcept { return m_cableMap; }
25  port_map& ports() noexcept { return m_portMap; }
26 
27 private:
28  cable_map m_cableMap;
29  port_map m_portMap;
30 };
31 }
Definition: CableItem.hpp:26
Definition: Cable.hpp:54
Definition: plugins/score-lib-process/Process/DocumentPlugin.hpp:12
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Definition: ProcessContext.hpp:12