#ifndef CHROME_BROWSER_DEFAULT_BROWSER_DEFAULT_BROWSER_SETTER_H_
#define CHROME_BROWSER_DEFAULT_BROWSER_DEFAULT_BROWSER_SETTER_H_
#include "base/functional/callback_forward.h"
#include "chrome/browser/shell_integration.h"
namespace default_browser {
using DefaultBrowserState = shell_integration::DefaultWebClientState;
using DefaultBrowserSetterCompletionCallback =
base::OnceCallback<void(DefaultBrowserState)>;
enum class DefaultBrowserSetterType {
kShellIntegration = 0,
kMaxValue = kShellIntegration
};
class DefaultBrowserSetter {
public:
virtual ~DefaultBrowserSetter() = default;
virtual DefaultBrowserSetterType GetType() const = 0;
virtual void Execute(DefaultBrowserSetterCompletionCallback on_complete) = 0;
};
}
#endif