MoveEventClassicFactory.hpp
1 #pragma once
2 
3 #include <Process/ExpandMode.hpp>
4 #include <Process/TimeValue.hpp>
5 
6 #include <Scenario/Commands/Scenario/Displacement/MoveEventFactoryInterface.hpp>
7 
8 #include <score/model/Identifier.hpp>
9 
10 template <typename Object>
11 class Path;
12 
13 namespace Scenario
14 {
15 class ProcessModel;
16 class EventModel;
17 
18 namespace Command
19 {
20 class SerializableMoveEvent;
21 
23 {
24  SCORE_CONCRETE("644a6f8d-de63-4951-b28b-33b5e2c71ac8")
25 
26  std::unique_ptr<SerializableMoveEvent> make(
27  const Scenario::ProcessModel&, Id<EventModel> eventId, TimeVal newDate,
28  ExpandMode mode, LockMode lck) override;
29 
30  std::unique_ptr<SerializableMoveEvent> make(LockMode) override;
31 
32  int priority(
33  const score::ApplicationContext& ctx,
34  MoveEventFactoryInterface::Strategy s) const override
35  {
36  if(s == MoveEventFactoryInterface::CREATION)
37  return 1;
38 
39  return 0; // default choice
40  }
41 };
42 }
43 }
The Path class is a typesafe wrapper around ObjectPath.
Definition: Path.hpp:52
Definition: MoveEventClassicFactory.hpp:23
Definition: MoveEventFactoryInterface.hpp:31
The core hierarchical and temporal process of score.
Definition: ScenarioModel.hpp:37
The id_base_t class.
Definition: Identifier.hpp:57
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: TimeValue.hpp:21
Used to access all the application-wide state and structures.
Definition: ApplicationContext.hpp:24