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
3 // found in the LICENSE file.
4 
5 #ifndef COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_QUEUE_RESULTS_H_
6 #define COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_QUEUE_RESULTS_H_
7 
8 #include "components/offline_pages/core/background/save_page_request.h"
9 #include "components/offline_pages/core/offline_store_types.h"
10 
11 namespace offline_pages {
12 
13 // Extracted from RequestQueue so that we can build types that use these results
14 // that RequestQueue depends on (for example, the PickRequestTask).
15 typedef StoreUpdateResult<SavePageRequest> UpdateRequestsResult;
16 
17 enum class GetRequestsResult {
18   SUCCESS,
19   STORE_FAILURE,
20 };
21 
22 enum class AddRequestResult {
23   SUCCESS,
24   STORE_FAILURE,
25   ALREADY_EXISTS,
26   REQUEST_QUOTA_HIT,  // Cannot add a request with this namespace, as it has
27                       // reached a quota of active requests.
28   URL_ERROR,          // Cannot save this URL.
29   DUPLICATE_URL,  // URL is already being requested from this name_space, and
30                   // |disallow_duplicate_requests| was set to true.
31 };
32 
33 // GENERATED_JAVA_ENUM_PACKAGE:org.chromium.components.offlinepages.background
34 enum class UpdateRequestResult {
35   SUCCESS,
36   STORE_FAILURE,
37   REQUEST_DOES_NOT_EXIST,  // Failed to delete the request because it does not
38                            // exist.
39 };
40 
41 }  // namespace offline_pages
42 
43 #endif  // COMPONENTS_OFFLINE_PAGES_BACKGROUND_REQUEST_QUEUE_RESULTS_H_
44