blob: 9f71113c6a6eb9f6022f574723261f641869ca0c [file] [log] [blame]
// Copyright 2018 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 ASH_PUBLIC_CPP_TABLET_MODE_H_
#define ASH_PUBLIC_CPP_TABLET_MODE_H_
#include "ash/public/cpp/ash_public_export.h"
namespace ash {
class TabletModeToggleObserver;
// An interface implemented by Ash that allows Chrome to be informed of changes
// to tablet mode state.
class ASH_PUBLIC_EXPORT TabletMode {
public:
// Returns the singleton instance.
static TabletMode* Get();
virtual void SetTabletModeToggleObserver(
TabletModeToggleObserver* observer) = 0;
// Returns true if the system is in tablet mode.
virtual bool InTabletMode() const = 0;
virtual void SetEnabledForTest(bool enabled) = 0;
protected:
TabletMode();
virtual ~TabletMode();
};
} // namespace ash
#endif // ASH_PUBLIC_CPP_TABLET_MODE_H_