Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(886)

Side by Side Diff: services/service_manager/tests/lifecycle/package.cc

Issue 2557213002: Build services as standalone executables (Closed)
Patch Set: remove DCHECKs with side effects -_- Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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::Service, 100 class Package : public service_manager::ForwardingService,
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() {} 105 Package() : ForwardingService(&app_client_) {}
106 ~Package() override {} 106 ~Package() override {}
107 107
108 private: 108 private:
109 // service_manager::Service: 109 // ForwardingService:
110 void OnStart() override { app_client_.OnStart(); }
111
112 bool OnConnect(const service_manager::ServiceInfo& remote_info, 110 bool OnConnect(const service_manager::ServiceInfo& remote_info,
113 service_manager::InterfaceRegistry* registry) override { 111 service_manager::InterfaceRegistry* registry) override {
114 registry->AddInterface<service_manager::mojom::ServiceFactory>(this); 112 registry->AddInterface<service_manager::mojom::ServiceFactory>(this);
115 return app_client_.OnConnect(remote_info, registry); 113 return ForwardingService::OnConnect(remote_info, registry);
116 } 114 }
117 115
118 // service_manager::InterfaceFactory<service_manager::mojom::ServiceFactory>: 116 // service_manager::InterfaceFactory<service_manager::mojom::ServiceFactory>:
119 void Create(const service_manager::Identity& remote_identity, 117 void Create(const service_manager::Identity& remote_identity,
120 service_manager::mojom::ServiceFactoryRequest request) override { 118 service_manager::mojom::ServiceFactoryRequest request) override {
121 bindings_.AddBinding(this, std::move(request)); 119 bindings_.AddBinding(this, std::move(request));
122 } 120 }
123 121
124 // service_manager::mojom::ServiceFactory: 122 // service_manager::mojom::ServiceFactory:
125 void CreateService(service_manager::mojom::ServiceRequest request, 123 void CreateService(service_manager::mojom::ServiceRequest request,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 168
171 DISALLOW_COPY_AND_ASSIGN(Package); 169 DISALLOW_COPY_AND_ASSIGN(Package);
172 }; 170 };
173 171
174 } // namespace 172 } // namespace
175 173
176 MojoResult ServiceMain(MojoHandle service_request_handle) { 174 MojoResult ServiceMain(MojoHandle service_request_handle) {
177 service_manager::ServiceRunner runner(new Package); 175 service_manager::ServiceRunner runner(new Package);
178 return runner.Run(service_request_handle); 176 return runner.Run(service_request_handle);
179 } 177 }
OLDNEW
« no previous file with comments | « services/service_manager/tests/lifecycle/lifecycle_exe.cc ('k') | services/service_manager/tests/service_manager/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698