Project

General

Profile

Statistics
| Branch: | Revision:

root / scout / libscout / src / BehaviorList.h @ 2fd5122a

History | View | Annotate | Download (839 Bytes)

1 c239584b Priya
#ifndef _BEHAVIOR_LIST_H_
2
#define _BEHAVIOR_LIST_H_
3
4
#include "Behavior.h"
5 58371433 Priya
#include "behaviors/line_follow.h"
6 c239584b Priya
#include "behaviors/draw_cw_circle.h"
7
#include "behaviors/draw_ccw_circle.h"
8 f34d6221 Priya
#include "behaviors/Odometry.h"
9 cccc25c9 Priya
#include "behaviors/navigationMap.h"
10 2f025967 Priya
#include "behaviors/Scheduler.h"
11 3f72678f Priya
#include "behaviors/WH_Robot.h"
12 5d0687a9 Priya
#include "behaviors/wl_test.h"
13 4b02e3c0 Matt Bryant
#include "behaviors/pause_scout.h"
14 754da79f Priya
#include "behaviors/maze_solve.h"
15 d140fd71 Yuyang
#include "Sensors.h"
16 c239584b Priya
17 faa11f08 Priya
template<typename T> Behavior* behavior(std::string scoutname, Sensors* sensors){ return (Behavior*)new T(scoutname, sensors); } 
18
19
typedef Behavior* (* behavior_func)(std::string, Sensors*);
20
21 c239584b Priya
class BehaviorList
22
{
23
  public:
24 faa11f08 Priya
  std::vector<behavior_func> behavior_list;
25 c239584b Priya
26
  //Constructor. Initializes behavior_list
27 faa11f08 Priya
  BehaviorList();
28 c239584b Priya
  //Destructor. Frees behavior_list;
29
  ~BehaviorList();
30
};
31
32
#endif