#include "remoting/host/ipc_mouse_cursor_monitor.h"
#include "remoting/host/desktop_session_proxy.h"
#include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h"
namespace remoting {
IpcMouseCursorMonitor::IpcMouseCursorMonitor(
scoped_refptr<DesktopSessionProxy> desktop_session_proxy)
: callback_(nullptr), desktop_session_proxy_(desktop_session_proxy) {}
IpcMouseCursorMonitor::~IpcMouseCursorMonitor() = default;
void IpcMouseCursorMonitor::Init(Callback* callback, Mode mode) {
DCHECK(!callback_);
DCHECK(callback);
callback_ = callback;
desktop_session_proxy_->SetMouseCursorMonitor(weak_factory_.GetWeakPtr());
}
void IpcMouseCursorMonitor::Capture() {
}
void IpcMouseCursorMonitor::OnMouseCursor(
std::unique_ptr<webrtc::MouseCursor> cursor) {
DCHECK(callback_);
callback_->OnMouseCursor(cursor.release());
}
}