#ifndef CHROME_BROWSER_UI_SAVE_TO_DRIVE_GET_ACCOUNT_H_
#define CHROME_BROWSER_UI_SAVE_TO_DRIVE_GET_ACCOUNT_H_
#include <memory>
#include <optional>
#include "base/functional/callback_forward.h"
namespace content {
class WebContents;
}
struct AccountInfo;
namespace save_to_drive {
class AccountChooserController;
class AccountChooser {
public:
AccountChooser();
AccountChooser(const AccountChooser&) = delete;
AccountChooser& operator=(const AccountChooser&) = delete;
virtual ~AccountChooser();
virtual void GetAccount(content::WebContents* web_contents,
base::OnceCallback<void(std::optional<AccountInfo>)>
on_account_chosen_callback);
private:
std::unique_ptr<AccountChooserController> account_chooser_controller_;
};
}
#endif