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

Side by Side Diff: components/arc/arc_bridge_service.h

Issue 1995243002: Add OBB mounter Mojo interface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_ 5 #ifndef COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_
6 #define COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_ 6 #define COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 virtual void OnProcessInstanceClosed() {} 129 virtual void OnProcessInstanceClosed() {}
130 130
131 // Called whenever the ARC video interface state changes. 131 // Called whenever the ARC video interface state changes.
132 virtual void OnVideoInstanceReady() {} 132 virtual void OnVideoInstanceReady() {}
133 virtual void OnVideoInstanceClosed() {} 133 virtual void OnVideoInstanceClosed() {}
134 134
135 // Called whenever the ARC window manager interface state changes. 135 // Called whenever the ARC window manager interface state changes.
136 virtual void OnWindowManagerInstanceReady() {} 136 virtual void OnWindowManagerInstanceReady() {}
137 virtual void OnWindowManagerInstanceClosed() {} 137 virtual void OnWindowManagerInstanceClosed() {}
138 138
139 // Called whenever the ARC OBB mounter interface state changes.
140 virtual void OnObbMounterInstanceReady() {}
141 virtual void OnObbMounterInstanceClosed() {}
142
139 protected: 143 protected:
140 virtual ~Observer() {} 144 virtual ~Observer() {}
141 }; 145 };
142 146
143 ~ArcBridgeService() override; 147 ~ArcBridgeService() override;
144 148
145 // Gets the global instance of the ARC Bridge Service. This can only be 149 // Gets the global instance of the ARC Bridge Service. This can only be
146 // called on the thread that this class was created on. 150 // called on the thread that this class was created on.
147 static ArcBridgeService* Get(); 151 static ArcBridgeService* Get();
148 152
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 mojom::NotificationsInstance* notifications_instance() { 198 mojom::NotificationsInstance* notifications_instance() {
195 return notifications_ptr_.get(); 199 return notifications_ptr_.get();
196 } 200 }
197 mojom::PolicyInstance* policy_instance() { return policy_ptr_.get(); } 201 mojom::PolicyInstance* policy_instance() { return policy_ptr_.get(); }
198 mojom::PowerInstance* power_instance() { return power_ptr_.get(); } 202 mojom::PowerInstance* power_instance() { return power_ptr_.get(); }
199 mojom::ProcessInstance* process_instance() { return process_ptr_.get(); } 203 mojom::ProcessInstance* process_instance() { return process_ptr_.get(); }
200 mojom::VideoInstance* video_instance() { return video_ptr_.get(); } 204 mojom::VideoInstance* video_instance() { return video_ptr_.get(); }
201 mojom::WindowManagerInstance* window_manager_instance() { 205 mojom::WindowManagerInstance* window_manager_instance() {
202 return window_manager_ptr_.get(); 206 return window_manager_ptr_.get();
203 } 207 }
208 mojom::ObbMounterInstance* obb_mounter_instance() {
209 return obb_mounter_ptr_.get();
210 }
204 211
205 int32_t app_version() const { return app_ptr_.version(); } 212 int32_t app_version() const { return app_ptr_.version(); }
206 int32_t audio_version() const { return audio_ptr_.version(); } 213 int32_t audio_version() const { return audio_ptr_.version(); }
207 int32_t bluetooth_version() const { return bluetooth_ptr_.version(); } 214 int32_t bluetooth_version() const { return bluetooth_ptr_.version(); }
208 int32_t auth_version() const { return auth_ptr_.version(); } 215 int32_t auth_version() const { return auth_ptr_.version(); }
209 int32_t clipboard_version() const { return clipboard_ptr_.version(); } 216 int32_t clipboard_version() const { return clipboard_ptr_.version(); }
210 int32_t crash_collector_version() const { 217 int32_t crash_collector_version() const {
211 return crash_collector_ptr_.version(); 218 return crash_collector_ptr_.version();
212 } 219 }
213 int32_t ime_version() const { return ime_ptr_.version(); } 220 int32_t ime_version() const { return ime_ptr_.version(); }
214 int32_t intent_helper_version() const { return intent_helper_ptr_.version(); } 221 int32_t intent_helper_version() const { return intent_helper_ptr_.version(); }
215 int32_t metrics_version() const { return metrics_ptr_.version(); } 222 int32_t metrics_version() const { return metrics_ptr_.version(); }
216 int32_t net_version() const { return net_ptr_.version(); } 223 int32_t net_version() const { return net_ptr_.version(); }
217 int32_t notifications_version() const { return notifications_ptr_.version(); } 224 int32_t notifications_version() const { return notifications_ptr_.version(); }
218 int32_t policy_version() const { return policy_ptr_.version(); } 225 int32_t policy_version() const { return policy_ptr_.version(); }
219 int32_t power_version() const { return power_ptr_.version(); } 226 int32_t power_version() const { return power_ptr_.version(); }
220 int32_t process_version() const { return process_ptr_.version(); } 227 int32_t process_version() const { return process_ptr_.version(); }
221 int32_t video_version() const { return video_ptr_.version(); } 228 int32_t video_version() const { return video_ptr_.version(); }
222 int32_t window_manager_version() const { 229 int32_t window_manager_version() const {
223 return window_manager_ptr_.version(); 230 return window_manager_ptr_.version();
224 } 231 }
232 int32_t obb_mounter_version() const { return obb_mounter_ptr_.version(); }
225 233
226 // ArcHost: 234 // ArcHost:
227 void OnAppInstanceReady(mojom::AppInstancePtr app_ptr) override; 235 void OnAppInstanceReady(mojom::AppInstancePtr app_ptr) override;
228 void OnAudioInstanceReady(mojom::AudioInstancePtr audio_ptr) override; 236 void OnAudioInstanceReady(mojom::AudioInstancePtr audio_ptr) override;
229 void OnAuthInstanceReady(mojom::AuthInstancePtr auth_ptr) override; 237 void OnAuthInstanceReady(mojom::AuthInstancePtr auth_ptr) override;
230 void OnBluetoothInstanceReady( 238 void OnBluetoothInstanceReady(
231 mojom::BluetoothInstancePtr bluetooth_ptr) override; 239 mojom::BluetoothInstancePtr bluetooth_ptr) override;
232 void OnClipboardInstanceReady( 240 void OnClipboardInstanceReady(
233 mojom::ClipboardInstancePtr clipboard_ptr) override; 241 mojom::ClipboardInstancePtr clipboard_ptr) override;
234 void OnCrashCollectorInstanceReady( 242 void OnCrashCollectorInstanceReady(
235 mojom::CrashCollectorInstancePtr crash_collector_ptr) override; 243 mojom::CrashCollectorInstancePtr crash_collector_ptr) override;
236 void OnImeInstanceReady(mojom::ImeInstancePtr ime_ptr) override; 244 void OnImeInstanceReady(mojom::ImeInstancePtr ime_ptr) override;
237 void OnIntentHelperInstanceReady( 245 void OnIntentHelperInstanceReady(
238 mojom::IntentHelperInstancePtr intent_helper_ptr) override; 246 mojom::IntentHelperInstancePtr intent_helper_ptr) override;
239 void OnMetricsInstanceReady(mojom::MetricsInstancePtr metrics_ptr) override; 247 void OnMetricsInstanceReady(mojom::MetricsInstancePtr metrics_ptr) override;
240 void OnNetInstanceReady(mojom::NetInstancePtr net_ptr) override; 248 void OnNetInstanceReady(mojom::NetInstancePtr net_ptr) override;
241 void OnNotificationsInstanceReady( 249 void OnNotificationsInstanceReady(
242 mojom::NotificationsInstancePtr notifications_ptr) override; 250 mojom::NotificationsInstancePtr notifications_ptr) override;
243 void OnPolicyInstanceReady(mojom::PolicyInstancePtr policy_ptr) override; 251 void OnPolicyInstanceReady(mojom::PolicyInstancePtr policy_ptr) override;
244 void OnPowerInstanceReady(mojom::PowerInstancePtr power_ptr) override; 252 void OnPowerInstanceReady(mojom::PowerInstancePtr power_ptr) override;
245 void OnProcessInstanceReady(mojom::ProcessInstancePtr process_ptr) override; 253 void OnProcessInstanceReady(mojom::ProcessInstancePtr process_ptr) override;
246 void OnVideoInstanceReady(mojom::VideoInstancePtr video_ptr) override; 254 void OnVideoInstanceReady(mojom::VideoInstancePtr video_ptr) override;
247 void OnWindowManagerInstanceReady( 255 void OnWindowManagerInstanceReady(
248 mojom::WindowManagerInstancePtr window_manager_ptr) override; 256 mojom::WindowManagerInstancePtr window_manager_ptr) override;
257 void OnObbMounterInstanceReady(
258 mojom::ObbMounterInstancePtr obb_mounter_ptr) override;
249 259
250 // Gets the current state of the bridge service. 260 // Gets the current state of the bridge service.
251 State state() const { return state_; } 261 State state() const { return state_; }
252 262
253 // Gets if ARC is available in this system. 263 // Gets if ARC is available in this system.
254 bool available() const { return available_; } 264 bool available() const { return available_; }
255 265
256 protected: 266 protected:
257 ArcBridgeService(); 267 ArcBridgeService();
258 268
(...skipping 27 matching lines...) Expand all
286 void CloseImeChannel(); 296 void CloseImeChannel();
287 void CloseIntentHelperChannel(); 297 void CloseIntentHelperChannel();
288 void CloseMetricsChannel(); 298 void CloseMetricsChannel();
289 void CloseNetChannel(); 299 void CloseNetChannel();
290 void CloseNotificationsChannel(); 300 void CloseNotificationsChannel();
291 void ClosePolicyChannel(); 301 void ClosePolicyChannel();
292 void ClosePowerChannel(); 302 void ClosePowerChannel();
293 void CloseProcessChannel(); 303 void CloseProcessChannel();
294 void CloseVideoChannel(); 304 void CloseVideoChannel();
295 void CloseWindowManagerChannel(); 305 void CloseWindowManagerChannel();
306 void CloseObbMounterChannel();
296 307
297 // Callbacks for QueryVersion. 308 // Callbacks for QueryVersion.
298 void OnAppVersionReady(int32_t version); 309 void OnAppVersionReady(int32_t version);
299 void OnAudioVersionReady(int32_t version); 310 void OnAudioVersionReady(int32_t version);
300 void OnAuthVersionReady(int32_t version); 311 void OnAuthVersionReady(int32_t version);
301 void OnBluetoothVersionReady(int32_t version); 312 void OnBluetoothVersionReady(int32_t version);
302 void OnClipboardVersionReady(int32_t version); 313 void OnClipboardVersionReady(int32_t version);
303 void OnCrashCollectorVersionReady(int32_t version); 314 void OnCrashCollectorVersionReady(int32_t version);
304 void OnImeVersionReady(int32_t version); 315 void OnImeVersionReady(int32_t version);
305 void OnIntentHelperVersionReady(int32_t version); 316 void OnIntentHelperVersionReady(int32_t version);
306 void OnMetricsVersionReady(int32_t version); 317 void OnMetricsVersionReady(int32_t version);
307 void OnNetVersionReady(int32_t version); 318 void OnNetVersionReady(int32_t version);
308 void OnNotificationsVersionReady(int32_t version); 319 void OnNotificationsVersionReady(int32_t version);
309 void OnPolicyVersionReady(int32_t version); 320 void OnPolicyVersionReady(int32_t version);
310 void OnPowerVersionReady(int32_t version); 321 void OnPowerVersionReady(int32_t version);
311 void OnProcessVersionReady(int32_t version); 322 void OnProcessVersionReady(int32_t version);
312 void OnVideoVersionReady(int32_t version); 323 void OnVideoVersionReady(int32_t version);
313 void OnWindowManagerVersionReady(int32_t version); 324 void OnWindowManagerVersionReady(int32_t version);
325 void OnObbMounterVersionReady(int32_t version);
314 326
315 // Mojo interfaces. 327 // Mojo interfaces.
316 mojom::AppInstancePtr app_ptr_; 328 mojom::AppInstancePtr app_ptr_;
317 mojom::AudioInstancePtr audio_ptr_; 329 mojom::AudioInstancePtr audio_ptr_;
318 mojom::AuthInstancePtr auth_ptr_; 330 mojom::AuthInstancePtr auth_ptr_;
319 mojom::BluetoothInstancePtr bluetooth_ptr_; 331 mojom::BluetoothInstancePtr bluetooth_ptr_;
320 mojom::ClipboardInstancePtr clipboard_ptr_; 332 mojom::ClipboardInstancePtr clipboard_ptr_;
321 mojom::CrashCollectorInstancePtr crash_collector_ptr_; 333 mojom::CrashCollectorInstancePtr crash_collector_ptr_;
322 mojom::ImeInstancePtr ime_ptr_; 334 mojom::ImeInstancePtr ime_ptr_;
323 mojom::IntentHelperInstancePtr intent_helper_ptr_; 335 mojom::IntentHelperInstancePtr intent_helper_ptr_;
324 mojom::MetricsInstancePtr metrics_ptr_; 336 mojom::MetricsInstancePtr metrics_ptr_;
325 mojom::NetInstancePtr net_ptr_; 337 mojom::NetInstancePtr net_ptr_;
326 mojom::NotificationsInstancePtr notifications_ptr_; 338 mojom::NotificationsInstancePtr notifications_ptr_;
327 mojom::PolicyInstancePtr policy_ptr_; 339 mojom::PolicyInstancePtr policy_ptr_;
328 mojom::PowerInstancePtr power_ptr_; 340 mojom::PowerInstancePtr power_ptr_;
329 mojom::ProcessInstancePtr process_ptr_; 341 mojom::ProcessInstancePtr process_ptr_;
330 mojom::VideoInstancePtr video_ptr_; 342 mojom::VideoInstancePtr video_ptr_;
331 mojom::WindowManagerInstancePtr window_manager_ptr_; 343 mojom::WindowManagerInstancePtr window_manager_ptr_;
344 mojom::ObbMounterInstancePtr obb_mounter_ptr_;
332 345
333 // Temporary Mojo interfaces. After a Mojo interface pointer has been 346 // Temporary Mojo interfaces. After a Mojo interface pointer has been
334 // received from the other endpoint, we still need to asynchronously query 347 // received from the other endpoint, we still need to asynchronously query
335 // its version. While that is going on, we should still return nullptr on 348 // its version. While that is going on, we should still return nullptr on
336 // the xxx_instance() functions. 349 // the xxx_instance() functions.
337 // To keep the xxx_instance() functions being trivial, store the instance 350 // To keep the xxx_instance() functions being trivial, store the instance
338 // pointer in a temporary variable to avoid losing its reference. 351 // pointer in a temporary variable to avoid losing its reference.
339 mojom::AppInstancePtr temporary_app_ptr_; 352 mojom::AppInstancePtr temporary_app_ptr_;
340 mojom::AudioInstancePtr temporary_audio_ptr_; 353 mojom::AudioInstancePtr temporary_audio_ptr_;
341 mojom::AuthInstancePtr temporary_auth_ptr_; 354 mojom::AuthInstancePtr temporary_auth_ptr_;
342 mojom::BluetoothInstancePtr temporary_bluetooth_ptr_; 355 mojom::BluetoothInstancePtr temporary_bluetooth_ptr_;
343 mojom::ClipboardInstancePtr temporary_clipboard_ptr_; 356 mojom::ClipboardInstancePtr temporary_clipboard_ptr_;
344 mojom::CrashCollectorInstancePtr temporary_crash_collector_ptr_; 357 mojom::CrashCollectorInstancePtr temporary_crash_collector_ptr_;
345 mojom::ImeInstancePtr temporary_ime_ptr_; 358 mojom::ImeInstancePtr temporary_ime_ptr_;
346 mojom::IntentHelperInstancePtr temporary_intent_helper_ptr_; 359 mojom::IntentHelperInstancePtr temporary_intent_helper_ptr_;
347 mojom::MetricsInstancePtr temporary_metrics_ptr_; 360 mojom::MetricsInstancePtr temporary_metrics_ptr_;
348 mojom::NetInstancePtr temporary_net_ptr_; 361 mojom::NetInstancePtr temporary_net_ptr_;
349 mojom::NotificationsInstancePtr temporary_notifications_ptr_; 362 mojom::NotificationsInstancePtr temporary_notifications_ptr_;
350 mojom::PolicyInstancePtr temporary_policy_ptr_; 363 mojom::PolicyInstancePtr temporary_policy_ptr_;
351 mojom::PowerInstancePtr temporary_power_ptr_; 364 mojom::PowerInstancePtr temporary_power_ptr_;
352 mojom::ProcessInstancePtr temporary_process_ptr_; 365 mojom::ProcessInstancePtr temporary_process_ptr_;
353 mojom::VideoInstancePtr temporary_video_ptr_; 366 mojom::VideoInstancePtr temporary_video_ptr_;
354 mojom::WindowManagerInstancePtr temporary_window_manager_ptr_; 367 mojom::WindowManagerInstancePtr temporary_window_manager_ptr_;
368 mojom::ObbMounterInstancePtr temporary_obb_mounter_ptr_;
355 369
356 base::ObserverList<Observer> observer_list_; 370 base::ObserverList<Observer> observer_list_;
357 371
358 base::ThreadChecker thread_checker_; 372 base::ThreadChecker thread_checker_;
359 373
360 // If the ARC instance service is available. 374 // If the ARC instance service is available.
361 bool available_; 375 bool available_;
362 376
363 // The current state of the bridge. 377 // The current state of the bridge.
364 ArcBridgeService::State state_; 378 ArcBridgeService::State state_;
365 379
366 // WeakPtrFactory to use callbacks. 380 // WeakPtrFactory to use callbacks.
367 base::WeakPtrFactory<ArcBridgeService> weak_factory_; 381 base::WeakPtrFactory<ArcBridgeService> weak_factory_;
368 382
369 DISALLOW_COPY_AND_ASSIGN(ArcBridgeService); 383 DISALLOW_COPY_AND_ASSIGN(ArcBridgeService);
370 }; 384 };
371 385
372 } // namespace arc 386 } // namespace arc
373 387
374 #endif // COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_ 388 #endif // COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698