|  | // Copyright 2016 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 COMPONENTS_NTP_SNIPPETS_CATEGORY_STATUS_H_ | 
|  | #define COMPONENTS_NTP_SNIPPETS_CATEGORY_STATUS_H_ | 
|  |  | 
|  | namespace ntp_snippets { | 
|  |  | 
|  | // Represents the status of a category of content suggestions. | 
|  | // On Android builds, a Java counterpart will be generated for this enum. | 
|  | // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.ntp.snippets | 
|  | enum class CategoryStatus { | 
|  | // The provider is still initializing and it is not yet determined whether | 
|  | // content suggestions will be available or not. | 
|  | INITIALIZING, | 
|  |  | 
|  | // Content suggestions are available (though the list of available suggestions | 
|  | // may be empty simply because there are no reasonable suggestions to be made | 
|  | // at the moment). | 
|  | AVAILABLE, | 
|  | // Content suggestions are provided but not yet loaded. | 
|  | AVAILABLE_LOADING, | 
|  |  | 
|  | // There is no provider that provides suggestions for this category. | 
|  | NOT_PROVIDED, | 
|  | // The entire content suggestions feature has explicitly been disabled as part | 
|  | // of the service configuration. | 
|  | ALL_SUGGESTIONS_EXPLICITLY_DISABLED, | 
|  | // Content suggestions from a specific category have been disabled as part of | 
|  | // the service configuration. Any suggestions from this category should be | 
|  | // removed from the UI immediately. | 
|  | CATEGORY_EXPLICITLY_DISABLED, | 
|  |  | 
|  | // Content suggestions are not available because an error occurred when | 
|  | // loading or updating them. Any suggestions from this category should be | 
|  | // removed from the UI immediately. | 
|  | LOADING_ERROR | 
|  | }; | 
|  |  | 
|  | // Determines whether the given status is one of the AVAILABLE statuses. | 
|  | bool IsCategoryStatusAvailable(CategoryStatus status); | 
|  |  | 
|  | // Determines whether the given status is INITIALIZING or one of the AVAILABLE | 
|  | // statuses. All of these statuses have in common that there is or will soon be | 
|  | // content. | 
|  | bool IsCategoryStatusInitOrAvailable(CategoryStatus status); | 
|  |  | 
|  | }  // namespace ntp_snippets | 
|  |  | 
|  | #endif  // COMPONENTS_NTP_SNIPPETS_CATEGORY_STATUS_H_ |