prediction_model_download_observer.h 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef COMPONENTS_OPTIMIZATION_GUIDE_CORE_PREDICTION_MODEL_DOWNLOAD_OBSERVER_H_
  5. #define COMPONENTS_OPTIMIZATION_GUIDE_CORE_PREDICTION_MODEL_DOWNLOAD_OBSERVER_H_
  6. #include "base/observer_list_types.h"
  7. #include "components/optimization_guide/proto/models.pb.h"
  8. namespace optimization_guide {
  9. // Observes the PredictionModelDownloadManager for downloads that have
  10. // completed.
  11. class PredictionModelDownloadObserver : public base::CheckedObserver {
  12. public:
  13. // Invoked when a model has been downloaded and verified.
  14. virtual void OnModelReady(const proto::PredictionModel& model) = 0;
  15. // Invoked when a model download started.
  16. virtual void OnModelDownloadStarted(
  17. proto::OptimizationTarget optimization_target) = 0;
  18. // Invoked when a model download, its extraction, verification, etc., failed.
  19. virtual void OnModelDownloadFailed(
  20. proto::OptimizationTarget optimization_target) = 0;
  21. };
  22. } // namespace optimization_guide
  23. #endif // COMPONENTS_OPTIMIZATION_GUIDE_CORE_PREDICTION_MODEL_DOWNLOAD_OBSERVER_H_