#include <memory>
#include <utility>
#include "base/functional/callback.h"
#include "base/logging.h"
#include "base/sequence_checker.h"
#include "base/time/time.h"
#include "chrome/enterprise_companion/app/app.h"
#include "chrome/enterprise_companion/enterprise_companion_status.h"
#include "chrome/enterprise_companion/installer.h"
#include "chrome/enterprise_companion/lock.h"
namespace enterprise_companion {
namespace {
constexpr base::TimeDelta kAcquireLockTimeout = …;
class AppInstall : public App { … };
}
std::unique_ptr<App> CreateAppInstall(
base::OnceCallback<EnterpriseCompanionStatus()> shutdown_remote_task,
base::OnceCallback<std::unique_ptr<ScopedLock>(base::TimeDelta timeout)>
lock_provider,
base::OnceCallback<bool()> install_task) { … }
}