summaryrefslogtreecommitdiffstats
path: root/mojo/examples/launcher/launcher.cc
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/examples/launcher/launcher.cc')
-rw-r--r--mojo/examples/launcher/launcher.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/mojo/examples/launcher/launcher.cc b/mojo/examples/launcher/launcher.cc
index e39b3b3..302f30c 100644
--- a/mojo/examples/launcher/launcher.cc
+++ b/mojo/examples/launcher/launcher.cc
@@ -188,26 +188,27 @@ class LauncherController : public views::TextfieldController {
DISALLOW_COPY_AND_ASSIGN(LauncherController);
};
-class LauncherImpl : public ServiceConnection<Launcher, LauncherImpl>,
+class LauncherImpl : public InterfaceImpl<Launcher>,
public URLReceiver {
public:
- LauncherImpl()
- : launcher_controller_(this),
+ explicit LauncherImpl(Application* app)
+ : app_(app),
+ launcher_controller_(this),
pending_show_(false) {
- }
-
- void Initialize() {
screen_.reset(ScreenMojo::Create());
gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get());
NativeViewportPtr viewport;
- ConnectTo(shell(), "mojo:mojo_native_viewport_service", &viewport);
+ app_->ConnectTo("mojo:mojo_native_viewport_service", &viewport);
window_tree_host_.reset(new WindowTreeHostMojo(
viewport.Pass(), gfx::Rect(50, 50, 450, 60),
base::Bind(&LauncherImpl::HostContextCreated, base::Unretained(this))));
}
+ // Overridden from InterfaceImpl:
+ virtual void OnConnectionError() OVERRIDE {}
+
private:
// Overridden from Launcher:
virtual void Show() OVERRIDE {
@@ -250,6 +251,7 @@ class LauncherImpl : public ServiceConnection<Launcher, LauncherImpl>,
}
}
+ Application* app_;
scoped_ptr<ScreenMojo> screen_;
scoped_ptr<LauncherWindowTreeClient> window_tree_client_;
scoped_ptr<aura::client::FocusClient> focus_client_;
@@ -287,8 +289,7 @@ extern "C" LAUNCHER_EXPORT MojoResult CDECL MojoMain(
aura::Env::CreateInstance(true);
mojo::Application app(shell_handle);
- app.AddServiceConnector(
- new mojo::ServiceConnector<mojo::examples::LauncherImpl>());
+ app.AddService<mojo::examples::LauncherImpl>(&app);
loop.Run();
return MOJO_RESULT_OK;