Index: mojo/services/public/cpp/view_manager/view_manager.h |
diff --git a/mojo/services/public/cpp/view_manager/view_manager.h b/mojo/services/public/cpp/view_manager/view_manager.h |
index 54caf789f7d8c95066d0ffc050371b8ea62463a4..4242bcca2e58bda5411c53a1ce4f32b4eeedb922 100644 |
--- a/mojo/services/public/cpp/view_manager/view_manager.h |
+++ b/mojo/services/public/cpp/view_manager/view_manager.h |
@@ -18,28 +18,19 @@ class Application; |
namespace view_manager { |
class View; |
+class ViewManagerDelegate; |
class ViewManagerSynchronizer; |
class ViewTreeNode; |
// Approximately encapsulates the View Manager service. |
// Has a synchronizer that keeps a client model in sync with the service. |
// Owned by the connection. |
-// |
-// TODO: displays |
class ViewManager { |
public: |
- typedef base::Callback<void(ViewManager*, ViewTreeNode*)> RootCallback; |
- |
~ViewManager(); |
- // |ready_callback| is run when the ViewManager connection is established |
- // and ready to use. |
- static void Create( |
- Application* application, |
- const RootCallback& root_added_callback, |
- const RootCallback& root_removed_callback); |
- // Blocks until ViewManager is ready to use. |
- static ViewManager* CreateBlocking(Application* application); |
+ // Delegate is owned by the caller. |
+ static void Create(Application* application, ViewManagerDelegate* delegate); |
const std::vector<ViewTreeNode*>& roots() { return roots_; } |
@@ -48,16 +39,17 @@ class ViewManager { |
private: |
friend class ViewManagerPrivate; |
+ friend class ViewManagerSynchronizer; |
+ |
typedef std::map<TransportNodeId, ViewTreeNode*> IdToNodeMap; |
typedef std::map<TransportViewId, View*> IdToViewMap; |
+ typedef std::map<TransportConnectionId, |
+ ViewManagerSynchronizer*> SynchronizerMap; |
- ViewManager(Application* application, |
- const RootCallback& root_added_callback, |
- const RootCallback& root_removed_callback); |
- |
- RootCallback root_added_callback_; |
- RootCallback root_removed_callback_; |
+ ViewManager(ViewManagerSynchronizer* synchronizer, |
+ ViewManagerDelegate* delegate); |
+ ViewManagerDelegate* delegate_; |
ViewManagerSynchronizer* synchronizer_; |
std::vector<ViewTreeNode*> roots_; |