retdec-cpp
decompiler.h
Go to the documentation of this file.
1 
8 #ifndef RETDEC_DECOMPILER_H
9 #define RETDEC_DECOMPILER_H
10 
11 #include <memory>
12 
13 namespace retdec {
14 
15 class Decompilation;
16 class DecompilationArguments;
17 class Settings;
18 
19 namespace internal {
20 
21 class ConnectionManager;
22 
23 } // namespace internal
24 
28 class Decompiler {
29 public:
32  Decompiler(const Settings &settings);
34  Decompiler(const Settings &settings,
35  const std::shared_ptr<::retdec::internal::ConnectionManager> &connectionManager);
37  ~Decompiler();
39 
42  std::unique_ptr<Decompilation> runDecompilation(
43  const DecompilationArguments &args);
45 
48  Decompiler(const Decompiler &) = delete;
49  Decompiler(Decompiler &&) = delete;
50  Decompiler &operator=(const Decompiler &) = delete;
51  Decompiler &operator=(Decompiler &&) = delete;
53 
54 private:
55  struct Impl;
57  std::unique_ptr<Impl> impl;
58 };
59 
60 } // namespace retdec
61 
62 #endif
Runner of decompilations.
Definition: decompiler.h:28
The namespace of the library.
Definition: doxygen.h:8
Arguments for decompilations.
Definition: decompilation_arguments.h:22
Decompiler(const Settings &settings)
Constructs a decompiler with the given settings.
Definition: decompiler.cpp:77
std::unique_ptr< Decompilation > runDecompilation(const DecompilationArguments &args)
Runs a new decompilation with the given arguments.
Definition: decompiler.cpp:97
~Decompiler()
Destructs the decompiler.
Decompiler & operator=(const Decompiler &)=delete
Library settings.
Definition: settings.h:19