#ifndef CHROME_BROWSER_ENTERPRISE_DATA_CONTROLS_DLP_REPORTING_MANAGER_H_
#define CHROME_BROWSER_ENTERPRISE_DATA_CONTROLS_DLP_REPORTING_MANAGER_H_
#include <memory>
#include "base/observer_list.h"
#include "base/task/sequenced_task_runner.h"
#include "build/chromeos_buildflags.h"
#include "components/enterprise/data_controls/core/browser/dlp_policy_event.pb.h"
#include "components/enterprise/data_controls/core/browser/rule.h"
#include "components/reporting/client/report_queue.h"
#include "components/reporting/util/status.h"
class DlpPolicyEvent;
namespace data_controls {
class DlpPolicyEventBuilder { … };
DlpPolicyEvent CreateDlpPolicyEvent(const std::string& src_url,
Rule::Restriction restriction,
const std::string& rule_name,
const std::string& rule_id,
Rule::Level level);
DlpPolicyEvent CreateDlpPolicyEvent(const std::string& src_url,
const std::string& dst_url,
Rule::Restriction restriction,
const std::string& rule_name,
const std::string& rule_id,
Rule::Level level);
#if BUILDFLAG(IS_CHROMEOS)
DlpPolicyEvent CreateDlpPolicyEvent(const std::string& src_url,
Component dst_component,
Rule::Restriction restriction,
const std::string& rule_name,
const std::string& rule_id,
Rule::Level level);
#endif
template <typename... Args>
DlpPolicyEvent CreateDlpPolicyWarningProceededEvent(Args... args) { … }
class DlpReportingManager { … };
}
#endif