#ifndef ASH_PUBLIC_CPP_SCANNER_SCANNER_DELEGATE_H_
#define ASH_PUBLIC_CPP_SCANNER_SCANNER_DELEGATE_H_
#include <string>
#include "ash/public/cpp/ash_public_export.h"
#include "base/functional/callback_forward.h"
class AccountId;
namespace ash {
struct ScannerFeedbackInfo;
class ScannerProfileScopedDelegate;
class ASH_PUBLIC_EXPORT ScannerDelegate {
public:
using SendFeedbackCallback =
base::OnceCallback<void(ScannerFeedbackInfo feedback_info,
const std::string& user_description)>;
virtual ~ScannerDelegate() = default;
virtual ScannerProfileScopedDelegate* GetProfileScopedDelegate() = 0;
virtual void OpenFeedbackDialog(
const AccountId& account_id,
ScannerFeedbackInfo feedback_info,
SendFeedbackCallback send_feedback_callback) = 0;
};
}
#endif