diff options
Diffstat (limited to 'mojo/examples/launcher/launcher.cc')
-rw-r--r-- | mojo/examples/launcher/launcher.cc | 19 |
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; |