#include "components/enterprise/browser/reporting/report_generator.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "components/enterprise/browser/reporting/browser_report_generator.h"
#include "components/enterprise/browser/reporting/os_report_generator.h"
#include "components/enterprise/browser/reporting/report_type.h"
#include "components/enterprise/browser/reporting/reporting_delegate_factory.h"
#include "components/policy/core/common/cloud/cloud_policy_util.h"
#if BUILDFLAG(IS_WIN)
#include "base/win/wmi.h"
#endif
em;
namespace enterprise_reporting {
ReportGenerator::ReportGenerator(ReportingDelegateFactory* delegate_factory)
: … { … }
ReportGenerator::~ReportGenerator() = default;
void ReportGenerator::Generate(ReportType report_type,
ReportCallback callback) { … }
void ReportGenerator::CreateBasicRequest(
std::unique_ptr<ReportRequest> basic_request,
ReportType report_type,
ReportCallback callback) { … }
std::string ReportGenerator::GetMachineName() { … }
std::string ReportGenerator::GetOSUserName() { … }
std::string ReportGenerator::GetSerialNumber() { … }
void ReportGenerator::GenerateReport(
ReportType report_type,
ReportCallback callback,
std::unique_ptr<ReportRequest> basic_request) { … }
void ReportGenerator::OnBrowserReportReady(
std::unique_ptr<ReportRequest> basic_request,
ReportType report_type,
ReportCallback callback,
std::unique_ptr<em::BrowserReport> browser_report) { … }
void ReportGenerator::SetHardwareInfo(
std::unique_ptr<ReportRequest> basic_request,
base::OnceCallback<void(std::unique_ptr<ReportRequest>)> callback,
base::SysInfo::HardwareInfo hardware_info) { … }
}