retdec
cpdetect.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_CPDETECT_CPDETECT_H
8 #define RETDEC_CPDETECT_CPDETECT_H
9 
13 #include "retdec/cpdetect/errors.h"
15 #include "retdec/cpdetect/search.h"
16 
17 namespace retdec {
18 namespace cpdetect {
19 
24 {
25  private:
28  std::vector<std::string> externalDatabase;
29 
32  bool getExternalDatabases();
34 
37  void removeCompilersWithLessSimilarity(double ratio);
38  void removeUnusedCompilers();
40 
43  void getAllHeuristics();
47 
48  protected:
50  const fs::path& dir,
51  const std::set<std::string>& formats,
52  const std::set<std::string>& archs);
53 
54  protected:
61  std::unique_ptr<Heuristics> heuristics;
63  std::vector<std::string> internalPaths;
65  fs::path pathToShared;
67  std::set<std::string> externalSuffixes;
68 
69  public:
72  DetectParams &params,
74 
79 };
80 
81 } // namespace cpdetect
82 } // namespace retdec
83 
84 #endif
Definition: cpdetect.h:24
std::vector< std::string > externalDatabase
Definition: cpdetect.h:28
std::unique_ptr< Heuristics > heuristics
class for heuristics detections
Definition: cpdetect.h:61
void getAllHeuristics()
Definition: cpdetect.cpp:487
fs::path pathToShared
path to shared folder
Definition: cpdetect.h:65
retdec::fileformat::Architecture targetArchitecture
Definition: cpdetect.h:57
CompilerDetector(retdec::fileformat::FileFormat &parser, DetectParams &params, ToolInformation &toolInfo)
Definition: cpdetect.cpp:206
ReturnCode getAllSignatures()
Definition: cpdetect.cpp:499
DetectParams & cpParams
Definition: cpdetect.h:27
void removeCompilersWithLessSimilarity(double ratio)
Definition: cpdetect.cpp:365
std::vector< std::string > internalPaths
internal rule database files
Definition: cpdetect.h:63
ReturnCode getAllCompilers()
Definition: cpdetect.cpp:721
void populateInternalPaths(const fs::path &dir, const std::set< std::string > &formats, const std::set< std::string > &archs)
Definition: cpdetect.cpp:443
Search search
class for signature search
Definition: cpdetect.h:59
ToolInformation & toolInfo
results - detected tools
Definition: cpdetect.h:56
void removeUnusedCompilers()
Definition: cpdetect.cpp:390
bool getExternalDatabases()
Definition: cpdetect.cpp:335
std::set< std::string > externalSuffixes
external database file suffixes
Definition: cpdetect.h:67
retdec::fileformat::FileFormat & fileParser
Definition: cpdetect.h:26
ReturnCode getAllInformation()
Definition: cpdetect.cpp:761
Definition: search.h:20
Definition: file_format.h:45
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
cpdetectl types and structures.
Header file for error functions.
Wrapper for conditional include of C++17 filesystem feature.
Class for heuristics detection.
ReturnCode
Definition: cptypes.h:23
Architecture
Definition: fftypes.h:59
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.
Class for search in file.
Definition: cptypes.h:110
Definition: cptypes.h:177