| // Copyright 2021 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_UPDATER_UPDATE_BLOCK_CHECK_H_ |
| #define CHROME_UPDATER_UPDATE_BLOCK_CHECK_H_ |
| |
| #include "base/callback_forward.h" |
| #include "chrome/updater/update_service.h" |
| |
| namespace updater { |
| |
| // Checks if the update should be blocked because the device is using a metered |
| // network. This only blocks background updates. Foreground updates are still |
| // allowed to continue. This prevents the updater from spending the network |
| // bandwidth of a metered network without the user knowing, and also respects |
| // Windows compliance with regards to metered networks. This currently only |
| // applies to Win10 devices. |
| // `priority` indicates if the update is foreground or background. |
| // `callback` will be called once the function is done and will receive a bool |
| // that indicates if the update should be blocked. |
| void ShouldBlockUpdateForMeteredNetwork( |
| UpdateService::Priority priority, |
| base::OnceCallback<void(bool)> callback); |
| |
| } // namespace updater |
| |
| #endif // CHROME_UPDATER_UPDATE_BLOCK_CHECK_H_ |