00001 00002 #ifndef bwi_krexec_SearchRoom_h__guard 00003 #define bwi_krexec_SearchRoom_h__guard 00004 00005 #include "actasp/Action.h" 00006 00007 #include <ros/ros.h> 00008 00009 #include <sound_play/SoundRequest.h> 00010 00011 #include <string> 00012 00013 namespace bwi_krexec { 00014 00015 class SearchRoom : public actasp::Action{ 00016 public: 00017 SearchRoom(); 00018 00019 int paramNumber() const {return 2;} 00020 00021 std::string getName() const {return "searchroom";} 00022 00023 void run(); 00024 00025 bool hasFinished() const {return done;} 00026 00027 bool hasFailed() const {return failed;} 00028 00029 actasp::Action *cloneAndInit(const actasp::AspFluent & fluent) const; 00030 00031 virtual actasp::Action *clone() const {return new SearchRoom(*this);} 00032 00033 private: 00034 00035 std::vector<std::string> getParameters() const; 00036 std::string person; 00037 std::string room; 00038 static ros::Publisher ask_pub; 00039 static bool pub_set; 00040 bool done,failed,waiting_speach,wait_over; 00041 ros::Time starting_wating; 00042 00043 }; 00044 00045 } 00046 00047 #endif 00048