LocalTree/IntervalComponent.hpp
1 #pragma once
2 #include <Scenario/Document/Components/IntervalComponent.hpp>
3 
4 #include <LocalTree/LocalTreeComponent.hpp>
5 #include <LocalTree/ProcessComponent.hpp>
6 
7 #include <score/model/ComponentHierarchy.hpp>
8 
9 namespace LocalTree
10 {
11 class SCORE_PLUGIN_SCENARIO_EXPORT IntervalBase
12  : public Component<Scenario::GenericIntervalComponent<const score::DocumentContext>>
13 {
14  COMMON_COMPONENT_METADATA("11d928b5-eaeb-471c-b3b7-dc453180b10f")
15 public:
16  using parent_t
22 
24  ossia::net::node_base& parent, Scenario::IntervalModel& interval,
25  const score::DocumentContext& sys, QObject* parent_comp);
26 
28  make(ProcessComponentFactory& factory, Process::ProcessModel& process);
30 
31  bool removing(const Process::ProcessModel& cst, const ProcessComponent& comp);
32  template <typename... Args>
33  void added(Args&&...)
34  {
35  }
36  template <typename... Args>
37  void removed(Args&&...)
38  {
39  }
40 
41 private:
42  ossia::net::node_base& m_processesNode;
43 };
44 
45 class SCORE_PLUGIN_SCENARIO_EXPORT Interval final
46  : public score::PolymorphicComponentHierarchy<IntervalBase>
47 {
48 public:
49  template <typename... Args>
50  Interval(Args&&... args)
51  : score::PolymorphicComponentHierarchy<IntervalBase>{std::forward<Args>(args)...}
52  {
53  }
54  ~Interval();
55 };
56 }
Definition: LocalTreeComponent.hpp:12
Definition: LocalTree/IntervalComponent.hpp:13
Definition: LocalTree/IntervalComponent.hpp:47
Definition: LocalTree/ProcessComponent.hpp:34
Definition: LocalTree/ProcessComponent.hpp:63
Definition: LocalTree/ProcessComponent.hpp:15
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
Definition: IntervalModel.hpp:50
Manages polymorphic hierarchies of components.
Definition: ComponentHierarchy.hpp:165
Local tree provides a way to extend the tree given through the Engine::Network::LocalDevice.
Definition: BaseCallbackWrapper.hpp:9
Definition: DocumentContext.hpp:18