/* License: Apache 2.0. See LICENSE file in root directory. */ /* Copyright(c) 2019 Intel Corporation. All Rights Reserved. */ #pragma once #include #include #include #include #ifdef ANDROID #include "../../common/android_helpers.h" #endif namespace fw_logger { struct fw_log_event { size_t num_of_params; std::string line; fw_log_event(); fw_log_event(int input_num_of_params, const std::string& input_line); }; typedef std::pair kvp; // XML key/value pair class fw_logs_xml_helper; class fw_logs_formating_options { public: fw_logs_formating_options(const std::string& xml_full_file_path); ~fw_logs_formating_options(void); bool get_event_data(int id, fw_log_event* log_event_data) const; bool get_file_name(int id, std::string* file_name) const; bool get_thread_name(uint32_t thread_id, std::string* thread_name) const; std::unordered_map> get_enums() const; bool initialize_from_xml(); private: friend fw_logs_xml_helper; std::unordered_map _fw_logs_event_list; std::unordered_map _fw_logs_file_names_list; std::unordered_map _fw_logs_thread_names_list; std::unordered_map>> _fw_logs_enum_names_list; std::string _xml_full_file_path; }; }