// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_UPDATER_APP_APP_SERVER_H_ #define CHROME_UPDATER_APP_APP_SERVER_H_ #include "base/functional/callback_forward.h" #include "base/memory/scoped_refptr.h" #include "base/sequence_checker.h" #include "base/timer/timer.h" #include "chrome/updater/app/app.h" #include "chrome/updater/configurator.h" #include "chrome/updater/external_constants.h" #include "chrome/updater/prefs.h" namespace updater { class UpdateServiceInternal; class GlobalPrefs; class UpdateService; // Returns true if the command line has the switch `--service update-internal`. bool IsInternalService(); // AppServer runs as the updater server process. Multiple servers of different // application versions can be run side-by-side. Each such server is called a // "candidate". Exactly one candidate is "active" at any given time. Only the // active candidate is permitted to mutate shared system state such as the // global prefs file or versions of managed applications. class AppServer : public App { … }; scoped_refptr<App> MakeAppServer(); } // namespace updater #endif // CHROME_UPDATER_APP_APP_SERVER_H_