#ifndef __PRUNER_H__ #define __PRUNER_H__ #include #include #include "util/Database.hpp" #include "util/AliasedRegisterable.hpp" class Pruner : public fail::AliasedRegisterable { protected: int m_method_id; fail::Database *db; std::vector m_variants; std::string m_variants_sql; public: void set_db(fail::Database *db) { this->db = db; } bool init( const std::vector& variants, const std::vector& variants_exclude, const std::vector& benchmarks, const std::vector& benchmarks_exclude, bool overwrite); /** * Callback function that can be used to add command line options * to the cmd interface */ virtual bool commandline_init() { return true; } virtual std::string method_name() = 0; virtual bool create_database(); virtual bool clear_database(); virtual bool prune_all() = 0; }; #endif