blob: 3e90994579a6879db2bc47c2a4eab4d8a2188132 [file] [log] [blame]
// Copyright (c) 2010 The Chromium OS 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 CROS_CHROMEOS_SCREEN_LOCK_H_
#define CROS_CHROMEOS_SCREEN_LOCK_H_
#include <base/basictypes.h>
namespace chromeos {
enum ScreenLockEvent {
LockScreen = 0,
UnlockScreen = 1,
UnlockScreenFailed = 2,
};
class OpaqueScreenLockConnection;
typedef OpaqueScreenLockConnection* ScreenLockConnection;
typedef void(*ScreenLockMonitor)(void*, ScreenLockEvent);
extern ScreenLockConnection (*MonitorScreenLock)
(ScreenLockMonitor monitor, void*);
extern void (*DisconnectScreenLock)(ScreenLockConnection connection);
// Notifies PowerManager that the screen lock has been completed.
extern void (*NotifyScreenLockCompleted)();
// Notifies PowerManager that the screen unlock has been completed.
extern void (*NotifyScreenUnlockCompleted)();
// Notifies PowerManager that the user requested to lock the
// screen (ctrl-l).
extern void (*NotifyScreenLockRequested)();
// Notifies PowerManager that the user requested to unlock the screen.
extern void (*NotifyScreenUnlockRequested)();
} // namespace chromeos
#endif // CROS_CHROMEOS_SCREEN_LOCK_H_