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

Side by Side Diff: mojo/services/dbus_echo/dbus_echo_service.cc

Issue 294833002: Mojo: more idiomatic C++ bindings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more Created 6 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 | Annotate | Revision Log
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 "base/at_exit.h" 5 #include "base/at_exit.h"
6 #include "base/callback.h" 6 #include "base/callback.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "mojo/common/channel_init.h" 12 #include "mojo/common/channel_init.h"
13 #include "mojo/dbus/dbus_external_service.h" 13 #include "mojo/dbus/dbus_external_service.h"
14 #include "mojo/embedder/embedder.h" 14 #include "mojo/embedder/embedder.h"
15 #include "mojo/public/cpp/environment/environment.h" 15 #include "mojo/public/cpp/environment/environment.h"
16 #include "mojo/services/dbus_echo/echo.mojom.h" 16 #include "mojo/services/dbus_echo/echo.mojom.h"
17 17
18 namespace { 18 namespace {
19 class EchoServiceImpl : public mojo::InterfaceImpl<mojo::EchoService> { 19 class EchoServiceImpl : public mojo::InterfaceImpl<mojo::EchoService> {
20 public: 20 public:
21 EchoServiceImpl() {} 21 EchoServiceImpl() {}
22 virtual ~EchoServiceImpl() {} 22 virtual ~EchoServiceImpl() {}
23 23
24 virtual void OnConnectionError() OVERRIDE {} 24 virtual void OnConnectionError() OVERRIDE {}
25 25
26 protected: 26 protected:
27 virtual void Echo( 27 virtual void Echo(
28 const mojo::String& in_to_echo, 28 mojo::String in_to_echo,
29 const mojo::Callback<void(mojo::String)>& callback) OVERRIDE { 29 const mojo::Callback<void(mojo::String)>& callback) OVERRIDE {
30 DVLOG(1) << "Asked to echo " << in_to_echo.To<std::string>(); 30 DVLOG(1) << "Asked to echo " << in_to_echo;
31 callback.Run(in_to_echo); 31 callback.Run(in_to_echo.Pass());
32 } 32 }
33 }; 33 };
34 34
35 const char kServiceName[] = "org.chromium.EchoService"; 35 const char kServiceName[] = "org.chromium.EchoService";
36 } // anonymous namespace 36 } // anonymous namespace
37 37
38 int main(int argc, char** argv) { 38 int main(int argc, char** argv) {
39 base::AtExitManager exit_manager; 39 base::AtExitManager exit_manager;
40 CommandLine::Init(argc, argv); 40 CommandLine::Init(argc, argv);
41 41
(...skipping 10 matching lines...) Expand all
52 52
53 base::MessageLoopForIO message_loop; 53 base::MessageLoopForIO message_loop;
54 base::RunLoop run_loop; 54 base::RunLoop run_loop;
55 55
56 mojo::DBusExternalService<EchoServiceImpl> echo_service(kServiceName); 56 mojo::DBusExternalService<EchoServiceImpl> echo_service(kServiceName);
57 echo_service.Start(); 57 echo_service.Start();
58 58
59 run_loop.Run(); 59 run_loop.Run();
60 return 0; 60 return 0;
61 } 61 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698