Fawkes API  Fawkes Development Version
clips_pddl_parser_feature.h
1 /***************************************************************************
2  * clips_pddl_parser_feature.h - CLIPS PDDL Parser feature
3  *
4  * Created: Mon 16 Oct 2017 10:20:07 CEST 10:20
5  * Copyright 2017 Till Hofmann <hofmann@kbsg.rwth-aachen.de>
6  ****************************************************************************/
7 
8 /* This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU Library General Public License for more details.
17  *
18  * Read the full text in the LICENSE.GPL file in the doc directory.
19  */
20 
21 #ifndef _PLUGINS_CLIPS_PDDL_PARSER_FEATURE_PDDL_H_
22 #define _PLUGINS_CLIPS_PDDL_PARSER_FEATURE_PDDL_H_
23 
24 #include <plugins/clips/aspect/clips_feature.h>
25 
26 #include <map>
27 #include <string>
28 
29 namespace CLIPS {
30 class Environment;
31 }
32 
33 namespace fawkes {
34 class Logger;
35 }
36 
38 {
39 public:
41  //virtual ~PDDLCLIPSFeature();
42  virtual void clips_context_init(const std::string & env_name,
44  virtual void clips_context_destroyed(const std::string &env_name);
45 
46 private:
47  void parse_domain(std::string env_name, std::string domain_file);
48 
49 private:
50  fawkes::Logger * logger_;
51  std::map<std::string, fawkes::LockPtr<CLIPS::Environment>> envs_;
52 };
53 
54 #endif /* !PLUGINS_CLIPS_PDDL_PARSER_FEATURE_PDDL_H__ */
Fawkes library namespace.
virtual void clips_context_init(const std::string &env_name, fawkes::LockPtr< CLIPS::Environment > &clips)
Initialize the context and add a parse-pddl-domain CLIPS function.
Provide a PDDL parser to a CLIPS environment.
virtual void clips_context_destroyed(const std::string &env_name)
Clean up a context.
CLIPS feature maintainer.
Definition: clips_feature.h:41
PDDLCLIPSFeature(fawkes::Logger *logger)
Initialize the CLIPS feature.
Environment representation for JSON transfer.
Definition: Environment.h:26
Interface for logging.
Definition: logger.h:41