| 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 "mojo/application/application_runner_chromium.h" | 5 #include "mojo/application/application_runner_chromium.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/interface_factory.h" |  | 
| 10 #include "services/clipboard/clipboard_standalone_impl.h" | 9 #include "services/clipboard/clipboard_standalone_impl.h" | 
| 11 | 10 | 
| 12 class Delegate : public mojo::ApplicationDelegate, | 11 class Delegate : public mojo::ApplicationDelegate { | 
| 13                  public mojo::InterfaceFactory<mojo::Clipboard> { |  | 
| 14  public: | 12  public: | 
| 15   Delegate() {} | 13   Delegate() {} | 
| 16   ~Delegate() override {} | 14   ~Delegate() override {} | 
| 17 | 15 | 
| 18   // mojo::ApplicationDelegate implementation. | 16   // mojo::ApplicationDelegate implementation. | 
| 19   bool ConfigureIncomingConnection( | 17   bool ConfigureIncomingConnection( | 
| 20       mojo::ApplicationConnection* connection) override { | 18       mojo::ApplicationConnection* connection) override { | 
| 21     connection->AddService(this); | 19     connection->GetServiceProviderImpl().AddService<mojo::Clipboard>( | 
|  | 20         [](const mojo::ConnectionContext& connection_context, | 
|  | 21            mojo::InterfaceRequest<mojo::Clipboard> clipboard_request) { | 
|  | 22           // TODO(erg): Write native implementations of the clipboard. For now, | 
|  | 23           // we just build a clipboard which doesn't interact with the system. | 
|  | 24           new clipboard::ClipboardStandaloneImpl(clipboard_request.Pass()); | 
|  | 25         }); | 
| 22     return true; | 26     return true; | 
| 23   } | 27   } | 
| 24 |  | 
| 25   // mojo::InterfaceFactory<mojo::Clipboard> implementation. |  | 
| 26   void Create(const mojo::ConnectionContext& connection_context, |  | 
| 27               mojo::InterfaceRequest<mojo::Clipboard> request) override { |  | 
| 28     // TODO(erg): Write native implementations of the clipboard. For now, we |  | 
| 29     // just build a clipboard which doesn't interact with the system. |  | 
| 30     new clipboard::ClipboardStandaloneImpl(request.Pass()); |  | 
| 31   } |  | 
| 32 }; | 28 }; | 
| 33 | 29 | 
| 34 MojoResult MojoMain(MojoHandle application_request) { | 30 MojoResult MojoMain(MojoHandle application_request) { | 
| 35   mojo::ApplicationRunnerChromium runner(new Delegate); | 31   mojo::ApplicationRunnerChromium runner(new Delegate); | 
| 36   return runner.Run(application_request); | 32   return runner.Run(application_request); | 
| 37 } | 33 } | 
| OLD | NEW | 
|---|