| OLD | NEW |
| 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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 virtual void OnObbMounterInstanceClosed() {} | 128 virtual void OnObbMounterInstanceClosed() {} |
| 129 | 129 |
| 130 // Called whenever the ARC policy interface state changes. | 130 // Called whenever the ARC policy interface state changes. |
| 131 virtual void OnPolicyInstanceReady() {} | 131 virtual void OnPolicyInstanceReady() {} |
| 132 virtual void OnPolicyInstanceClosed() {} | 132 virtual void OnPolicyInstanceClosed() {} |
| 133 | 133 |
| 134 // Called whenever the ARC power interface state changes. | 134 // Called whenever the ARC power interface state changes. |
| 135 virtual void OnPowerInstanceReady() {} | 135 virtual void OnPowerInstanceReady() {} |
| 136 virtual void OnPowerInstanceClosed() {} | 136 virtual void OnPowerInstanceClosed() {} |
| 137 | 137 |
| 138 // Called whenever the ARC print interface state changes. |
| 139 virtual void OnPrintInstanceReady() {} |
| 140 virtual void OnPrintInstanceClosed() {} |
| 141 |
| 138 // Called whenever the ARC process interface state changes. | 142 // Called whenever the ARC process interface state changes. |
| 139 virtual void OnProcessInstanceReady() {} | 143 virtual void OnProcessInstanceReady() {} |
| 140 virtual void OnProcessInstanceClosed() {} | 144 virtual void OnProcessInstanceClosed() {} |
| 141 | 145 |
| 142 // Called whenever the ARC storage manager interface state changes. | 146 // Called whenever the ARC storage manager interface state changes. |
| 143 virtual void OnStorageManagerInstanceReady() {} | 147 virtual void OnStorageManagerInstanceReady() {} |
| 144 virtual void OnStorageManagerInstanceClosed() {} | 148 virtual void OnStorageManagerInstanceClosed() {} |
| 145 | 149 |
| 146 // Called whenever the ARC video interface state changes. | 150 // Called whenever the ARC video interface state changes. |
| 147 virtual void OnVideoInstanceReady() {} | 151 virtual void OnVideoInstanceReady() {} |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 mojom::MetricsInstance* metrics_instance() { return metrics_ptr_.get(); } | 215 mojom::MetricsInstance* metrics_instance() { return metrics_ptr_.get(); } |
| 212 mojom::NetInstance* net_instance() { return net_ptr_.get(); } | 216 mojom::NetInstance* net_instance() { return net_ptr_.get(); } |
| 213 mojom::NotificationsInstance* notifications_instance() { | 217 mojom::NotificationsInstance* notifications_instance() { |
| 214 return notifications_ptr_.get(); | 218 return notifications_ptr_.get(); |
| 215 } | 219 } |
| 216 mojom::ObbMounterInstance* obb_mounter_instance() { | 220 mojom::ObbMounterInstance* obb_mounter_instance() { |
| 217 return obb_mounter_ptr_.get(); | 221 return obb_mounter_ptr_.get(); |
| 218 } | 222 } |
| 219 mojom::PolicyInstance* policy_instance() { return policy_ptr_.get(); } | 223 mojom::PolicyInstance* policy_instance() { return policy_ptr_.get(); } |
| 220 mojom::PowerInstance* power_instance() { return power_ptr_.get(); } | 224 mojom::PowerInstance* power_instance() { return power_ptr_.get(); } |
| 225 mojom::PrintInstance* print_instance() { return print_ptr_.get(); } |
| 221 mojom::ProcessInstance* process_instance() { return process_ptr_.get(); } | 226 mojom::ProcessInstance* process_instance() { return process_ptr_.get(); } |
| 222 mojom::StorageManagerInstance* storage_manager_instance() { | 227 mojom::StorageManagerInstance* storage_manager_instance() { |
| 223 return storage_manager_ptr_.get(); | 228 return storage_manager_ptr_.get(); |
| 224 } | 229 } |
| 225 mojom::VideoInstance* video_instance() { return video_ptr_.get(); } | 230 mojom::VideoInstance* video_instance() { return video_ptr_.get(); } |
| 226 mojom::WindowManagerInstance* window_manager_instance() { | 231 mojom::WindowManagerInstance* window_manager_instance() { |
| 227 return window_manager_ptr_.get(); | 232 return window_manager_ptr_.get(); |
| 228 } | 233 } |
| 229 | 234 |
| 230 int32_t app_version() const { return app_ptr_.version(); } | 235 int32_t app_version() const { return app_ptr_.version(); } |
| 231 int32_t audio_version() const { return audio_ptr_.version(); } | 236 int32_t audio_version() const { return audio_ptr_.version(); } |
| 232 int32_t bluetooth_version() const { return bluetooth_ptr_.version(); } | 237 int32_t bluetooth_version() const { return bluetooth_ptr_.version(); } |
| 233 int32_t auth_version() const { return auth_ptr_.version(); } | 238 int32_t auth_version() const { return auth_ptr_.version(); } |
| 234 int32_t clipboard_version() const { return clipboard_ptr_.version(); } | 239 int32_t clipboard_version() const { return clipboard_ptr_.version(); } |
| 235 int32_t crash_collector_version() const { | 240 int32_t crash_collector_version() const { |
| 236 return crash_collector_ptr_.version(); | 241 return crash_collector_ptr_.version(); |
| 237 } | 242 } |
| 238 int32_t file_system_version() const { return file_system_ptr_.version(); } | 243 int32_t file_system_version() const { return file_system_ptr_.version(); } |
| 239 int32_t ime_version() const { return ime_ptr_.version(); } | 244 int32_t ime_version() const { return ime_ptr_.version(); } |
| 240 int32_t intent_helper_version() const { return intent_helper_ptr_.version(); } | 245 int32_t intent_helper_version() const { return intent_helper_ptr_.version(); } |
| 241 int32_t metrics_version() const { return metrics_ptr_.version(); } | 246 int32_t metrics_version() const { return metrics_ptr_.version(); } |
| 242 int32_t net_version() const { return net_ptr_.version(); } | 247 int32_t net_version() const { return net_ptr_.version(); } |
| 243 int32_t notifications_version() const { return notifications_ptr_.version(); } | 248 int32_t notifications_version() const { return notifications_ptr_.version(); } |
| 244 int32_t obb_mounter_version() const { return obb_mounter_ptr_.version(); } | 249 int32_t obb_mounter_version() const { return obb_mounter_ptr_.version(); } |
| 245 int32_t policy_version() const { return policy_ptr_.version(); } | 250 int32_t policy_version() const { return policy_ptr_.version(); } |
| 246 int32_t power_version() const { return power_ptr_.version(); } | 251 int32_t power_version() const { return power_ptr_.version(); } |
| 252 int32_t print_version() const { return print_ptr_.version(); } |
| 247 int32_t process_version() const { return process_ptr_.version(); } | 253 int32_t process_version() const { return process_ptr_.version(); } |
| 248 int32_t storage_manager_version() const { | 254 int32_t storage_manager_version() const { |
| 249 return storage_manager_ptr_.version(); | 255 return storage_manager_ptr_.version(); |
| 250 } | 256 } |
| 251 int32_t video_version() const { return video_ptr_.version(); } | 257 int32_t video_version() const { return video_ptr_.version(); } |
| 252 int32_t window_manager_version() const { | 258 int32_t window_manager_version() const { |
| 253 return window_manager_ptr_.version(); | 259 return window_manager_ptr_.version(); |
| 254 } | 260 } |
| 255 | 261 |
| 256 // ArcHost: | 262 // ArcHost: |
| (...skipping 12 matching lines...) Expand all Loading... |
| 269 void OnIntentHelperInstanceReady( | 275 void OnIntentHelperInstanceReady( |
| 270 mojom::IntentHelperInstancePtr intent_helper_ptr) override; | 276 mojom::IntentHelperInstancePtr intent_helper_ptr) override; |
| 271 void OnMetricsInstanceReady(mojom::MetricsInstancePtr metrics_ptr) override; | 277 void OnMetricsInstanceReady(mojom::MetricsInstancePtr metrics_ptr) override; |
| 272 void OnNetInstanceReady(mojom::NetInstancePtr net_ptr) override; | 278 void OnNetInstanceReady(mojom::NetInstancePtr net_ptr) override; |
| 273 void OnNotificationsInstanceReady( | 279 void OnNotificationsInstanceReady( |
| 274 mojom::NotificationsInstancePtr notifications_ptr) override; | 280 mojom::NotificationsInstancePtr notifications_ptr) override; |
| 275 void OnObbMounterInstanceReady( | 281 void OnObbMounterInstanceReady( |
| 276 mojom::ObbMounterInstancePtr obb_mounter_ptr) override; | 282 mojom::ObbMounterInstancePtr obb_mounter_ptr) override; |
| 277 void OnPolicyInstanceReady(mojom::PolicyInstancePtr policy_ptr) override; | 283 void OnPolicyInstanceReady(mojom::PolicyInstancePtr policy_ptr) override; |
| 278 void OnPowerInstanceReady(mojom::PowerInstancePtr power_ptr) override; | 284 void OnPowerInstanceReady(mojom::PowerInstancePtr power_ptr) override; |
| 285 void OnPrintInstanceReady(mojom::PrintInstancePtr print_ptr) override; |
| 279 void OnProcessInstanceReady(mojom::ProcessInstancePtr process_ptr) override; | 286 void OnProcessInstanceReady(mojom::ProcessInstancePtr process_ptr) override; |
| 280 void OnStorageManagerInstanceReady( | 287 void OnStorageManagerInstanceReady( |
| 281 mojom::StorageManagerInstancePtr storage_manager_ptr) override; | 288 mojom::StorageManagerInstancePtr storage_manager_ptr) override; |
| 282 void OnVideoInstanceReady(mojom::VideoInstancePtr video_ptr) override; | 289 void OnVideoInstanceReady(mojom::VideoInstancePtr video_ptr) override; |
| 283 void OnWindowManagerInstanceReady( | 290 void OnWindowManagerInstanceReady( |
| 284 mojom::WindowManagerInstancePtr window_manager_ptr) override; | 291 mojom::WindowManagerInstancePtr window_manager_ptr) override; |
| 285 | 292 |
| 286 // Gets the current state of the bridge service. | 293 // Gets the current state of the bridge service. |
| 287 State state() const { return state_; } | 294 State state() const { return state_; } |
| 288 | 295 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 void CloseCrashCollectorChannel(); | 328 void CloseCrashCollectorChannel(); |
| 322 void CloseFileSystemChannel(); | 329 void CloseFileSystemChannel(); |
| 323 void CloseImeChannel(); | 330 void CloseImeChannel(); |
| 324 void CloseIntentHelperChannel(); | 331 void CloseIntentHelperChannel(); |
| 325 void CloseMetricsChannel(); | 332 void CloseMetricsChannel(); |
| 326 void CloseNetChannel(); | 333 void CloseNetChannel(); |
| 327 void CloseNotificationsChannel(); | 334 void CloseNotificationsChannel(); |
| 328 void CloseObbMounterChannel(); | 335 void CloseObbMounterChannel(); |
| 329 void ClosePolicyChannel(); | 336 void ClosePolicyChannel(); |
| 330 void ClosePowerChannel(); | 337 void ClosePowerChannel(); |
| 338 void ClosePrintChannel(); |
| 331 void CloseProcessChannel(); | 339 void CloseProcessChannel(); |
| 332 void CloseStorageManagerChannel(); | 340 void CloseStorageManagerChannel(); |
| 333 void CloseVideoChannel(); | 341 void CloseVideoChannel(); |
| 334 void CloseWindowManagerChannel(); | 342 void CloseWindowManagerChannel(); |
| 335 | 343 |
| 336 // Callbacks for QueryVersion. | 344 // Callbacks for QueryVersion. |
| 337 void OnAppVersionReady(uint32_t version); | 345 void OnAppVersionReady(uint32_t version); |
| 338 void OnAudioVersionReady(uint32_t version); | 346 void OnAudioVersionReady(uint32_t version); |
| 339 void OnAuthVersionReady(uint32_t version); | 347 void OnAuthVersionReady(uint32_t version); |
| 340 void OnBluetoothVersionReady(uint32_t version); | 348 void OnBluetoothVersionReady(uint32_t version); |
| 341 void OnClipboardVersionReady(uint32_t version); | 349 void OnClipboardVersionReady(uint32_t version); |
| 342 void OnCrashCollectorVersionReady(uint32_t version); | 350 void OnCrashCollectorVersionReady(uint32_t version); |
| 343 void OnFileSystemVersionReady(uint32_t version); | 351 void OnFileSystemVersionReady(uint32_t version); |
| 344 void OnImeVersionReady(uint32_t version); | 352 void OnImeVersionReady(uint32_t version); |
| 345 void OnIntentHelperVersionReady(uint32_t version); | 353 void OnIntentHelperVersionReady(uint32_t version); |
| 346 void OnMetricsVersionReady(uint32_t version); | 354 void OnMetricsVersionReady(uint32_t version); |
| 347 void OnNetVersionReady(uint32_t version); | 355 void OnNetVersionReady(uint32_t version); |
| 348 void OnNotificationsVersionReady(uint32_t version); | 356 void OnNotificationsVersionReady(uint32_t version); |
| 349 void OnObbMounterVersionReady(uint32_t version); | 357 void OnObbMounterVersionReady(uint32_t version); |
| 350 void OnPolicyVersionReady(uint32_t version); | 358 void OnPolicyVersionReady(uint32_t version); |
| 351 void OnPowerVersionReady(uint32_t version); | 359 void OnPowerVersionReady(uint32_t version); |
| 360 void OnPrintVersionReady(uint32_t version); |
| 352 void OnProcessVersionReady(uint32_t version); | 361 void OnProcessVersionReady(uint32_t version); |
| 353 void OnStorageManagerVersionReady(uint32_t version); | 362 void OnStorageManagerVersionReady(uint32_t version); |
| 354 void OnVideoVersionReady(uint32_t version); | 363 void OnVideoVersionReady(uint32_t version); |
| 355 void OnWindowManagerVersionReady(uint32_t version); | 364 void OnWindowManagerVersionReady(uint32_t version); |
| 356 | 365 |
| 357 // Mojo interfaces. | 366 // Mojo interfaces. |
| 358 mojom::AppInstancePtr app_ptr_; | 367 mojom::AppInstancePtr app_ptr_; |
| 359 mojom::AudioInstancePtr audio_ptr_; | 368 mojom::AudioInstancePtr audio_ptr_; |
| 360 mojom::AuthInstancePtr auth_ptr_; | 369 mojom::AuthInstancePtr auth_ptr_; |
| 361 mojom::BluetoothInstancePtr bluetooth_ptr_; | 370 mojom::BluetoothInstancePtr bluetooth_ptr_; |
| 362 mojom::ClipboardInstancePtr clipboard_ptr_; | 371 mojom::ClipboardInstancePtr clipboard_ptr_; |
| 363 mojom::CrashCollectorInstancePtr crash_collector_ptr_; | 372 mojom::CrashCollectorInstancePtr crash_collector_ptr_; |
| 364 mojom::FileSystemInstancePtr file_system_ptr_; | 373 mojom::FileSystemInstancePtr file_system_ptr_; |
| 365 mojom::ImeInstancePtr ime_ptr_; | 374 mojom::ImeInstancePtr ime_ptr_; |
| 366 mojom::IntentHelperInstancePtr intent_helper_ptr_; | 375 mojom::IntentHelperInstancePtr intent_helper_ptr_; |
| 367 mojom::MetricsInstancePtr metrics_ptr_; | 376 mojom::MetricsInstancePtr metrics_ptr_; |
| 368 mojom::NetInstancePtr net_ptr_; | 377 mojom::NetInstancePtr net_ptr_; |
| 369 mojom::NotificationsInstancePtr notifications_ptr_; | 378 mojom::NotificationsInstancePtr notifications_ptr_; |
| 370 mojom::ObbMounterInstancePtr obb_mounter_ptr_; | 379 mojom::ObbMounterInstancePtr obb_mounter_ptr_; |
| 371 mojom::PolicyInstancePtr policy_ptr_; | 380 mojom::PolicyInstancePtr policy_ptr_; |
| 372 mojom::PowerInstancePtr power_ptr_; | 381 mojom::PowerInstancePtr power_ptr_; |
| 382 mojom::PrintInstancePtr print_ptr_; |
| 373 mojom::ProcessInstancePtr process_ptr_; | 383 mojom::ProcessInstancePtr process_ptr_; |
| 374 mojom::StorageManagerInstancePtr storage_manager_ptr_; | 384 mojom::StorageManagerInstancePtr storage_manager_ptr_; |
| 375 mojom::VideoInstancePtr video_ptr_; | 385 mojom::VideoInstancePtr video_ptr_; |
| 376 mojom::WindowManagerInstancePtr window_manager_ptr_; | 386 mojom::WindowManagerInstancePtr window_manager_ptr_; |
| 377 | 387 |
| 378 // Temporary Mojo interfaces. After a Mojo interface pointer has been | 388 // Temporary Mojo interfaces. After a Mojo interface pointer has been |
| 379 // received from the other endpoint, we still need to asynchronously query | 389 // received from the other endpoint, we still need to asynchronously query |
| 380 // its version. While that is going on, we should still return nullptr on | 390 // its version. While that is going on, we should still return nullptr on |
| 381 // the xxx_instance() functions. | 391 // the xxx_instance() functions. |
| 382 // To keep the xxx_instance() functions being trivial, store the instance | 392 // To keep the xxx_instance() functions being trivial, store the instance |
| 383 // pointer in a temporary variable to avoid losing its reference. | 393 // pointer in a temporary variable to avoid losing its reference. |
| 384 mojom::AppInstancePtr temporary_app_ptr_; | 394 mojom::AppInstancePtr temporary_app_ptr_; |
| 385 mojom::AudioInstancePtr temporary_audio_ptr_; | 395 mojom::AudioInstancePtr temporary_audio_ptr_; |
| 386 mojom::AuthInstancePtr temporary_auth_ptr_; | 396 mojom::AuthInstancePtr temporary_auth_ptr_; |
| 387 mojom::BluetoothInstancePtr temporary_bluetooth_ptr_; | 397 mojom::BluetoothInstancePtr temporary_bluetooth_ptr_; |
| 388 mojom::ClipboardInstancePtr temporary_clipboard_ptr_; | 398 mojom::ClipboardInstancePtr temporary_clipboard_ptr_; |
| 389 mojom::CrashCollectorInstancePtr temporary_crash_collector_ptr_; | 399 mojom::CrashCollectorInstancePtr temporary_crash_collector_ptr_; |
| 390 mojom::FileSystemInstancePtr temporary_file_system_ptr_; | 400 mojom::FileSystemInstancePtr temporary_file_system_ptr_; |
| 391 mojom::ImeInstancePtr temporary_ime_ptr_; | 401 mojom::ImeInstancePtr temporary_ime_ptr_; |
| 392 mojom::IntentHelperInstancePtr temporary_intent_helper_ptr_; | 402 mojom::IntentHelperInstancePtr temporary_intent_helper_ptr_; |
| 393 mojom::MetricsInstancePtr temporary_metrics_ptr_; | 403 mojom::MetricsInstancePtr temporary_metrics_ptr_; |
| 394 mojom::NetInstancePtr temporary_net_ptr_; | 404 mojom::NetInstancePtr temporary_net_ptr_; |
| 395 mojom::NotificationsInstancePtr temporary_notifications_ptr_; | 405 mojom::NotificationsInstancePtr temporary_notifications_ptr_; |
| 396 mojom::ObbMounterInstancePtr temporary_obb_mounter_ptr_; | 406 mojom::ObbMounterInstancePtr temporary_obb_mounter_ptr_; |
| 397 mojom::PolicyInstancePtr temporary_policy_ptr_; | 407 mojom::PolicyInstancePtr temporary_policy_ptr_; |
| 398 mojom::PowerInstancePtr temporary_power_ptr_; | 408 mojom::PowerInstancePtr temporary_power_ptr_; |
| 409 mojom::PrintInstancePtr temporary_print_ptr_; |
| 399 mojom::ProcessInstancePtr temporary_process_ptr_; | 410 mojom::ProcessInstancePtr temporary_process_ptr_; |
| 400 mojom::StorageManagerInstancePtr temporary_storage_manager_ptr_; | 411 mojom::StorageManagerInstancePtr temporary_storage_manager_ptr_; |
| 401 mojom::VideoInstancePtr temporary_video_ptr_; | 412 mojom::VideoInstancePtr temporary_video_ptr_; |
| 402 mojom::WindowManagerInstancePtr temporary_window_manager_ptr_; | 413 mojom::WindowManagerInstancePtr temporary_window_manager_ptr_; |
| 403 | 414 |
| 404 base::ObserverList<Observer> observer_list_; | 415 base::ObserverList<Observer> observer_list_; |
| 405 | 416 |
| 406 base::ThreadChecker thread_checker_; | 417 base::ThreadChecker thread_checker_; |
| 407 | 418 |
| 408 // If the ARC instance service is available. | 419 // If the ARC instance service is available. |
| 409 bool available_; | 420 bool available_; |
| 410 | 421 |
| 411 // The current state of the bridge. | 422 // The current state of the bridge. |
| 412 ArcBridgeService::State state_; | 423 ArcBridgeService::State state_; |
| 413 | 424 |
| 414 // WeakPtrFactory to use callbacks. | 425 // WeakPtrFactory to use callbacks. |
| 415 base::WeakPtrFactory<ArcBridgeService> weak_factory_; | 426 base::WeakPtrFactory<ArcBridgeService> weak_factory_; |
| 416 | 427 |
| 417 DISALLOW_COPY_AND_ASSIGN(ArcBridgeService); | 428 DISALLOW_COPY_AND_ASSIGN(ArcBridgeService); |
| 418 }; | 429 }; |
| 419 | 430 |
| 420 } // namespace arc | 431 } // namespace arc |
| 421 | 432 |
| 422 #endif // COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_ | 433 #endif // COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_ |
| OLD | NEW |