OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_OFFLINE_PAGES_CORE_BACKGROUND_REQUEST_NOTIFIER_H_ | 5 #ifndef COMPONENTS_OFFLINE_PAGES_CORE_BACKGROUND_REQUEST_NOTIFIER_H_ |
6 #define COMPONENTS_OFFLINE_PAGES_CORE_BACKGROUND_REQUEST_NOTIFIER_H_ | 6 #define COMPONENTS_OFFLINE_PAGES_CORE_BACKGROUND_REQUEST_NOTIFIER_H_ |
7 | 7 |
8 namespace offline_pages { | 8 namespace offline_pages { |
9 | 9 |
10 class SavePageRequest; | 10 class SavePageRequest; |
11 | 11 |
12 class RequestNotifier { | 12 class RequestNotifier { |
13 public: | 13 public: |
14 // Status to return for failed notifications. | 14 // Status to return for failed notifications. |
15 // NOTE: for any changes to the enum, please also update related switch code | 15 // NOTE: for any changes to the enum, please also update related switch code |
16 // in RequestCoordinatorEventLogger. | 16 // in RequestCoordinatorEventLogger. |
17 // GENERATED_JAVA_ENUM_PACKAGE:org.chromium.components.offlinepages | 17 // GENERATED_JAVA_ENUM_PACKAGE:org.chromium.components.offlinepages |
18 // WARNING: You must update histograms.xml to match any changes made to | 18 // WARNING: You must update histograms.xml to match any changes made to |
19 // this enum (ie, histogram enum for OfflinePagesBackgroundSavePageResult). | 19 // this enum (ie, histogram enum for OfflinePagesBackgroundSavePageResult). |
20 enum class BackgroundSavePageResult { | 20 enum class BackgroundSavePageResult { |
21 SUCCESS = 0, | 21 SUCCESS = 0, |
22 LOADING_FAILURE = 1, | 22 LOADING_FAILURE = 1, |
23 LOADING_CANCELED = 2, | 23 LOADING_CANCELED = 2, |
24 FOREGROUND_CANCELED = 3, | 24 FOREGROUND_CANCELED = 3, |
25 SAVE_FAILED = 4, | 25 SAVE_FAILED = 4, |
26 EXPIRED = 5, | 26 EXPIRED = 5, |
27 RETRY_COUNT_EXCEEDED = 6, | 27 RETRY_COUNT_EXCEEDED = 6, |
28 START_COUNT_EXCEEDED = 7, | 28 START_COUNT_EXCEEDED = 7, |
29 REMOVED = 8, | 29 USER_CANCELED = 8, |
30 // NOTE: insert new values above this line and update histogram enum too. | 30 // NOTE: insert new values above this line and update histogram enum too. |
31 STATUS_COUNT | 31 STATUS_COUNT |
32 }; | 32 }; |
33 | 33 |
34 virtual ~RequestNotifier() = default; | 34 virtual ~RequestNotifier() = default; |
35 | 35 |
36 // Notifies observers that |request| has been added. | 36 // Notifies observers that |request| has been added. |
37 virtual void NotifyAdded(const SavePageRequest& request) = 0; | 37 virtual void NotifyAdded(const SavePageRequest& request) = 0; |
38 | 38 |
39 // Notifies observers that |request| has been completed with |status|. | 39 // Notifies observers that |request| has been completed with |status|. |
40 virtual void NotifyCompleted(const SavePageRequest& request, | 40 virtual void NotifyCompleted(const SavePageRequest& request, |
41 BackgroundSavePageResult status) = 0; | 41 BackgroundSavePageResult status) = 0; |
42 | 42 |
43 // Notifies observers that |request| has been changed. | 43 // Notifies observers that |request| has been changed. |
44 virtual void NotifyChanged(const SavePageRequest& request) = 0; | 44 virtual void NotifyChanged(const SavePageRequest& request) = 0; |
45 | 45 |
46 // Notifies observers of progress on |request|, which received | 46 // Notifies observers of progress on |request|, which received |
47 // |received_bytes| at that point. | 47 // |received_bytes| at that point. |
48 virtual void NotifyNetworkProgress(const SavePageRequest& request, | 48 virtual void NotifyNetworkProgress(const SavePageRequest& request, |
49 int64_t received_bytes) = 0; | 49 int64_t received_bytes) = 0; |
50 }; | 50 }; |
51 | 51 |
52 } // namespace offline_pages | 52 } // namespace offline_pages |
53 | 53 |
54 #endif // COMPONENTS_OFFLINE_PAGES_CORE_BACKGROUND_REQUEST_NOTIFIER_H_ | 54 #endif // COMPONENTS_OFFLINE_PAGES_CORE_BACKGROUND_REQUEST_NOTIFIER_H_ |
OLD | NEW |