00001 #ifndef DEPOSIT_HH_ 00002 # define DEPOSIT_HH_ 00003 00004 # include "task.hh" 00005 # include "objects_fwd.hh" 00006 # include "def_map.hh" 00007 00008 namespace tasks 00009 { 00010 class Deposit : public Task 00011 { 00012 public: 00013 enum State 00014 { 00015 state_going_to_warehouse, 00016 state_deposit_items 00017 }; 00018 00019 public: 00020 Deposit(); 00021 ~Deposit(); 00022 00023 virtual void execute(); 00024 virtual void process(); 00025 virtual void terminate(); 00026 00027 virtual const std::string &get_name() const; 00028 00029 protected: 00030 State _state; 00031 00032 virtual void require_sub_task(); 00033 }; 00034 } 00035 00036 #endif