#ifndef CHROME_TEST_BASE_SCOPED_CHANNEL_OVERRIDE_H_
#define CHROME_TEST_BASE_SCOPED_CHANNEL_OVERRIDE_H_
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#if BUILDFLAG(IS_WIN)
#include "chrome/install_static/test/scoped_install_details.h"
#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
#include "base/test/nix/scoped_chrome_version_extra_override.h"
#endif
#if !BUILDFLAG(GOOGLE_CHROME_BRANDING)
#error ScopedChannelOverride is only supported for Google Chrome builds.
#endif
namespace chrome {
class ScopedChannelOverride {
public:
enum class Channel {
kExtendedStable,
kStable,
kBeta,
kDev,
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
kCanary,
#endif
};
explicit ScopedChannelOverride(Channel channel);
~ScopedChannelOverride();
private:
#if BUILDFLAG(IS_WIN)
install_static::ScopedInstallDetails scoped_install_details_;
#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
base::test::ScopedChromeVersionExtraOverride scoped_channel_override_;
#endif
};
}
#endif