Free Electron
RouteController.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __plan_RouteController_h__
8 #define __plan_RouteController_h__
9 
10 #include "signal/signal.h"
11 #include "draw/draw.h"
12 #include "window/window.h"
13 #include "viewer/viewer.h"
14 #include "viewer/Mask.h"
15 #include "shape/shape.h"
16 #include "dataui/datauiAS.h"
17 #include "plan/planAS.h"
18 
19 namespace fe
20 {
21 
22 class FE_DL_EXPORT RouteController :
23  virtual public Config,
24  virtual public HandlerI,
25  virtual public Dispatch,
26  virtual public Mask,
27  virtual public Reactor,
28  public Initialize<RouteController>
29 {
30  public:
31  RouteController(void);
32 virtual ~RouteController(void);
33 
34  void initialize(void);
35 
36  // AS HandlerI
37 virtual void handle(Record &r_sig);
38 
39  // AS DispatchI
40 virtual bool call(const String &a_name, std::vector<Instance> a_argv);
41 
42  void prototype(Record &r_proto);
43  private:
44 
45  std::vector<Record> m_rg_src;
46  std::vector<Record> m_rg_dst;
47  WindowEvent::Mask m_start;
48  WindowEvent::Mask m_end;
49  WindowEvent::Mask m_delete;
50  Record m_prototype;
51  sp<RecordGroup> m_gc;
52 
53  AsSelection m_asSel;
54  AsSignal m_asSignal;
55  AsRouter m_asRouter;
56  AsWaypoint m_asWaypoint;
57 };
58 
59 } /* namespace */
60 
61 #endif /* __plan_RouteController_h__ */
62 
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Definition: RouteController.h:22