Free Electron
planAS.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 
8 #ifndef __plan_planAS_h__
9 #define __plan_planAS_h__
10 
11 #include "ai/aiAS.h"
12 
13 namespace fe
14 {
15 
16 class AsWaypoint
17  : public AsPoint, public Initialize<AsWaypoint>
18 {
19  public:
20  void initialize(void)
21  {
22  add(name, FE_USE("plan:name"));
23  }
24  /// name
25  Accessor<String> name;
26 };
27 
28 class AsChainOp :
29  public AsPoint,
30  public Initialize<AsChainOp>
31 {
32  public:
33  void initialize(void)
34  {
35  //add(waypoint, FE_USE("plan:waypoint"));
36  add(next, FE_USE("plan:next"));
37  }
38 #if 0
39  // waypoint record
40  Accessor<Record> waypoint;
41 #endif
42  // list implementation
43  Accessor<Record> next;
44 };
45 
46 class AsGotoOp :
47  public AsChainOp,
48  public Initialize<AsGotoOp>
49 {
50  public:
51  void initialize(void)
52  {
53  }
54 };
55 
56 class AsRouter :
57  public AccessorSet,
58  public Initialize<AsRouter>
59 {
60  public:
61  void initialize(void)
62  {
63  add(start, FE_USE("plan:start"));
64  add(end, FE_USE("plan:end"));
65  add(level, FE_USE("plan:level"));
66  }
67  // start point
68  Accessor<Record> start;
69  // end point
70  Accessor<Record> end;
71  // level
72  Accessor<int> level;
73 };
74 
75 class AsRouted :
76  public AsPoint,
77  public Initialize<AsRouted>
78 {
79  public:
80  void initialize(void)
81  {
82  add(point, FE_USE("plan:routepoint"));
83  add(state, FE_USE("plan:state"));
84  }
85  // route point
86  Accessor<Record> point;
87  // state
88  Accessor<int> state;
89 };
90 
91 
92 class AsPlan
93  : public AccessorSet, public Initialize<AsPlan>
94 {
95  public:
96  void initialize(void)
97  {
98  add(group, FE_USE("plan:group"));
99  }
100  /// operation sequence
101  Accessor< sp<RecordGroup> > group;
102 };
103 
104 
105 } /* namespace */
106 
107 
108 #endif /* __plan_planAS_h__ */
109 
kernel
Definition: namespace.dox:3