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 #include "retdec/service.h"
14 
15 namespace retdec {
16 
17 class Decompilation;
18 class DecompilationArguments;
19 class Settings;
20 
21 namespace internal {
22 
23 class DecompilerImpl;
24 class ConnectionManager;
25 
26 } // namespace internal
27 
31 class Decompiler: public Service {
32 public:
35  Decompiler(const Settings &settings);
37  Decompiler(const Settings &settings,
38  const std::shared_ptr<::retdec::internal::ConnectionManager> &connectionManager);
40  virtual ~Decompiler() override;
42 
45  std::unique_ptr<Decompilation> runDecompilation(
46  const DecompilationArguments &args);
48 
49 private:
50  internal::DecompilerImpl *impl() noexcept;
51  const internal::DecompilerImpl *impl() const noexcept;
52 };
53 
54 } // namespace retdec
55 
56 #endif
Runner of decompilations.
Definition: decompiler.h:31
The namespace of the library.
Definition: doxygen.h:8
Arguments for decompilations.
Definition: decompilation_arguments.h:22
Base class of all services.
Definition: service.h:24
Library settings.
Definition: settings.h:19
Base class of all services.