Index: mojo/examples/media_viewer/media_viewer.cc |
diff --git a/mojo/examples/media_viewer/media_viewer.cc b/mojo/examples/media_viewer/media_viewer.cc |
index 58cb3ed1e1770c4d194e10a5ad6483466e9e232e..dbfde53c1edf8a6126a1f2fa507b70c481ac172f 100644 |
--- a/mojo/examples/media_viewer/media_viewer.cc |
+++ b/mojo/examples/media_viewer/media_viewer.cc |
@@ -12,10 +12,12 @@ |
#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/context_interface_factory.h" |
#include "mojo/public/cpp/bindings/interface_impl.h" |
#include "mojo/services/public/cpp/view_manager/node.h" |
#include "mojo/services/public/cpp/view_manager/view.h" |
#include "mojo/services/public/cpp/view_manager/view_manager.h" |
+#include "mojo/services/public/cpp/view_manager/view_manager_client_factory.h" |
#include "mojo/services/public/cpp/view_manager/view_manager_delegate.h" |
#include "mojo/services/public/interfaces/navigation/navigation.mojom.h" |
#include "mojo/views/native_widget_view_manager.h" |
@@ -184,8 +186,7 @@ class ControlPanel : public views::ButtonListener { |
class NavigatorImpl : public InterfaceImpl<navigation::Navigator> { |
public: |
- NavigatorImpl(ApplicationConnection* connection, |
- MediaViewer* viewer) : viewer_(viewer) {} |
+ explicit NavigatorImpl(MediaViewer* viewer) : viewer_(viewer) {} |
virtual ~NavigatorImpl() {} |
private: |
@@ -202,13 +203,17 @@ class NavigatorImpl : public InterfaceImpl<navigation::Navigator> { |
class MediaViewer : public ApplicationDelegate, |
public view_manager::ViewManagerDelegate, |
- public ControlPanel::Delegate { |
+ public ControlPanel::Delegate, |
+ public ContextInterfaceFactory<NavigatorImpl, MediaViewer> { |
public: |
- MediaViewer() : app_(NULL), |
- view_manager_(NULL), |
- control_node_(NULL), |
- content_node_(NULL), |
- control_panel_(this) { |
+ MediaViewer() |
+ : ContextInterfaceFactory(this), |
+ app_(NULL), |
+ view_manager_(NULL), |
+ view_manager_client_factory_(this), |
+ control_node_(NULL), |
+ content_node_(NULL), |
+ control_panel_(this) { |
handler_map_["image/png"] = "mojo:mojo_png_viewer"; |
} |
@@ -265,8 +270,8 @@ class MediaViewer : public ApplicationDelegate, |
virtual bool ConfigureIncomingConnection(ApplicationConnection* connection) |
OVERRIDE { |
- connection->AddService<NavigatorImpl>(this); |
- view_manager::ViewManager::ConfigureIncomingConnection(connection, this); |
+ connection->AddServiceFactory(this); |
+ connection->AddServiceFactory(&view_manager_client_factory_); |
return true; |
} |
@@ -329,6 +334,7 @@ class MediaViewer : public ApplicationDelegate, |
ApplicationImpl* app_; |
scoped_ptr<ViewsInit> views_init_; |
view_manager::ViewManager* view_manager_; |
+ view_manager::ViewManagerClientFactory view_manager_client_factory_; |
view_manager::Node* control_node_; |
view_manager::Node* content_node_; |
ControlPanel control_panel_; |