| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include <algorithm> | 5 #include <algorithm> |
| 6 #include <memory> | 6 #include <memory> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 mojo::BindingSet<service_manager::test::mojom::LifecycleControl> bindings_; | 90 mojo::BindingSet<service_manager::test::mojom::LifecycleControl> bindings_; |
| 91 | 91 |
| 92 // Run when this object's connection to the service manager is closed. | 92 // Run when this object's connection to the service manager is closed. |
| 93 base::Closure service_manager_connection_closed_callback_; | 93 base::Closure service_manager_connection_closed_callback_; |
| 94 // Run when this object is destructed. | 94 // Run when this object is destructed. |
| 95 base::Closure destruct_callback_; | 95 base::Closure destruct_callback_; |
| 96 | 96 |
| 97 DISALLOW_COPY_AND_ASSIGN(PackagedApp); | 97 DISALLOW_COPY_AND_ASSIGN(PackagedApp); |
| 98 }; | 98 }; |
| 99 | 99 |
| 100 class Package : public service_manager::ForwardingService, | 100 class Package : public service_manager::Service, |
| 101 public service_manager::InterfaceFactory< | 101 public service_manager::InterfaceFactory< |
| 102 service_manager::mojom::ServiceFactory>, | 102 service_manager::mojom::ServiceFactory>, |
| 103 public service_manager::mojom::ServiceFactory { | 103 public service_manager::mojom::ServiceFactory { |
| 104 public: | 104 public: |
| 105 Package() : ForwardingService(&app_client_) {} | 105 Package() {} |
| 106 ~Package() override {} | 106 ~Package() override {} |
| 107 | 107 |
| 108 private: | 108 private: |
| 109 // ForwardingService: | 109 // service_manager::Service: |
| 110 void OnStart() override { app_client_.OnStart(); } |
| 111 |
| 110 bool OnConnect(const service_manager::ServiceInfo& remote_info, | 112 bool OnConnect(const service_manager::ServiceInfo& remote_info, |
| 111 service_manager::InterfaceRegistry* registry) override { | 113 service_manager::InterfaceRegistry* registry) override { |
| 112 registry->AddInterface<service_manager::mojom::ServiceFactory>(this); | 114 registry->AddInterface<service_manager::mojom::ServiceFactory>(this); |
| 113 return ForwardingService::OnConnect(remote_info, registry); | 115 return app_client_.OnConnect(remote_info, registry); |
| 114 } | 116 } |
| 115 | 117 |
| 116 // service_manager::InterfaceFactory<service_manager::mojom::ServiceFactory>: | 118 // service_manager::InterfaceFactory<service_manager::mojom::ServiceFactory>: |
| 117 void Create(const service_manager::Identity& remote_identity, | 119 void Create(const service_manager::Identity& remote_identity, |
| 118 service_manager::mojom::ServiceFactoryRequest request) override { | 120 service_manager::mojom::ServiceFactoryRequest request) override { |
| 119 bindings_.AddBinding(this, std::move(request)); | 121 bindings_.AddBinding(this, std::move(request)); |
| 120 } | 122 } |
| 121 | 123 |
| 122 // service_manager::mojom::ServiceFactory: | 124 // service_manager::mojom::ServiceFactory: |
| 123 void CreateService(service_manager::mojom::ServiceRequest request, | 125 void CreateService(service_manager::mojom::ServiceRequest request, |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 | 170 |
| 169 DISALLOW_COPY_AND_ASSIGN(Package); | 171 DISALLOW_COPY_AND_ASSIGN(Package); |
| 170 }; | 172 }; |
| 171 | 173 |
| 172 } // namespace | 174 } // namespace |
| 173 | 175 |
| 174 MojoResult ServiceMain(MojoHandle service_request_handle) { | 176 MojoResult ServiceMain(MojoHandle service_request_handle) { |
| 175 service_manager::ServiceRunner runner(new Package); | 177 service_manager::ServiceRunner runner(new Package); |
| 176 return runner.Run(service_request_handle); | 178 return runner.Run(service_request_handle); |
| 177 } | 179 } |
| OLD | NEW |