diff options
author | alexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-23 19:07:44 +0000 |
---|---|---|
committer | alexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-23 19:07:44 +0000 |
commit | 4447016b31992cea934c3f83fb5d0ddd4147f56e (patch) | |
tree | dd986da8e5ac0fae1fd34f9a0227d126c160fb30 /remoting/host/win/rdp_client.h | |
parent | 98b5eef7d47215a318634daa9cbc411dae2ecf71 (diff) | |
download | chromium_src-4447016b31992cea934c3f83fb5d0ddd4147f56e.zip chromium_src-4447016b31992cea934c3f83fb5d0ddd4147f56e.tar.gz chromium_src-4447016b31992cea934c3f83fb5d0ddd4147f56e.tar.bz2 |
Introducing RdpConsole class that uses the MS RDP ActiveX control to create a Windows session.
BUG=137696,177832
TEST=remoting_unittests.RdpConsoleTest
Review URL: https://chromiumcodereview.appspot.com/12320045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184323 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/win/rdp_client.h')
-rw-r--r-- | remoting/host/win/rdp_client.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/remoting/host/win/rdp_client.h b/remoting/host/win/rdp_client.h new file mode 100644 index 0000000..4987397 --- /dev/null +++ b/remoting/host/win/rdp_client.h @@ -0,0 +1,54 @@ +// Copyright (c) 2013 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_WIN_RDP_CLIENT_H_ +#define REMOTING_HOST_WIN_RDP_CLIENT_H_ + +#include "base/basictypes.h" +#include "base/memory/ref_counted.h" +#include "base/memory/scoped_ptr.h" +#include "base/threading/non_thread_safe.h" + +namespace base { +class SingleThreadTaskRunner; +} // namespace + +namespace net { +class IPEndPoint; +} // namespace + +namespace remoting { + +// Establishes a loopback RDP connection to spawn a new Windows session. +class RdpClient : public base::NonThreadSafe { + public: + class EventHandler { + public: + virtual ~EventHandler() {} + + // Notifies the event handler that an RDP connection has been established + // successfully. + virtual void OnRdpConnected(const net::IPEndPoint& client_endpoint) = 0; + + // Notifies that the RDP connection has been closed. + virtual void OnRdpClosed() = 0; + }; + + RdpClient( + scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, + scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, + EventHandler* event_handler); + virtual ~RdpClient(); + + private: + // The actual implementation resides in Core class. + class Core; + scoped_refptr<Core> core_; + + DISALLOW_COPY_AND_ASSIGN(RdpClient); +}; + +} // namespace remoting + +#endif // REMOTING_HOST_WIN_RDP_CLIENT_H_ |