Free Electron
RouteHandler.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_RouteHandler_h__
8 #define __plan_RouteHandler_h__
9 
10 #include "signal/signal.h"
11 #include "shape/shape.h"
12 #include "plan/planAS.h"
13 #include "mobility/mobilityAS.h"
14 
15 namespace fe
16 {
17 
18 class FE_DL_EXPORT RouteHandler :
19  virtual public HandlerI,
20  virtual public Config,
21  virtual public Initialize<RouteHandler>
22 {
23  public:
24  RouteHandler(void);
25 virtual ~RouteHandler(void);
26 virtual void initialize(void);
27 
28  // AS HandlerI
29 virtual void handle(Record &r_sig);
30 
31  typedef enum
32  {
33  e_hold = 0,
34  e_linger = 1,
35  e_move = 2
36  } t_state;
37 
38  private:
39  class WpInfo
40  {
41  public:
42  std::vector<Record> m_start_routers;
43  std::vector<Record> m_end_routers;
44  };
45  AsRouted m_asRouted;
46  AsRouter m_asRouter;
47  AsBounded m_asBounded;
48  AsWaypoint m_asWaypoint;
49  AsMobile m_asMobile;
50  AsPair m_asPair;
51  AsPoint m_asPoint;
52 };
53 
54 
55 } /* namespace */
56 
57 #endif /* __plan_RouteHandler_h__ */
58 
59 
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Definition: RouteHandler.h:18