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
29namespace CLIPS {
30class Environment;
31}
32
33namespace fawkes {
34class Logger;
35}
36
38{
39public:
41 void init_logger(fawkes::Logger *logger);
42 //virtual ~PDDLCLIPSFeature();
43 virtual void clips_context_init(const std::string & env_name,
45 virtual void clips_context_destroyed(const std::string &env_name);
46
47private:
48 void parse_domain(std::string env_name, std::string domain_file);
49
50private:
51 fawkes::Logger * logger_;
52 std::map<std::string, fawkes::LockPtr<CLIPS::Environment>> envs_;
53};
54
55#endif /* !PLUGINS_CLIPS_PDDL_PARSER_FEATURE_PDDL_H__ */
Environment representation for JSON transfer.
Definition: Environment.h:28
Provide a PDDL parser to a CLIPS environment.
PDDLCLIPSFeature()
Initialize the CLIPS feature.
virtual void clips_context_destroyed(const std::string &env_name)
Clean up a context.
void init_logger(fawkes::Logger *logger)
Initialize the looger to use.
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.
CLIPS feature maintainer.
Definition: clips_feature.h:42
Interface for logging.
Definition: logger.h:42
Fawkes library namespace.