Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / mojo / examples / demo_launcher / demo_launcher.cc
index 141a49a..f045d71 100644 (file)
@@ -5,30 +5,39 @@
 #include "base/basictypes.h"
 #include "base/bind.h"
 #include "base/run_loop.h"
-#include "mojo/public/cpp/application/application.h"
+#include "mojo/public/cpp/application/application_connection.h"
+#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/service_provider_impl.h"
+#include "mojo/public/interfaces/application/service_provider.mojom.h"
 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h"
 
 namespace mojo {
 namespace examples {
 
-class DemoLauncher : public Application {
+class DemoLauncher : public ApplicationDelegate {
  public:
   DemoLauncher() {}
   virtual ~DemoLauncher() {}
 
  private:
-  // Overridden from Application:
-  virtual void Initialize() MOJO_OVERRIDE {
-    ConnectTo<view_manager::ViewManagerInitService>("mojo:mojo_view_manager",
-                                                    &view_manager_init_);
-    view_manager_init_->EmbedRoot("mojo:mojo_window_manager",
-                                  base::Bind(&DemoLauncher::OnConnect,
-                                             base::Unretained(this)));
+  virtual void Initialize(ApplicationImpl* app) MOJO_OVERRIDE {
+    app->ConnectToService("mojo:mojo_view_manager", &view_manager_init_);
+  }
+
+  virtual bool ConfigureIncomingConnection(ApplicationConnection* connection)
+      MOJO_OVERRIDE {
+    ServiceProviderPtr sp;
+    BindToProxy(new ServiceProviderImpl, &sp);
+    view_manager_init_->Embed("mojo:mojo_window_manager", sp.Pass(),
+                              base::Bind(&DemoLauncher::OnConnect,
+                                         base::Unretained(this)));
+    return true;
   }
 
   void OnConnect(bool success) {}
 
-  view_manager::ViewManagerInitServicePtr view_manager_init_;
+  ViewManagerInitServicePtr view_manager_init_;
 
   DISALLOW_COPY_AND_ASSIGN(DemoLauncher);
 };
@@ -36,7 +45,7 @@ class DemoLauncher : public Application {
 }  // namespace examples
 
 // static
-Application* Application::Create() {
+ApplicationDelegate* ApplicationDelegate::Create() {
   return new examples::DemoLauncher;
 }