Chromium Code Reviews| Index: remoting/host/host_window.h |
| diff --git a/remoting/host/host_window.h b/remoting/host/host_window.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..18c4168d9a78f7a764e41ba68f4d128154e4feba |
| --- /dev/null |
| +++ b/remoting/host/host_window.h |
| @@ -0,0 +1,49 @@ |
| +// Copyright 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_HOST_WINDOW_H_ |
| +#define REMOTING_HOST_HOST_WINDOW_H_ |
| + |
| +#include "base/basictypes.h" |
| +#include "base/memory/ref_counted.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "base/threading/non_thread_safe.h" |
| + |
| +namespace remoting { |
| + |
| +class ClientSessionControl; |
| +struct UiStrings; |
| + |
| +class HostWindow : public base::NonThreadSafe { |
| + public: |
| + virtual ~HostWindow() {} |
| + |
| + // Starts the UI state machine. |client_session_control| will be used to |
| + // notify the caller about the local user's actions. |
| + virtual void Start( |
| + const base::WeakPtr<ClientSessionControl>& client_session_control) = 0; |
| + |
| + // Creates a platform-specific instance of the continue window. |
| + static scoped_ptr<HostWindow> CreateContinueWindow( |
|
Sergey Ulanov
2013/04/04 00:10:03
nit: Move static methods above Start().
alexeypa (please no reviews)
2013/04/04 16:56:40
Done.
|
| + const UiStrings& ui_strings); |
| + |
| + // Creates a platform-specific instance of the disconnect window. |
| + static scoped_ptr<HostWindow> CreateDisconnectWindow( |
| + const UiStrings& ui_strings); |
| + |
| + protected: |
| + HostWindow() {} |
| + |
| + private: |
| + // Let |HostWindowProxy| to call DetachFromThread() when passing an instance |
| + // of |HostWindow| to a different thread. |
| + friend class HostWindowProxy; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(HostWindow); |
| +}; |
| + |
| +} // namespace remoting |
| + |
| +#endif // REMOTING_HOST_HOST_WINDOW_H_ |