OLD | NEW |
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 "examples/indirect_service/indirect_service_demo.mojom.h" | 5 #include "examples/indirect_service/indirect_service_demo.mojom.h" |
6 #include "mojo/public/c/system/main.h" | 6 #include "mojo/public/c/system/main.h" |
7 #include "mojo/public/cpp/application/application_connection.h" | 7 #include "mojo/public/cpp/application/application_connection.h" |
8 #include "mojo/public/cpp/application/application_delegate.h" | 8 #include "mojo/public/cpp/application/application_delegate.h" |
9 #include "mojo/public/cpp/application/application_runner.h" | 9 #include "mojo/public/cpp/application/application_runner.h" |
10 #include "mojo/public/cpp/application/interface_factory_impl.h" | 10 #include "mojo/public/cpp/application/interface_factory_impl.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 IntegerServicePtr integer_service_; | 46 IntegerServicePtr integer_service_; |
47 std::vector<Binding<IntegerService>*> bindings_; | 47 std::vector<Binding<IntegerService>*> bindings_; |
48 StrongBinding<IndirectIntegerService> binding_; | 48 StrongBinding<IndirectIntegerService> binding_; |
49 }; | 49 }; |
50 | 50 |
51 class IndirectIntegerServiceAppDelegate | 51 class IndirectIntegerServiceAppDelegate |
52 : public ApplicationDelegate, | 52 : public ApplicationDelegate, |
53 public InterfaceFactory<IndirectIntegerService> { | 53 public InterfaceFactory<IndirectIntegerService> { |
54 public: | 54 public: |
55 bool ConfigureIncomingConnection( | 55 bool ConfigureIncomingConnection( |
56 ApplicationConnection* connection) override { | 56 ApplicationConnection* connection, const std::string& url) override { |
57 connection->AddService(this); | 57 connection->AddService(this); |
58 return true; | 58 return true; |
59 } | 59 } |
60 | 60 |
61 private: | 61 private: |
62 // InterfaceFactory<IndirectIntegerService> | 62 // InterfaceFactory<IndirectIntegerService> |
63 void Create(ApplicationConnection* app, | 63 void Create(ApplicationConnection* app, |
64 InterfaceRequest<IndirectIntegerService> request) override { | 64 InterfaceRequest<IndirectIntegerService> request) override { |
65 new IndirectIntegerServiceImpl(request.Pass()); | 65 new IndirectIntegerServiceImpl(request.Pass()); |
66 } | 66 } |
67 }; | 67 }; |
68 | 68 |
69 } // namespace examples | 69 } // namespace examples |
70 } // namespace mojo | 70 } // namespace mojo |
71 | 71 |
72 MojoResult MojoMain(MojoHandle shell_handle) { | 72 MojoResult MojoMain(MojoHandle shell_handle) { |
73 mojo::ApplicationRunner runner( | 73 mojo::ApplicationRunner runner( |
74 new mojo::examples::IndirectIntegerServiceAppDelegate); | 74 new mojo::examples::IndirectIntegerServiceAppDelegate); |
75 return runner.Run(shell_handle); | 75 return runner.Run(shell_handle); |
76 } | 76 } |
77 | |
OLD | NEW |