Go to the documentation of this file.00001 #ifndef TFDM_INTERFACE_H
00002 #define TFDM_INTERFACE_H
00003
00004 #include <string>
00005 #include "continual_planning_executive/plannerInterface.h"
00006
00007 namespace tfd_modules
00008 {
00009
00010 class TFDMInterface : public continual_planning_executive::PlannerInterface
00011 {
00012 public:
00013 TFDMInterface();
00014 ~TFDMInterface();
00015
00019 virtual void initialize(const std::string & domainFile, const std::vector<std::string> & options);
00020
00021 virtual PlannerResult plan(const SymbolicState & init, const SymbolicState & goal, Plan & plan);
00022
00023 virtual PlannerResult monitor(const SymbolicState & init, const SymbolicState & goal, const Plan & plan);
00024
00025 virtual void setTimeout(double secs);
00026
00027
00029 void setProblemFileName(const std::string & file) {
00030 _problemFileName = file;
00031 }
00032
00034
00038 void setModuleOptions(const std::string & options) {
00039 _moduleOptions = options;
00040 }
00041
00042 protected:
00043 bool writeProblem(const SymbolicState & init, const SymbolicState & goal) const;
00044
00045 PlannerResult callPlanner(const std::string & domain, const std::string & problem,
00046 const std::string & planNamePrefix);
00047 PlannerResult callMonitoring(const std::string & domain, const std::string & problem,
00048 const std::string & planNamePrefix);
00049
00050 protected:
00051 std::string _domainFile;
00052 std::string _domainName;
00053 std::string _problemFileName;
00054 std::string _moduleOptions;
00055 };
00056
00057 };
00058
00059 #endif
00060