00001 #ifndef PERSONAL_SHOP_HH_ 00002 # define PERSONAL_SHOP_HH_ 00003 00004 # include "activity.hh" 00005 # include "tasks_fwd.hh" 00006 # include "objects_fwd.hh" 00007 # include "def_map.hh" 00008 00009 namespace tasks 00010 { 00011 class PersonalShop : public Activity 00012 { 00013 public: 00014 enum Status 00015 { 00016 status_moving, 00017 status_selling 00018 }; 00019 00020 public: 00021 PersonalShop(); 00022 ~PersonalShop(); 00023 00024 void start(); 00025 void process(); 00026 void terminate(); 00027 00028 const std::string &get_name() const; 00029 static const char *get_static_name(); 00030 00031 protected: 00032 Status _status; 00033 00034 void require_task(); 00035 }; 00036 } 00037 00038 #endif