' Copyright (C) 2015-2021, Wazuh Inc.
' Created by Wazuh, Inc. <info@wazuh.com>.
' This program is free software; you can redistribute it and/or modify it under the terms of GPLv2

@startuml cis-cat_diagram
activate wm_ciscat

wm_ciscat -> Config: Setup()
activate Config
wm_ciscat <-- Config: Parameters
deactivate Config

loop Forever
    alt time_sleep
        wm_ciscat -> wm_ciscat: Sleep()
        activate wm_ciscat
        deactivate wm_ciscat
    end

    loop Eval
        wm_ciscat -> ciscat_run: Run()
        activate ciscat_run
        ciscat_run -> ciscat_script: Command
        activate ciscat_script
        ciscat_script --> ciscat_run: Report files
        deactivate ciscat_script
        alt !error
            ciscat_run -> Report_files: txt_parser()
            activate Report_files
            Report_files -> ciscat_run: scan_info
            deactivate Report_files
            ciscat_run -> Report_files: xml_preparser()
            activate Report_files
            Report_files --> ciscat_run: tmp_xml_file
            ciscat_run -> Report_files: xml_parser()
            Report_files -> ciscat_run: Done
            deactivate Report_files
            database Manager
            ciscat_run -> Manager: send_scan()
            activate Manager
            deactivate Manager
        end
        ciscat_run -> wm_ciscat: Eval->next
        deactivate ciscat_run
    end
end

deactivate wm_ciscat
@enduml
