#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);
};
} // namespace examples
// static
-Application* Application::Create() {
+ApplicationDelegate* ApplicationDelegate::Create() {
return new examples::DemoLauncher;
}