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

Side by Side Diff: examples/content_handler_demo/content_handler_demo.cc

Issue 1975253002: ApplicationConnection devolution, part 2.1. (Closed) Base URL: https://github.com/domokit/mojo.git@work792-x-work791_service_registry_spimpl
Patch Set: Created 4 years, 7 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
« no previous file with comments | « examples/bank_app/bank.cc ('k') | examples/echo/README.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stdio.h> 5 #include <stdio.h>
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "mojo/public/c/system/main.h" 10 #include "mojo/public/c/system/main.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 void StartApplication(InterfaceRequest<Application> application, 85 void StartApplication(InterfaceRequest<Application> application,
86 URLResponsePtr response) override { 86 URLResponsePtr response) override {
87 // The application will delete itself after being connected to. 87 // The application will delete itself after being connected to.
88 new PrintBodyApplication(application.Pass(), response->body.Pass()); 88 new PrintBodyApplication(application.Pass(), response->body.Pass());
89 } 89 }
90 90
91 StrongBinding<ContentHandler> binding_; 91 StrongBinding<ContentHandler> binding_;
92 MOJO_DISALLOW_COPY_AND_ASSIGN(ContentHandlerImpl); 92 MOJO_DISALLOW_COPY_AND_ASSIGN(ContentHandlerImpl);
93 }; 93 };
94 94
95 class ContentHandlerApp : public ApplicationDelegate, 95 class ContentHandlerApp : public ApplicationDelegate {
96 public InterfaceFactory<ContentHandler> {
97 public: 96 public:
98 ContentHandlerApp() {} 97 ContentHandlerApp() {}
99 ~ContentHandlerApp() override {} 98 ~ContentHandlerApp() override {}
100 99
101 void Initialize(ApplicationImpl* app) override {} 100 void Initialize(ApplicationImpl* app) override {}
102 101
103 bool ConfigureIncomingConnection(ApplicationConnection* connection) override { 102 bool ConfigureIncomingConnection(ApplicationConnection* connection) override {
104 connection->AddService(this); 103 connection->GetServiceProviderImpl().AddService<ContentHandler>(
104 [](const ConnectionContext& connection_context,
105 InterfaceRequest<ContentHandler> content_handler_request) {
106 new ContentHandlerImpl(content_handler_request.Pass());
107 });
105 return true; 108 return true;
106 } 109 }
107 110
108 void Create(const ConnectionContext& connection_context,
109 InterfaceRequest<ContentHandler> request) override {
110 new ContentHandlerImpl(request.Pass());
111 }
112
113 private: 111 private:
114 MOJO_DISALLOW_COPY_AND_ASSIGN(ContentHandlerApp); 112 MOJO_DISALLOW_COPY_AND_ASSIGN(ContentHandlerApp);
115 }; 113 };
116 114
117 } // namespace examples 115 } // namespace examples
118 } // namespace mojo 116 } // namespace mojo
119 117
120 MojoResult MojoMain(MojoHandle application_request) { 118 MojoResult MojoMain(MojoHandle application_request) {
121 mojo::ApplicationRunner runner( 119 mojo::ApplicationRunner runner(
122 std::unique_ptr<mojo::examples::ContentHandlerApp>( 120 std::unique_ptr<mojo::examples::ContentHandlerApp>(
123 new mojo::examples::ContentHandlerApp())); 121 new mojo::examples::ContentHandlerApp()));
124 return runner.Run(application_request); 122 return runner.Run(application_request);
125 } 123 }
OLDNEW
« no previous file with comments | « examples/bank_app/bank.cc ('k') | examples/echo/README.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698