#ifndef CHROME_ENTERPRISE_COMPANION_APP_APP_H_
#define CHROME_ENTERPRISE_COMPANION_APP_APP_H_
#include <memory>
#include "build/build_config.h"
#include "chrome/enterprise_companion/enterprise_companion_client.h"
#include "chrome/enterprise_companion/enterprise_companion_status.h"
#include "chrome/enterprise_companion/installer.h"
#include "chrome/enterprise_companion/lock.h"
#include "mojo/public/cpp/platform/named_platform_channel.h"
namespace enterprise_companion {
class App { … };
std::unique_ptr<App> CreateAppServer();
std::unique_ptr<App> CreateAppShutdown(
const mojo::NamedPlatformChannel::ServerName& server_name =
GetServerName());
std::unique_ptr<App> CreateAppFetchPolicies(
const mojo::NamedPlatformChannel::ServerName& server_name =
GetServerName());
std::unique_ptr<App> CreateAppInstall(
base::OnceCallback<EnterpriseCompanionStatus()> shutdown_remote_task =
base::BindOnce([] { … };
#if BUILDFLAG(IS_MAC)
std::unique_ptr<App> CreateAppNetWorker();
#endif
}
#endif