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 |