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

Side by Side Diff: mojo/services/view_manager/main.cc

Issue 679213002: Minor cleanup of view manager (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: blah Created 6 years, 1 month 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 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/application_impl.h"
9 #include "mojo/services/view_manager/connection_manager.h" 10 #include "mojo/services/view_manager/connection_manager.h"
11 #include "mojo/services/view_manager/connection_manager_delegate.h"
10 12
11 namespace mojo { 13 namespace mojo {
12 namespace service { 14 namespace service {
13 15
14 class ViewManagerApp : public ApplicationDelegate { 16 class ViewManagerApp : public ApplicationDelegate,
17 public ConnectionManagerDelegate {
15 public: 18 public:
16 ViewManagerApp() {} 19 ViewManagerApp() {}
17 ~ViewManagerApp() override {} 20 ~ViewManagerApp() override {}
18 21
19 bool ConfigureIncomingConnection(ApplicationConnection* connection) override { 22 bool ConfigureIncomingConnection(ApplicationConnection* connection) override {
20 if (!connection_manager_.get()) { 23 if (!connection_manager_.get()) {
21 connection_manager_.reset(new ConnectionManager( 24 connection_manager_.reset(new ConnectionManager(connection, this));
22 connection, 25 return true;
23 base::Bind(&ViewManagerApp::OnNativeViewportDeleted,
24 base::Unretained(this))));
25 } 26 }
26 return true; 27 VLOG(1) << "ViewManager allows only one connection.";
28 return false;
27 } 29 }
28 30
29 private: 31 private:
30 void OnNativeViewportDeleted() { 32 // ConnectionManagerDelegate:
31 // TODO(sky): Need to tear down here. 33 void OnNativeViewportDestroyed() override { ApplicationImpl::Terminate(); }
34 void OnLostConnectionToWindowManager() override {
35 ApplicationImpl::Terminate();
32 } 36 }
33 37
34 scoped_ptr<ConnectionManager> connection_manager_; 38 scoped_ptr<ConnectionManager> connection_manager_;
35 39
36 DISALLOW_COPY_AND_ASSIGN(ViewManagerApp); 40 DISALLOW_COPY_AND_ASSIGN(ViewManagerApp);
37 }; 41 };
38 42
39 } // namespace service 43 } // namespace service
40 } // namespace mojo 44 } // namespace mojo
41 45
42 MojoResult MojoMain(MojoHandle shell_handle) { 46 MojoResult MojoMain(MojoHandle shell_handle) {
43 mojo::ApplicationRunnerChromium runner(new mojo::service::ViewManagerApp); 47 mojo::ApplicationRunnerChromium runner(new mojo::service::ViewManagerApp);
44 return runner.Run(shell_handle); 48 return runner.Run(shell_handle);
45 } 49 }
OLDNEW
« no previous file with comments | « mojo/services/view_manager/connection_manager_delegate.h ('k') | mojo/services/view_manager/view_manager_service_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698