| OLD | NEW |
| 1 # Service Manager User Guide | 1 # Service Manager User Guide |
| 2 | 2 |
| 3 ## What is the Service Manager? | 3 ## What is the Service Manager? |
| 4 | 4 |
| 5 The Service Manager is a tool that brokers connections and capabilities between | 5 The Service Manager is a tool that brokers connections and capabilities between |
| 6 and manages instances of components, referred to henceforth as services. | 6 and manages instances of components, referred to henceforth as services. |
| 7 | 7 |
| 8 The Service Manager performs the following functions: | 8 The Service Manager performs the following functions: |
| 9 | 9 |
| 10 * Brokering connections between services, including communicating policies such | 10 * Brokering connections between services, including communicating policies such |
| (...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 | 656 |
| 657 service_manager::mojom::ServiceFactoryPtr factory; | 657 service_manager::mojom::ServiceFactoryPtr factory; |
| 658 factory.Bind( | 658 factory.Bind( |
| 659 mojo::InterfacePtrInfo<service_manager::mojom::ServiceFactory>( | 659 mojo::InterfacePtrInfo<service_manager::mojom::ServiceFactory>( |
| 660 std::move(pipe), 0u)); | 660 std::move(pipe), 0u)); |
| 661 service_manager::mojom::PIDReceiverPtr receiver; | 661 service_manager::mojom::PIDReceiverPtr receiver; |
| 662 | 662 |
| 663 service_manager::Identity target("exe:target",service_manager::mojom::kInher
itUserID); | 663 service_manager::Identity target("exe:target",service_manager::mojom::kInher
itUserID); |
| 664 service_manager::Connector::ConnectParams params(target); | 664 service_manager::Connector::ConnectParams params(target); |
| 665 params.set_client_process_connection(std::move(factory), | 665 params.set_client_process_connection(std::move(factory), |
| 666 GetProxy(&receiver)); | 666 MakeRequest(&receiver)); |
| 667 std::unique_ptr<service_manager::Connection> connection = connector->Connect
(¶ms); | 667 std::unique_ptr<service_manager::Connection> connection = connector->Connect
(¶ms); |
| 668 | 668 |
| 669 base::LaunchOptions options; | 669 base::LaunchOptions options; |
| 670 options.handles_to_inherit = &info; | 670 options.handles_to_inherit = &info; |
| 671 base::Process process = base::LaunchProcess(target_command_line, options); | 671 base::Process process = base::LaunchProcess(target_command_line, options); |
| 672 mojo::edk::ChildProcessLaunched(process.Handle(), pair.PassServerHandle()); | 672 mojo::edk::ChildProcessLaunched(process.Handle(), pair.PassServerHandle()); |
| 673 | 673 |
| 674 That's a lot. But it boils down to these steps: | 674 That's a lot. But it boils down to these steps: |
| 675 1. Creating the message pipe to connect the target process and the Service | 675 1. Creating the message pipe to connect the target process and the Service |
| 676 Manager. | 676 Manager. |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 806 Under the Hood | 806 Under the Hood |
| 807 Four major components: Service Manager API (Mojom), Service Manager, Catalog, | 807 Four major components: Service Manager API (Mojom), Service Manager, Catalog, |
| 808 Service Manager Client Lib. | 808 Service Manager Client Lib. |
| 809 The connect flow, catalog, etc. | 809 The connect flow, catalog, etc. |
| 810 Capability brokering in the Service Manager | 810 Capability brokering in the Service Manager |
| 811 Userids | 811 Userids |
| 812 | 812 |
| 813 Finer points: | 813 Finer points: |
| 814 | 814 |
| 815 Service Names: mojo, exe | 815 Service Names: mojo, exe |
| OLD | NEW |