| 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 MOJO_SHELL_CONNECT_UTIL_H_ | 5 #ifndef MOJO_SHELL_CONNECT_UTIL_H_ | 
| 6 #define MOJO_SHELL_CONNECT_UTIL_H_ | 6 #define MOJO_SHELL_CONNECT_UTIL_H_ | 
| 7 | 7 | 
| 8 #include <utility> | 8 #include <utility> | 
| 9 | 9 | 
| 10 #include "mojo/public/cpp/bindings/interface_ptr.h" | 10 #include "mojo/public/cpp/bindings/interface_ptr.h" | 
| 11 #include "mojo/public/cpp/system/handle.h" | 11 #include "mojo/public/cpp/system/handle.h" | 
| 12 | 12 | 
| 13 class GURL; | 13 class GURL; | 
| 14 | 14 | 
| 15 namespace mojo { | 15 namespace mojo { | 
| 16 namespace shell { | 16 namespace shell { | 
| 17 | 17 | 
| 18 class ApplicationManager; | 18 class ApplicationManager; | 
| 19 | 19 | 
| 20 ScopedMessagePipeHandle ConnectToServiceByName( | 20 ScopedMessagePipeHandle ConnectToInterfaceByName( | 
| 21     ApplicationManager* application_manager, | 21     ApplicationManager* application_manager, | 
| 22     const GURL& application_url, | 22     const GURL& application_url, | 
| 23     const std::string& interface_name); | 23     const std::string& interface_name); | 
| 24 | 24 | 
| 25 // Must only be used by shell internals and test code as it does not forward | 25 // Must only be used by shell internals and test code as it does not forward | 
| 26 // capability filters. Runs |application_url| with a permissive capability | 26 // capability filters. Runs |application_url| with a permissive capability | 
| 27 // filter. | 27 // filter. | 
| 28 template <typename Interface> | 28 template <typename Interface> | 
| 29 inline void ConnectToService(ApplicationManager* application_manager, | 29 inline void ConnectToInterface(ApplicationManager* application_manager, | 
| 30                              const GURL& application_url, | 30                                const GURL& application_url, | 
| 31                              InterfacePtr<Interface>* ptr) { | 31                                InterfacePtr<Interface>* ptr) { | 
| 32   ScopedMessagePipeHandle service_handle = | 32   ScopedMessagePipeHandle service_handle = | 
| 33       ConnectToServiceByName(application_manager, application_url, | 33       ConnectToInterfaceByName(application_manager, application_url, | 
| 34                              Interface::Name_); | 34                                Interface::Name_); | 
| 35   ptr->Bind(InterfacePtrInfo<Interface>(std::move(service_handle), 0u)); | 35   ptr->Bind(InterfacePtrInfo<Interface>(std::move(service_handle), 0u)); | 
| 36 } | 36 } | 
| 37 | 37 | 
| 38 }  // namespace shell | 38 }  // namespace shell | 
| 39 }  // namespace mojo | 39 }  // namespace mojo | 
| 40 | 40 | 
| 41 | 41 | 
| 42 #endif  // MOJO_SHELL_CONNECT_UTIL_H_ | 42 #endif  // MOJO_SHELL_CONNECT_UTIL_H_ | 
| OLD | NEW | 
|---|