Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(403)

Unified Diff: remoting/host/local_input_monitor_win.cc

Issue 12594009: Converted LocalInputMonitor into a SessionController instance. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/host/local_input_monitor_win.cc
diff --git a/remoting/host/local_input_monitor_win.cc b/remoting/host/local_input_monitor_win.cc
index 85a20306a444b1cb6031fa4146d22b0d75937dce..c2d43e44d5c6aa2163604df57a4e34fb92c2b674 100644
--- a/remoting/host/local_input_monitor_win.cc
+++ b/remoting/host/local_input_monitor_win.cc
@@ -12,7 +12,6 @@
#include "base/stringprintf.h"
#include "base/threading/non_thread_safe.h"
#include "base/win/wrapped_window_proc.h"
-#include "remoting/host/mouse_move_observer.h"
#include "third_party/skia/include/core/SkPoint.h"
namespace remoting {
@@ -30,21 +29,19 @@ class LocalInputMonitorWin : public base::NonThreadSafe,
public:
LocalInputMonitorWin(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner);
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ SessionController::Delegate* delegate);
~LocalInputMonitorWin();
- virtual void Start(MouseMoveObserver* mouse_move_observer,
- const base::Closure& disconnect_callback) OVERRIDE;
- virtual void Stop() OVERRIDE;
-
private:
// The actual implementation resides in LocalInputMonitorWin::Core class.
class Core : public base::RefCountedThreadSafe<Core> {
public:
Core(scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner);
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ SessionController::Delegate* delegate);
- void Start(MouseMoveObserver* mouse_move_observer);
+ void Start();
void Stop();
private:
@@ -54,7 +51,7 @@ class LocalInputMonitorWin : public base::NonThreadSafe,
void StartOnUiThread();
void StopOnUiThread();
- // Posts OnLocalMouseMoved() notification to |mouse_move_observer_| on
+ // Posts OnLocalMouseMoved() notification to |delegate_| on
// the |caller_task_runner_| thread.
void OnLocalMouseMoved(const SkIPoint& position);
@@ -83,8 +80,8 @@ class LocalInputMonitorWin : public base::NonThreadSafe,
// Handle of the input window.
HWND window_;
- // Observer to dispatch mouse event notifications to.
- MouseMoveObserver* mouse_move_observer_;
+ // Points to the object receiving mouse event notifications.
+ SessionController::Delegate* delegate_;
DISALLOW_COPY_AND_ASSIGN(Core);
};
@@ -96,39 +93,32 @@ class LocalInputMonitorWin : public base::NonThreadSafe,
LocalInputMonitorWin::LocalInputMonitorWin(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
- : core_(new Core(caller_task_runner, ui_task_runner)) {
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ SessionController::Delegate* delegate)
+ : core_(new Core(caller_task_runner, ui_task_runner, delegate)) {
+ core_->Start();
}
LocalInputMonitorWin::~LocalInputMonitorWin() {
-}
-
-void LocalInputMonitorWin::Start(MouseMoveObserver* mouse_move_observer,
- const base::Closure& disconnect_callback) {
- core_->Start(mouse_move_observer);
-}
-
-void LocalInputMonitorWin::Stop() {
core_->Stop();
}
LocalInputMonitorWin::Core::Core(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ SessionController::Delegate* delegate)
: caller_task_runner_(caller_task_runner),
ui_task_runner_(ui_task_runner),
atom_(0),
instance_(NULL),
window_(NULL),
- mouse_move_observer_(NULL) {
+ delegate_(delegate) {
+ DCHECK(delegate_);
}
-void LocalInputMonitorWin::Core::Start(MouseMoveObserver* mouse_move_observer) {
+void LocalInputMonitorWin::Core::Start() {
DCHECK(caller_task_runner_->BelongsToCurrentThread());
- DCHECK(!mouse_move_observer_);
- DCHECK(mouse_move_observer);
- mouse_move_observer_ = mouse_move_observer;
ui_task_runner_->PostTask(FROM_HERE,
base::Bind(&Core::StartOnUiThread, this));
}
@@ -136,7 +126,7 @@ void LocalInputMonitorWin::Core::Start(MouseMoveObserver* mouse_move_observer) {
void LocalInputMonitorWin::Core::Stop() {
DCHECK(caller_task_runner_->BelongsToCurrentThread());
- mouse_move_observer_ = NULL;
+ delegate_ = NULL;
ui_task_runner_->PostTask(FROM_HERE, base::Bind(&Core::StopOnUiThread, this));
}
@@ -144,7 +134,7 @@ LocalInputMonitorWin::Core::~Core() {
DCHECK(!atom_);
DCHECK(!instance_);
DCHECK(!window_);
- DCHECK(!mouse_move_observer_);
+ DCHECK(!delegate_);
}
void LocalInputMonitorWin::Core::StartOnUiThread() {
@@ -196,8 +186,8 @@ void LocalInputMonitorWin::Core::OnLocalMouseMoved(const SkIPoint& position) {
return;
}
- if (mouse_move_observer_)
- mouse_move_observer_->OnLocalMouseMoved(position);
+ if (delegate_)
+ delegate_->OnLocalMouseMoved(position);
}
LRESULT LocalInputMonitorWin::Core::OnCreate(HWND hwnd) {
@@ -291,9 +281,11 @@ LRESULT CALLBACK LocalInputMonitorWin::Core::WindowProc(
scoped_ptr<LocalInputMonitor> LocalInputMonitor::Create(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ SessionController::Delegate* delegate) {
return scoped_ptr<LocalInputMonitor>(
- new LocalInputMonitorWin(caller_task_runner, ui_task_runner));
+ new LocalInputMonitorWin(caller_task_runner, ui_task_runner,
+ delegate));
}
} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698