Inter4ql  5.2
Plugin.h
1 #ifndef EXTERNAL_H
2 #define EXTERNAL_H
3 
4 #include "../ModuleExternal.h"
5 
6 namespace Inter4ql {
7 
8  class VariableSpace;
9 
12  class Plugin : public ModuleExternal {
13  public:
18  explicit Plugin(VariableSpace *_v);
25  static Inter4ql::logic_type::type runPlugin(std::string name, std::string params);
26  // ----------------- NEW STUFF ---------------------
27  void reason();
28  Result ask_for_result(Fact * term) const;
29 
30  private:
31  void add_relation(std::string name, std::string interface);
32  };
33 }
34 
35 #endif /* EXTERNAL_H */
36 
class that handles modules with support of external applications
Definition: ModuleExternal.h:20
void reason()
performs reasoning
Definition: Plugin.cc:85
type
Enumeration type for four-valued logic.
Definition: Types.h:45
VariableSpace class for handling all values in interpreter environment.
Definition: VariableSpace.h:13
Result ask_for_result(Fact *term) const
provides valuations matching given Fact
Definition: Plugin.cc:89
class that implements a fact
Definition: Fact.h:14
Plugin(VariableSpace *_v)
constructor for Plugin module
Definition: Plugin.cc:15
static Inter4ql::logic_type::type runPlugin(std::string name, std::string params)
Function executing external application.
Definition: Plugin.cc:63
Definition: Result.h:16
Definition: Application.cc:37
std::string name
name of external module
Definition: ModuleExternal.h:48
Plugin module used to implement operations delievered by external applications.
Definition: Plugin.h:12