OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef REMOTING_HOST_BASIC_DESKTOP_ENVIRONMENT_H_ | 5 #ifndef REMOTING_HOST_BASIC_DESKTOP_ENVIRONMENT_H_ |
6 #define REMOTING_HOST_BASIC_DESKTOP_ENVIRONMENT_H_ | 6 #define REMOTING_HOST_BASIC_DESKTOP_ENVIRONMENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.h" |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "remoting/host/desktop_environment.h" | 14 #include "remoting/host/desktop_environment.h" |
15 | 15 |
16 namespace webrtc { | 16 namespace webrtc { |
17 | 17 |
18 class DesktopCaptureOptions; | 18 class DesktopCaptureOptions; |
19 | 19 |
20 } // namespace webrtc | 20 } // namespace webrtc |
21 | 21 |
22 namespace remoting { | 22 namespace remoting { |
23 | 23 |
24 class GnubbyAuthHandler; | 24 class GnubbyAuthHandler; |
25 | 25 |
26 // Used to create audio/video capturers and event executor that work with | 26 // Used to create audio/video capturers and event executor that work with |
27 // the local console. | 27 // the local console. |
28 class BasicDesktopEnvironment : public DesktopEnvironment { | 28 class BasicDesktopEnvironment : public DesktopEnvironment { |
29 public: | 29 public: |
30 virtual ~BasicDesktopEnvironment(); | 30 ~BasicDesktopEnvironment() override; |
31 | 31 |
32 // DesktopEnvironment implementation. | 32 // DesktopEnvironment implementation. |
33 virtual scoped_ptr<AudioCapturer> CreateAudioCapturer() override; | 33 scoped_ptr<AudioCapturer> CreateAudioCapturer() override; |
34 virtual scoped_ptr<InputInjector> CreateInputInjector() override; | 34 scoped_ptr<InputInjector> CreateInputInjector() override; |
35 virtual scoped_ptr<ScreenControls> CreateScreenControls() override; | 35 scoped_ptr<ScreenControls> CreateScreenControls() override; |
36 virtual scoped_ptr<webrtc::DesktopCapturer> CreateVideoCapturer() override; | 36 scoped_ptr<webrtc::DesktopCapturer> CreateVideoCapturer() override; |
37 virtual scoped_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor() | 37 scoped_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor() override; |
38 override; | 38 std::string GetCapabilities() const override; |
39 virtual std::string GetCapabilities() const override; | 39 void SetCapabilities(const std::string& capabilities) override; |
40 virtual void SetCapabilities(const std::string& capabilities) override; | 40 scoped_ptr<GnubbyAuthHandler> CreateGnubbyAuthHandler( |
41 virtual scoped_ptr<GnubbyAuthHandler> CreateGnubbyAuthHandler( | |
42 protocol::ClientStub* client_stub) override; | 41 protocol::ClientStub* client_stub) override; |
43 | 42 |
44 protected: | 43 protected: |
45 friend class BasicDesktopEnvironmentFactory; | 44 friend class BasicDesktopEnvironmentFactory; |
46 | 45 |
47 BasicDesktopEnvironment( | 46 BasicDesktopEnvironment( |
48 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 47 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
49 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 48 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
50 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); | 49 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); |
51 | 50 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 DISALLOW_COPY_AND_ASSIGN(BasicDesktopEnvironment); | 85 DISALLOW_COPY_AND_ASSIGN(BasicDesktopEnvironment); |
87 }; | 86 }; |
88 | 87 |
89 // Used to create |BasicDesktopEnvironment| instances. | 88 // Used to create |BasicDesktopEnvironment| instances. |
90 class BasicDesktopEnvironmentFactory : public DesktopEnvironmentFactory { | 89 class BasicDesktopEnvironmentFactory : public DesktopEnvironmentFactory { |
91 public: | 90 public: |
92 BasicDesktopEnvironmentFactory( | 91 BasicDesktopEnvironmentFactory( |
93 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 92 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
94 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 93 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
95 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); | 94 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); |
96 virtual ~BasicDesktopEnvironmentFactory(); | 95 ~BasicDesktopEnvironmentFactory() override; |
97 | 96 |
98 // DesktopEnvironmentFactory implementation. | 97 // DesktopEnvironmentFactory implementation. |
99 virtual bool SupportsAudioCapture() const override; | 98 bool SupportsAudioCapture() const override; |
100 | 99 |
101 protected: | 100 protected: |
102 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner() const { | 101 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner() const { |
103 return caller_task_runner_; | 102 return caller_task_runner_; |
104 } | 103 } |
105 | 104 |
106 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner() const { | 105 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner() const { |
107 return input_task_runner_; | 106 return input_task_runner_; |
108 } | 107 } |
109 | 108 |
(...skipping 11 matching lines...) Expand all Loading... |
121 | 120 |
122 // Used to run UI code. | 121 // Used to run UI code. |
123 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; | 122 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
124 | 123 |
125 DISALLOW_COPY_AND_ASSIGN(BasicDesktopEnvironmentFactory); | 124 DISALLOW_COPY_AND_ASSIGN(BasicDesktopEnvironmentFactory); |
126 }; | 125 }; |
127 | 126 |
128 } // namespace remoting | 127 } // namespace remoting |
129 | 128 |
130 #endif // REMOTING_HOST_BASIC_DESKTOP_ENVIRONMENT_H_ | 129 #endif // REMOTING_HOST_BASIC_DESKTOP_ENVIRONMENT_H_ |
OLD | NEW |