blob: 46053a9df9db4a2f2a2dc425e9a9a59fa675c928 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_LOGIN_LOGIN_STATE_SCOPED_TEST_PUBLIC_SESSION_LOGIN_STATE_H_
#define CHROMEOS_LOGIN_LOGIN_STATE_SCOPED_TEST_PUBLIC_SESSION_LOGIN_STATE_H_
#include "base/macros.h"
#include "chromeos/login/login_state/login_state.h"
namespace chromeos {
// A class to start and shutdown public session state for a test. Only one
// instance is allowed to exist at a given time. To be instantiated on the stack
// (so it nicely cleans up after going out of scope).
class ScopedTestPublicSessionLoginState {
public:
ScopedTestPublicSessionLoginState(
LoginState::LoggedInUserType user_type =
LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT);
~ScopedTestPublicSessionLoginState();
private:
bool needs_shutdown_ = false;
DISALLOW_COPY_AND_ASSIGN(ScopedTestPublicSessionLoginState);
};
} // namespace chromeos
#endif // CHROMEOS_LOGIN_LOGIN_STATE_SCOPED_TEST_PUBLIC_SESSION_LOGIN_STATE_H_