#ifndef EXTENSIONS_COMMON_FEATURES_FEATURE_CHANNEL_H_
#define EXTENSIONS_COMMON_FEATURES_FEATURE_CHANNEL_H_
namespace version_info {
enum class Channel;
}
namespace extensions {
version_info::Channel GetCurrentChannel();
void SetCurrentChannel(version_info::Channel channel);
class ScopedCurrentChannel {
public:
explicit ScopedCurrentChannel(version_info::Channel channel);
ScopedCurrentChannel(const ScopedCurrentChannel&) = delete;
ScopedCurrentChannel& operator=(const ScopedCurrentChannel&) = delete;
~ScopedCurrentChannel();
const version_info::Channel& channel() { return channel_; }
private:
const version_info::Channel channel_;
const version_info::Channel original_overridden_channel_;
const int original_override_count_;
};
}
#endif