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

Side by Side Diff: services/service_manager/tests/service_manager/embedder.cc

Issue 2701883002: service_manager: More consistent Service lifecycle API (Closed)
Patch Set: . Created 3 years, 10 months 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 <memory> 5 #include <memory>
6 6
7 #include "base/at_exit.h" 7 #include "base/at_exit.h"
8 #include "base/command_line.h" 8 #include "base/command_line.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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 ~Embedder() override {} 45 ~Embedder() override {}
46 46
47 private: 47 private:
48 // service_manager::Service: 48 // service_manager::Service:
49 bool OnConnect(const service_manager::ServiceInfo& remote_info, 49 bool OnConnect(const service_manager::ServiceInfo& remote_info,
50 service_manager::InterfaceRegistry* registry) override { 50 service_manager::InterfaceRegistry* registry) override {
51 registry->AddInterface<service_manager::mojom::ServiceFactory>(this); 51 registry->AddInterface<service_manager::mojom::ServiceFactory>(this);
52 return true; 52 return true;
53 } 53 }
54 54
55 bool OnStop() override { 55 bool OnServiceManagerConnectionLost() override {
56 base::MessageLoop::current()->QuitWhenIdle(); 56 base::MessageLoop::current()->QuitWhenIdle();
57 return true; 57 return true;
58 } 58 }
59 59
60 // service_manager::InterfaceFactory<ServiceFactory>: 60 // service_manager::InterfaceFactory<ServiceFactory>:
61 void Create(const service_manager::Identity& remote_identity, 61 void Create(const service_manager::Identity& remote_identity,
62 service_manager::mojom::ServiceFactoryRequest request) override { 62 service_manager::mojom::ServiceFactoryRequest request) override {
63 service_factory_bindings_.AddBinding(this, std::move(request)); 63 service_factory_bindings_.AddBinding(this, std::move(request));
64 } 64 }
65 65
(...skipping 12 matching lines...) Expand all
78 78
79 DISALLOW_COPY_AND_ASSIGN(Embedder); 79 DISALLOW_COPY_AND_ASSIGN(Embedder);
80 }; 80 };
81 81
82 } // namespace 82 } // namespace
83 83
84 MojoResult ServiceMain(MojoHandle service_request_handle) { 84 MojoResult ServiceMain(MojoHandle service_request_handle) {
85 service_manager::ServiceRunner runner(new Embedder); 85 service_manager::ServiceRunner runner(new Embedder);
86 return runner.Run(service_request_handle); 86 return runner.Run(service_request_handle);
87 } 87 }
OLDNEW
« no previous file with comments | « services/service_manager/tests/lifecycle/app_client.cc ('k') | services/shape_detection/shape_detection_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698