Project

General

Profile

Statistics
| Branch: | Revision:

root / scout / libscout / src / behaviors / Scheduler.h @ 9b4328d7

History | View | Annotate | Download (625 Bytes)

1
#ifndef _SCHEDULER_
2
#define _SCHEDULER_
3

    
4
#include "../helper_classes/PQWrapper.h"
5
#include "../helper_classes/Order.h"
6
#include "WH_Robot.h"
7
#include "../Behavior.h"
8

    
9
class Scheduler : Behavior {
10
  std::vector<WH_Robot> robots;
11
        PQWrapper unassignedOrders;
12
        std::vector<Order> assignedOrders;
13
        std::queue<WH_Robot> waitingRobots;
14

    
15
        void create_orders();
16

    
17
        void waiting_dance();
18

    
19
public:
20
  Scheduler(std::string scoutname):Behavior(scoutname, "Scheduler"){};
21
        ~Scheduler();
22
        
23
        void get_task(WH_Robot robot);
24
        
25
        void task_complete(Order o);
26
        void task_failed(Order o);
27
        
28
        
29
        Order get_next_item();
30
        
31
        void run();
32
    
33
};
34
#endif