00001 00002 #ifndef bwi_krexec_AskPerson_h__guard 00003 #define bwi_krexec_AskPerson_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 AskPerson : public actasp::Action{ 00016 public: 00017 AskPerson(); 00018 00019 int paramNumber() const {return 2;} 00020 00021 std::string getName() const {return "askperson";} 00022 00023 void run(); 00024 00025 bool hasFinished() const {return done;} 00026 00027 actasp::Action *cloneAndInit(const actasp::AspFluent & fluent) const; 00028 00029 virtual actasp::Action *clone() const {return new AskPerson(*this);} 00030 00031 private: 00032 00033 std::vector<std::string> getParameters() const; 00034 std::string person_to_ask; 00035 std::string person_to_know; 00036 static ros::Publisher ask_pub; 00037 static bool pub_set; 00038 bool done; 00039 00040 }; 00041 00042 } 00043 00044 #endif 00045