forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Curtain mode interface, hooks and unit tests.
BUG= TEST= Review URL: http://codereview.chromium.org/6735010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79816 0039d316-1c4b-4281-b951-d872f2087c98
- Loading branch information
jamiewalch@chromium.org
committed
Mar 30, 2011
1 parent
5b47922
commit 37961b1
Showing
16 changed files
with
326 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
// Copyright (c) 2011 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 REMOTING_HOST_CURTAIN_H_ | ||
#define REMOTING_HOST_CURTAIN_H_ | ||
|
||
namespace remoting { | ||
|
||
// An interface for enabling or disabling "curtain mode" on a Chromoting host. | ||
// Curtain mode is designed to ensure privacy for remote users. It guarantees | ||
// the following: | ||
// 1. The local display of the host does not display the remote user's | ||
// actions during the connection. | ||
// 2. The local keyboard and mouse (and other input devices) do not interfere | ||
// with the remote user's session. | ||
// 3. When the remote session terminates, the host computer is left in a | ||
// secure state (for example, locked). | ||
class Curtain { | ||
public: | ||
virtual ~Curtain() { } | ||
|
||
// Enable or disable curtain mode. This method is called with |enable| = true | ||
// when a connection authenticates and with |enable| = false when a connection | ||
// terminates (even if due to abnormal termination of the host process). | ||
virtual void EnableCurtainMode(bool enable) = 0; | ||
|
||
// Create the platform-specific curtain mode implementation. | ||
// TODO(jamiewalch): Until the daemon architecture is implemented, curtain | ||
// mode implementations that cannot easily be reset by the user should check | ||
// to see if curtain mode is already enabled here and disable it if so. This | ||
// is to provide an easy way of recovering if the host process crashes while | ||
// a connection is active. Once the daemon architecture is in place, it will | ||
// be responsible for calling EnableCurtainMode(false) as part of its crash | ||
// recovery logic. | ||
static Curtain* Create(); | ||
}; | ||
|
||
} // namespace remoting | ||
|
||
#endif // REMOTING_HOST_CURTAIN_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// Copyright (c) 2011 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. | ||
|
||
#include "remoting/host/curtain_linux.h" | ||
#include "base/logging.h" | ||
|
||
namespace remoting { | ||
|
||
void CurtainLinux::EnableCurtainMode(bool enable) { | ||
NOTIMPLEMENTED(); | ||
} | ||
|
||
Curtain* Curtain::Create() { | ||
return new CurtainLinux(); | ||
} | ||
|
||
} // namespace remoting |
Oops, something went wrong.