7 #ifndef EUNOMIA_TRACKER_FACTORY_H
8 #define EUNOMIA_TRACKER_FACTORY_H
42 std::shared_ptr<sec_analyzer> core_sec_analyzer;
47 template<tracker_concept TRACKER>
50 template<tracker_concept TRACKER>
51 TRACKER::tracker_event_handler create_tracker_event_handlers(
const std::vector<handler_config_data>& handler_configs);
54 template<tracker_concept TRACKER>
55 TRACKER::tracker_event_handler create_print_event_handler(
const TRACKER* tracker_ptr);
57 template<tracker_concept TRACKER>
61 template<tracker_concept TRACKER>
62 std::unique_ptr<TRACKER> create_default_tracker_with_handler(
64 TRACKER::tracker_event_handler);
67 template<tracker_concept TRACKER,
typename SEC_ANALYZER_HANDLER>
68 std::unique_ptr<TRACKER> create_default_tracker_with_sec_analyzer(
const tracker_config_data& base);
71 std::unique_ptr<process_tracker> create_process_tracker_with_container_tracking(
const tracker_config_data& base);
74 void start_trackers(
void);
76 void check_auto_exit(
void);
78 void start_prometheus_server(
void);
80 void start_container_manager(
void);
82 void start_sec_analyzer(
void);