#ifndef CHROME_BROWSER_ENTERPRISE_CHROME_BROWSER_MAIN_EXTRA_PARTS_ENTERPRISE_H_
#define CHROME_BROWSER_ENTERPRISE_CHROME_BROWSER_MAIN_EXTRA_PARTS_ENTERPRISE_H_
#include "base/task/sequenced_task_runner.h"
#include "chrome/browser/chrome_browser_main_extra_parts.h"
#include "chrome/browser/policy/messaging_layer/public/report_client.h"
#include "components/enterprise/buildflags/buildflags.h"
namespace enterprise_util {
class ChromeBrowserMainExtraPartsEnterprise
: public ChromeBrowserMainExtraParts {
public:
ChromeBrowserMainExtraPartsEnterprise();
ChromeBrowserMainExtraPartsEnterprise(
const ChromeBrowserMainExtraPartsEnterprise&) = delete;
ChromeBrowserMainExtraPartsEnterprise& operator=(
const ChromeBrowserMainExtraPartsEnterprise&) = delete;
~ChromeBrowserMainExtraPartsEnterprise() override;
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) && \
BUILDFLAG(ENTERPRISE_LOCAL_CONTENT_ANALYSIS)
void PostProfileInit(Profile* profile, bool is_initial_profile) override;
#endif
void PostCreateMainMessageLoop() override;
private:
reporting::ReportQueueProvider::SmartPtr<reporting::ReportingClient>
reporting_client_{nullptr, base::OnTaskRunnerDeleter(nullptr)};
};
}
#endif