chromium/chrome/browser/apps/link_capturing/intent_picker_info.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_APPS_LINK_CAPTURING_INTENT_PICKER_INFO_H_
#define CHROME_BROWSER_APPS_LINK_CAPTURING_INTENT_PICKER_INFO_H_

#include <string>
#include <vector>

#include "base/functional/callback_forward.h"
#include "ui/base/models/image_model.h"

namespace apps {

// Describes the possible ways for the intent picker to be closed.
enum class IntentPickerCloseReason {};

// The type of an entry in the intent picker for the user to choose from.
enum class PickerEntryType {};

// Represents the data required to display an app in a picker to the user.
struct IntentPickerAppInfo {};

// The variant of the Intent Picker bubble to display. Used to customize some
// strings and behavior.
enum class IntentPickerBubbleType {};

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class IntentPickerIconEvent {};

}  // namespace apps

// Callback to pass the launch name and type of the app selected by the user,
// along with the reason why the Bubble was closed and whether the decision
// should be persisted. When the reason is ERROR or DIALOG_DEACTIVATED, the
// values of the launch name, app type, and persistence boolean are all ignored.
IntentPickerResponse;

#endif  // CHROME_BROWSER_APPS_LINK_CAPTURING_INTENT_PICKER_INFO_H_