#ifndef CHROME_BROWSER_APPS_APP_DISCOVERY_SERVICE_APP_DISCOVERY_UTIL_H_
#define CHROME_BROWSER_APPS_APP_DISCOVERY_SERVICE_APP_DISCOVERY_UTIL_H_
#include <vector>
#include "base/callback_list.h"
#include "base/functional/callback.h"
#include "chrome/browser/apps/app_discovery_service/result.h"
namespace gfx {
class ImageSkia;
}
namespace apps {
enum class ResultType {
kTestType,
kRecommendedArcApps,
kGameSearchCatalog,
};
enum class AppSource {
kTestSource,
kPlay,
kGames,
};
enum class DiscoveryError {
kSuccess,
kErrorRequestFailed,
kErrorMalformedData,
kMaxValue = kErrorMalformedData,
};
using ResultCallback =
base::OnceCallback<void(const std::vector<Result>& results,
DiscoveryError error)>;
using RepeatingResultCallback =
base::RepeatingCallback<void(const std::vector<Result>& results)>;
using ResultCallbackList =
base::RepeatingCallbackList<void(const std::vector<Result>& results)>;
using GetIconCallback =
base::OnceCallback<void(const gfx::ImageSkia& image, DiscoveryError error)>;
}
#endif