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

Side by Side Diff: remoting/host/ipc_desktop_environment.h

Issue 2458513004: Revert of Remove supports_touch_events flag from BasicDesktopEnvironment (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « remoting/host/desktop_session_proxy.cc ('k') | remoting/host/ipc_desktop_environment.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_IPC_DESKTOP_ENVIRONMENT_H_ 5 #ifndef REMOTING_HOST_IPC_DESKTOP_ENVIRONMENT_H_
6 #define REMOTING_HOST_IPC_DESKTOP_ENVIRONMENT_H_ 6 #define REMOTING_HOST_IPC_DESKTOP_ENVIRONMENT_H_
7 7
8 #include <cstdint> 8 #include <cstdint>
9 #include <map> 9 #include <map>
10 #include <memory> 10 #include <memory>
(...skipping 26 matching lines...) Expand all
37 public: 37 public:
38 // |desktop_session_connector| is used to bind DesktopSessionProxy to 38 // |desktop_session_connector| is used to bind DesktopSessionProxy to
39 // a desktop session, to be notified every time the desktop process is 39 // a desktop session, to be notified every time the desktop process is
40 // restarted. 40 // restarted.
41 IpcDesktopEnvironment( 41 IpcDesktopEnvironment(
42 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, 42 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner,
43 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 43 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
44 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, 44 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
45 base::WeakPtr<ClientSessionControl> client_session_control, 45 base::WeakPtr<ClientSessionControl> client_session_control,
46 base::WeakPtr<DesktopSessionConnector> desktop_session_connector, 46 base::WeakPtr<DesktopSessionConnector> desktop_session_connector,
47 bool virtual_terminal); 47 bool virtual_terminal,
48 bool supports_touch_events);
48 ~IpcDesktopEnvironment() override; 49 ~IpcDesktopEnvironment() override;
49 50
50 // DesktopEnvironment implementation. 51 // DesktopEnvironment implementation.
51 std::unique_ptr<AudioCapturer> CreateAudioCapturer() override; 52 std::unique_ptr<AudioCapturer> CreateAudioCapturer() override;
52 std::unique_ptr<InputInjector> CreateInputInjector() override; 53 std::unique_ptr<InputInjector> CreateInputInjector() override;
53 std::unique_ptr<ScreenControls> CreateScreenControls() override; 54 std::unique_ptr<ScreenControls> CreateScreenControls() override;
54 std::unique_ptr<webrtc::DesktopCapturer> CreateVideoCapturer() override; 55 std::unique_ptr<webrtc::DesktopCapturer> CreateVideoCapturer() override;
55 std::unique_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor() 56 std::unique_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor()
56 override; 57 override;
57 std::string GetCapabilities() const override; 58 std::string GetCapabilities() const override;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 bool virtual_terminal) override; 92 bool virtual_terminal) override;
92 void DisconnectTerminal(DesktopSessionProxy* desktop_session_proxy) override; 93 void DisconnectTerminal(DesktopSessionProxy* desktop_session_proxy) override;
93 void SetScreenResolution(DesktopSessionProxy* desktop_session_proxy, 94 void SetScreenResolution(DesktopSessionProxy* desktop_session_proxy,
94 const ScreenResolution& resolution) override; 95 const ScreenResolution& resolution) override;
95 void OnDesktopSessionAgentAttached( 96 void OnDesktopSessionAgentAttached(
96 int terminal_id, 97 int terminal_id,
97 base::ProcessHandle desktop_process_handle, 98 base::ProcessHandle desktop_process_handle,
98 IPC::PlatformFileForTransit desktop_pipe) override; 99 IPC::PlatformFileForTransit desktop_pipe) override;
99 void OnTerminalDisconnected(int terminal_id) override; 100 void OnTerminalDisconnected(int terminal_id) override;
100 101
102 // Enables or disables touch events capability.
103 void set_supports_touch_events(bool enable) {
104 supports_touch_events_ = enable;
105 }
106
101 private: 107 private:
102 // Used to run the audio capturer. 108 // Used to run the audio capturer.
103 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner_; 109 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner_;
104 110
105 // Task runner on which methods of DesktopEnvironmentFactory interface should 111 // Task runner on which methods of DesktopEnvironmentFactory interface should
106 // be called. 112 // be called.
107 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_; 113 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_;
108 114
109 // Task runner used for running background I/O. 115 // Task runner used for running background I/O.
110 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_; 116 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
111 117
112 // True if curtain mode is enabled. 118 // True if curtain mode is enabled.
113 bool curtain_enabled_ = false; 119 bool curtain_enabled_ = false;
114 120
115 // IPC channel connected to the daemon process. 121 // IPC channel connected to the daemon process.
116 IPC::Sender* daemon_channel_; 122 IPC::Sender* daemon_channel_;
117 123
118 // List of DesktopEnvironment instances we've told the daemon process about. 124 // List of DesktopEnvironment instances we've told the daemon process about.
119 typedef std::map<int, DesktopSessionProxy*> ActiveConnectionsList; 125 typedef std::map<int, DesktopSessionProxy*> ActiveConnectionsList;
120 ActiveConnectionsList active_connections_; 126 ActiveConnectionsList active_connections_;
121 127
122 // Next desktop session ID. IDs are allocated sequentially starting from 0. 128 // Next desktop session ID. IDs are allocated sequentially starting from 0.
123 // This gives us more than 67 years of unique IDs assuming a new ID is 129 // This gives us more than 67 years of unique IDs assuming a new ID is
124 // allocated every second. 130 // allocated every second.
125 int next_id_ = 0; 131 int next_id_ = 0;
126 132
133 // Defines whether desktop environments created by this factory will support
134 // touch events by default.
135 bool supports_touch_events_ = false;
136
127 // Factory for weak pointers to DesktopSessionConnector interface. 137 // Factory for weak pointers to DesktopSessionConnector interface.
128 base::WeakPtrFactory<DesktopSessionConnector> connector_factory_; 138 base::WeakPtrFactory<DesktopSessionConnector> connector_factory_;
129 139
130 DISALLOW_COPY_AND_ASSIGN(IpcDesktopEnvironmentFactory); 140 DISALLOW_COPY_AND_ASSIGN(IpcDesktopEnvironmentFactory);
131 }; 141 };
132 142
133 } // namespace remoting 143 } // namespace remoting
134 144
135 #endif // REMOTING_HOST_IPC_DESKTOP_ENVIRONMENT_H_ 145 #endif // REMOTING_HOST_IPC_DESKTOP_ENVIRONMENT_H_
OLDNEW
« no previous file with comments | « remoting/host/desktop_session_proxy.cc ('k') | remoting/host/ipc_desktop_environment.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698